IDaaSを使用してAzure Active Directory(AD)B2C SSOを実装する
このチュートリアルでは、Microsoft Azure Active Directory B2C(Azure AD B2C)を使用したIDaaS SSOの実装方法について説明します。 これは、Microsoft Azure ADをIdP、KurocoをSPとするOAuth認証を使用したSSOです。
このドキュメントは、IDaaS機能を使用するActive DirectoryユーザーのSSO実装について説明しています。 MicrosoftのOAuth機能を使用したOAuth SPログインについては、Microsoftを利用してOAuth認証によるSSOを実装するを参照してください。
前提条件
このチュートリアルはAzure ADテナントアカウントを所持していることが前提となります。
Kuruco管理画面でIDaaS設定を追加する
まずは、Kurocoの管理ページにIDaaS設定を追加します。
1. IDaaS SP設定ページにアクセス
IDaaS SP編集を参考に、IDaaS SP編集ページにアクセスします。
2. SP設定を追加
IDaaS SP編集ページに以下を入力し、「追加」ボタンをクリックします。
この段階では有効のチェックを外してください。クライアントID、秘密鍵の入力不要で追加が可能です。
項目 | 説明 |
---|---|
ログインIDaaS SP名 | 任意の名前を入力します。 |
ターゲットドメイン | IDaaS SPのターゲットドメイン 本チュートリアルでは管理画面に設定して進めます。 |
タイプ | AzureADB2C |
Emailを利用せずメンバー拡張項目にIDを格納してリンクする | 有効にするのチェックを外すemails 0 |
追加したIDaaS SPを開き、[ログインURL]を控えます。
後ほど、Microsoft Azure Portalで使用します。
(URLの形式は https://<管理画面URL>/direct/login/idaas_login/spid=<SP ID>
になります。)
Microsoft Azure Active Directoryの構成
次に、Microsoft Azure PortalでAzure AD B2Cアプリを登録します。
画面はMicrosoftの仕様によって変更される可能性があります。
1. Azure AD B2Cダッシュボードにアクセス
Azure PortalのダッシュボードからAzure AD B2C構成にアクセスします。
クイックアクセスに表示される場合は選択してください。
ない場合は、検索を使用して[Azure AD B2C]を検索し、開きます。
2. 新しいアプリを登録
[アプリの登録]をクリックし、[新規登録]をクリックします。これによりアプリ作成画面に移動します。これがMicrosoft Azure側のIdPアプリになります。
アプリケーションの登録画面で、以下のように入力します。
項目 | 説明 |
---|---|
名前 | 任意の名前を入力してください。これはKurocoと同じである必要はありません。MicrosoftのIdPアプリの名前となります。 |
サポートされているアカウントの種類 | このアプリケーションで有効にするアカウントの種類。アプリケーションを利用するユーザーを選択してください。 |
リダイレクト URI - プラットフォーム | ドロップダウンから[Web]を選択します。 |
リダイレクトURL - URL | 前のステップで控えたKuroco管理画面IDaaS SP編集画面の[ログインURL]を入力します。 |
アクセス許可 | チェックボックスをオンにして、アプリケーションがopenIdの詳細にアクセスする権限を付与します。 |
[登録]をクリックします。
アプリが作成されると、以下のアプリケーションダッシュボードが表示されます。
3. アプリケーション (クライアント) IDをコピー
[アプリケーション (クライアント) ID]をコピーします。これはKurocoの IDaaS SP編集画面で使用します。
4. アクセストークンフローを有効にする
[認証]をクリックし、[アクセストークン]のチェックボックスをオンにして[保存]をクリックします。これにより、暗黙的なフローの使用が可能になります。
5. クライアントシークレットを生成する
[証明書とシークレット]をクリックし、[新しいクライアントシークレット]をクリックします。
サイドモーダルで、説明と、シークレットの有効期限を設定して[追加]をクリックします。
有効期限が切れた場合、SSOによるログインが機能しなくなります。
新しいシークレットをMicrosoftで作成し、Kurocoに再設定してください。
シークレットの値をコピーします。画面を移動すると表示されませんので注意してください。この値はKuroco IDaaS SP編集管理画面で使用します。
6. ユーザー フローを作成する
Ad B2C構成ダッシュボードから、[ユーザー フロー]をクリックし、[ユーザー フローの作成]をクリックします。
(ユーザー フローは、Azure AD B2Cがログインと登録をどのように処理するかを定義します。フローがすでに設定されている場合は、ユーザー フロー作成の手順をスキップして構いません。)
サイドメニューにユーザーフローが存在しない場合は、Microsoft Entra ディレクトリではなく Azure AD B2C ディレクトリにいることを確認してください。Azure AD B2C 機能を使用するには、既存の従業員ベースの Microsoft Entra テナントとは別の Azure AD B2C テナントを作成します。
ユーザーフローの入り口を選択します。ここで新しいユーザー登録を許可するかどうかを構成できます。このサインアップ構成は、KurocoのIDaaS SP編集画面で見られるKuroco新規ユーザー登録とは異なります。
本ドキュメントでは[サインアップとサインイン]を選択して進めます。
[推奨]バージョンを選択し、[作成]をクリックします。
ユーザーフロー構成画面で、以下の表に従ってフィールドを設定します。データを入力した後、[作成]をクリックします。
項目 | 説明 |
---|---|
名前 | ユーザーフローの識別子。これは一意であり、将来変更できません。 |
IDプロバイダー | ユーザーがMicrosoft IDaaSにログインする方法を選択します。この例では、電子メール/パスワードに基づくログインを選択します。 |
多要素認証 | ユーザーがAzure ADでMFAをどのように構成するかを選択します。この例では、メールを選択します。これは、ユーザー登録のためのメールを検証するためのメールOTPベースのMFAです。 |
ユーザー属性とトークン要求 | ユーザーから収集され、Kurocoに渡すデータ。追加のデータが構成されている場合、それはKurocoのIDaaS SP編集画面で設定する必要があります。このチュートリアルでは、名と姓をKurocoに渡すために使用されます。 |
[作成]をクリックし、ユーザーフローを作成します。 作成したユーザーフローは、ユーザーフローリストに表示されます。フローを編集するには、フローをクリックします。
(注意: Kurocoにメールを渡す必要がない場合は、このステップをスキップできます)
[アプリケーション要求]をクリックし、[メールアドレス]のチェックボックスをオンにして保存します。
これにより、設定で1つのメールアドレスのみを持つように設定されていても、ユーザーが複数のメールアドレスを持っていても、ユーザーのメールアドレスは同じ配列形式でKurocoに渡されるようになります。
7. 構成URLをコピーする
[概要]をクリックし、[ユーザーフローを実行します]をクリックしてから、リソースリンクを新しいタブで開きます。リンクの形式は次のようになります
(https://<AD名>.b2clogin.com/<ADドメイン>/v2.0/.well-known/openid-configuration?p=B2C_1_<ユーザーフロー名>
)。
JSONデータが表示されます。 [authorization_endpoint]、[token_endpoint]、および[jwks_uri]をコピーしてください。これらはKurocoのIDaaS SP編集画面で使用します。URLの形式を以下の表に示します。
URL | 形式 |
---|---|
authorization_endpoint | https://<AD Name>.b2clogin.com/<AD Domain>/oauth2/v2.0/authorize?p=b2c_1_<User Flow Name> |
token_endpoint | https://<AD Name>.b2clogin.com/<AD Domain>/oauth2/v2.0/token?p=b2c_1_<User Flow Name> |
jwks_uri | https://<AD Name>.b2clogin.com/<AD Domain>/discovery/v2.0/keys?p=b2c_1_<User Flow Name> |
ユーザーフローが1つだけの場合は、ユーザーフロー名の代わりにデフォルトが使用されることがあります。
これでMicrosoft Azure側で必要な設定が完了しました。
次に、KurocoのIDaaS SP編集画面での設定完了が必要です。
Kuroco管理画面でIDaaS SP編集画面の設定をする
1. IDaaS SP編集画面の設定
KurocoのIDaaS SP編集画面で、[クライアントID (Client ID) ]、[クライアントの秘密鍵 (Client Secret) ]、[承認URL]、[トークンURL]、および[JWKS URI]のコピーした値を入力してください。[リソースURL]は空のままにしてください。
2. ユーザーの識別方法を設定
この設定はサイトの構成によります。
Kurocoはユーザーの識別にEメールまたはAzureユーザーオブジェクト識別子を使用できます。
Eメールを利用する場合は、[Emailを利用せずメンバー拡張項目にIDを格納してリンクする]のチェックボックスを外す必要があります。
Eメールをユーザー識別のキーに利用する場合は以下のように設定します。
Eメールを使用しない場合は、有効にするのチェックボックスにチェックします。その場合、open_idが保存されるメンバーの拡張項目を選択する必要があります。
(注: 使用するメンバーの拡張項目のタイプはテキストである必要があります)
3. IDaaS SPを有効にする
最後に[有効]のチェックボックスをオンにし、[更新する]をクリックしてください。
これでKuroco側のIDaaS SPも設定が完了です。
使用方法
KurocoのIDaaS SPページに遷移します。
作成したSP構成の[ログインIDaaS SP Name]をクリックしてください。
[ログインURL]が確認できます。
URLをクリックすると、Azure AD B2Cログインページにリンクされます。
ここでAzure ADユーザーのEメールとパスワードを入力し、Kuroco SPにログインできます。
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。