この記事は、ニフクラブログで2021-04-19に公開された記事を移転したものです。
こんにちは、ニフクラ技術支援チームです。
クラウド上にシステムを構築する場合、「ゼロトラスト」のアーキテクチャ-に基づいてセキュリティ対策を検討することがトレンドとなっています。
ゼロトラストセキュリティを段階的に適用していく際に用いられる要素としてシングルサインオン(SSO)による認証の強化があげられます。
今回はMicrosoft社のAzure Active Directory(以降Azure AD)を認証基盤として使用し、ニフクラのコントロールパネルにSSOでログインする検証を実施してみました。
SSOで使用される認証方式にはいくつか種類がありますが、ニフクラのコントロールパネルで使用可能な認証方式は「代行入力方式」です。
Azure ADの「パスワードベース認証」という機能を使用して、代行入力方式のSSO環境を作っていきます。
また、ニフクラのマルチアカウント機能で権限を絞った「子アカウント」を用意し、親アカウント・子アカウントそれぞれでSSOが利用できることを確認していきます。
構成イメージ
Azure ADにおけるSSOについてはこちらをご参照ください。
シングルサインオン(他社サイトへのリンクです)
前提条件
本ブログは、以下の前提知識がある方を想定しています。
- Azure ADの基本的な操作、サービスを利用する知識
(Azure AD、SSO認証、テナント作成、ユーザー作成など) - ニフクラの基本的な操作
利用リソース
検証に利用したリソースは以下の通りです。
①Azureリソース
リソース | 数量 |
---|---|
ユーザー(他社サイトへのリンクです) | 2 |
テナント(他社サイトへのリンクです) | 1 |
アプリケーション(他社サイトへのリンクです) | 2 |
②ニフクラリソース
リソース | 数量 |
---|---|
マルチアカウント | 1 |
検証内容
検証手順として、以下の内容を実施します。
①ニフクラでマルチアカウント作成
②Azure AD テナント、ユーザー、アプリケーション作成
③Azure AD SSO設定
④クライアント設定
⑤ログイン確認
事前設定
①ニフクラ設定
以下手順で子アカウントを作成しています。
①-1 画面右上、アカウント名を選択して『アカウントメニュー』を開き『アカウント管理』を選択する。
①-2 アカウント管理メニューから『⊕アカウント作成』を選択する。
①-3 『アカウント管理 - アカウント作成』の『01 基本設定』でアカウント、パスワード、メモ、権限を入力/選択後『確認へ』を選択する。
項目 | 設定値 |
---|---|
アカウント名 | 任意のユーザー名 |
パスワード | 任意のパスワード |
メモ | 任意の内容 |
①-4 権限を以下から1つ選択する。
権限名 | 概要 |
---|---|
閲覧権限 | すべての機能の閲覧が可能 |
運用者権限 | 限定した機能の操作、すべての機能の閲覧が可能 |
管理者権限 | すべての機能の閲覧・操作が可能 |
※各権限の比較表はこちらをご参照ください。
①-5 『02 確認』で内容を確認後『作成する』を選択する。
※子アカウントを作成後、アカウントの基本情報から「ログインURL」を確認しておきます。このURLは後続の設定で使用します。
②Azure設定
Azure ADでは、SSOに使用されるログインURLと認証情報が「アプリ」という単位で管理されます。
アプリ内の認証情報(今回はニフクラアカウント情報)とAzure ADのユーザーが紐づけられることで、SSOが可能になります。
ここではAzure ADのアプリ作成と、SSOに必要な設定を行っていきます。
②-1 Azure ADアカウント・テナント・アプリの作成を行います。
詳細な手順については、説明を省略させていただきます。詳しくはAzureの公式ドキュメント(他社サイトへのリンクです)をご参照ください。
今回の検証では、ニフクラのマルチアカウントに対応するように2つのAzure ADユーザーを使用します。
また、アプリはニフクラの親アカウント用・子アカウント用の2つ作成します。
②-2 アプリの設定を行います。今回の検証で必須となる設定は以下の通りです。
・パスワードベース認証を選択する
・Azure ADユーザーをアプリに紐づける
・資格情報を登録する
注意したい点としては、ログインURLを一つのアプリに一つしか設定できない点です。
ニフクラのマルチアカウントは親アカウントと子アカウントでログインURLが異なるため、それぞれにアプリを作成する必要があります。
③クライアント設定
代理入力方式でSSOを行う場合、ブラウザ拡張機能「My Apps Secure Sign-in Extension」を使用するWebブラウザにインストールする必要があります。
WebブラウザにはGoogle Chromeを使用し、Chromeウェブストアから「My Apps Secure Sign-in Extension」をインストールします。
以下リンクから入手可能です。
My Apps Secure Sign-in Extension(他社サイトへのリンクです)
『Choromeに追加』→『拡張機能を追加』→「同期を有効にする…」を選択してインストールします。
検証実施
用意した2つのAzure ADユーザーで、ニフクラのコントロールパネルにSSOできることを確認していきます。
①親アカウント
①-1 Azure ADのアプリ管理画面である「MyApps」(他社サイトへのリンクです)にアクセスし、ニフクラ親アカウントと紐づけたAzure ADユーザーでログインします。
①-2 MyAppsのアプリ一覧画面で、作成したアプリ「ニフクラ」を選択します。
①-3 ニフクラコントロールパネルのログイン画面に遷移し、そのまま自動でID/パスワードが入力されログイン処理が走ります。
①-4 親アカウントでニフクラコントロールパネルにログインできたことを確認します。
②子アカウント
ログイン手順は前述の親アカウントと同様です。ログインするアカウントはニフクラ子アカウントと紐づけたAzure ADユーザーを使用します。
ログイン後のコントロールパネルで子アカウントでログインされていることを確認します。
まとめ
今回はAzure ADとニフクラのマルチアカウントを利用して、コントロールパネルにシングルサインオンでのログインを検証してみました。
本検証でのポイントは以下の通りになります。
・認証方式は代理入力方式(Azure ADでは「パスワードベース認証」)を使用すること。
・マルチアカウントの親アカウントと子アカウントで、Azure ADのアプリを分けること。
※今回は子アカウントを一つ使用して検証しましたが、複数の子アカウントの認証情報は一つのアプリにまとめることが可能です。
すでにアカウント管理にAzure ADを使用している環境だと、作業としてはアプリを追加するのみであるため、より簡単にSSOを導入できると思います。
本記事がセキュリティ構築の助けになれば幸いです。
注意事項
- 本記事に記載されている会社名、製品名等の固有名詞は各社の商号、登録商標または商標です。
- 本記事の他社サイトへのリンクにつきまして、リンク切れの際はご容赦ください。
- 本記事で記載した各サービス/ニフクラの機能等は、2021年3月時点の情報です。ご利用の際は、各サービス/ニフクラの機能の最新情報をご確認ください。
- 本記事の他社サービス利用に関する記載については、ニフクラのサポート対象外となります。ご自身の責任でご利用ください。