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です。
前提条件
このチュートリアルは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にメールを渡す必要がない場合は、このステップをスキップできます)
[アプリケーション要求]をクリックし、[メールアドレス]のチェックボックスをオンにして保存します。
これにより、ユーザーの複数のメールアドレスがKurocoに渡されます。設定で1つのメールアドレスのみを持つように構成されていても、構造は同じです。
これにより、設定で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コミュニティにご参加ください。