メインコンテンツまでスキップ
提供版: β / RC

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、秘密鍵の入力不要で追加が可能です。

Image from Gyazo

Image from Gyazo

項目説明
ログイン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アプリを登録します。

Image from Gyazo

備考

画面はMicrosoftの仕様によって変更される可能性があります。

1. Azure AD B2Cダッシュボードにアクセス
Azure PortalのダッシュボードからAzure AD B2C構成にアクセスします。 クイックアクセスに表示される場合は選択してください。

Image from Gyazo

ない場合は、検索を使用して[Azure AD B2C]を検索し、開きます。

Image from Gyazo

2. 新しいアプリを登録
[アプリの登録]をクリックし、[新規登録]をクリックします。これによりアプリ作成画面に移動します。これがMicrosoft Azure側のIdPアプリになります。

Image from Gyazo

アプリケーションの登録画面で、以下のように入力します。

Image from Gyazo

項目説明
名前任意の名前を入力してください。これはKurocoと同じである必要はありません。MicrosoftのIdPアプリの名前となります。
サポートされているアカウントの種類このアプリケーションで有効にするアカウントの種類。アプリケーションを利用するユーザーを選択してください。
リダイレクト URI - プラットフォームドロップダウンから[Web]を選択します。
リダイレクトURL - URL前のステップで控えたKuroco管理画面IDaaS SP編集画面の[ログインURL]を入力します。
アクセス許可チェックボックスをオンにして、アプリケーションがopenIdの詳細にアクセスする権限を付与します。

[登録]をクリックします。

アプリが作成されると、以下のアプリケーションダッシュボードが表示されます。

Image from Gyazo

3. アプリケーション (クライアント) IDをコピー
[アプリケーション (クライアント) ID]をコピーします。これはKurocoの IDaaS SP編集画面で使用します。

Image from Gyazo

4. アクセストークンフローを有効にする
[認証]をクリックし、[アクセストークン]のチェックボックスをオンにして[保存]をクリックします。これにより、暗黙的なフローの使用が可能になります。

Image from Gyazo

5. クライアントシークレットを生成する
[証明書とシークレット]をクリックし、[新しいクライアントシークレット]をクリックします。

Image from Gyazo

サイドモーダルで、説明と、シークレットの有効期限を設定して[追加]をクリックします。

注意

有効期限が切れた場合、SSOによるログインが機能しなくなります。
新しいシークレットをMicrosoftで作成し、Kurocoに再設定してください。

Image from Gyazo

シークレットの値をコピーします。画面を移動すると表示されませんので注意してください。この値はKuroco IDaaS SP編集管理画面で使用します。

Image from Gyazo

6. ユーザー フローを作成する
Ad B2C構成ダッシュボードから、[ユーザー フロー]をクリックし、[ユーザー フローの作成]をクリックします。
(ユーザー フローは、Azure AD B2Cがログインと登録をどのように処理するかを定義します。フローがすでに設定されている場合は、ユーザー フロー作成の手順をスキップして構いません。)

Image from Gyazo

ヒント

サイドメニューにユーザーフローが存在しない場合は、Microsoft Entra ディレクトリではなく Azure AD B2C ディレクトリにいることを確認してください。Azure AD B2C 機能を使用するには、既存の従業員ベースの Microsoft Entra テナントとは別の Azure AD B2C テナントを作成します。

ユーザーフローの入り口を選択します。ここで新しいユーザー登録を許可するかどうかを構成できます。このサインアップ構成は、KurocoのIDaaS SP編集画面で見られるKuroco新規ユーザー登録とは異なります。

本ドキュメントでは[サインアップとサインイン]を選択して進めます。

Image from Gyazo

[推奨]バージョンを選択し、[作成]をクリックします。

Image from Gyazo

ユーザーフロー構成画面で、以下の表に従ってフィールドを設定します。データを入力した後、[作成]をクリックします。

Image from Gyazo

Image from Gyazo

Image from Gyazo

項目説明
名前ユーザーフローの識別子。これは一意であり、将来変更できません。
IDプロバイダーユーザーがMicrosoft IDaaSにログインする方法を選択します。この例では、電子メール/パスワードに基づくログインを選択します。
多要素認証ユーザーがAzure ADでMFAをどのように構成するかを選択します。この例では、メールを選択します。これは、ユーザー登録のためのメールを検証するためのメールOTPベースのMFAです。
ユーザー属性とトークン要求ユーザーから収集され、Kurocoに渡すデータ。追加のデータが構成されている場合、それはKurocoのIDaaS SP編集画面で設定する必要があります。このチュートリアルでは、名と姓をKurocoに渡すために使用されます。

[作成]をクリックし、ユーザーフローを作成します。 作成したユーザーフローは、ユーザーフローリストに表示されます。フローを編集するには、フローをクリックします。

Image from Gyazo

注意: Kurocoにメールを渡す必要がない場合は、このステップをスキップできます)

[アプリケーション要求]をクリックし、[メールアドレス]のチェックボックスをオンにして保存します。
これにより、ユーザーの複数のメールアドレスがKurocoに渡されます。設定で1つのメールアドレスのみを持つように構成されていても、構造は同じです。

これにより、設定で1つのメールアドレスのみを持つように設定されていても、ユーザーが複数のメールアドレスを持っていても、ユーザーのメールアドレスは同じ配列形式でKurocoに渡されるようになります。

Image from Gyazo

7. 構成URLをコピーする
[概要]をクリックし、[ユーザーフローを実行します]をクリックしてから、リソースリンクを新しいタブで開きます。リンクの形式は次のようになります
https://<AD名>.b2clogin.com/<ADドメイン>/v2.0/.well-known/openid-configuration?p=B2C_1_<ユーザーフロー名>)。

Image from Gyazo

JSONデータが表示されます。 [authorization_endpoint][token_endpoint]、および[jwks_uri]をコピーしてください。これらはKurocoのIDaaS SP編集画面で使用します。URLの形式を以下の表に示します。

Image from Gyazo

URL形式
authorization_endpointhttps://<AD Name>.b2clogin.com/<AD Domain>/oauth2/v2.0/authorize?p=b2c_1_<User Flow Name>
token_endpointhttps://<AD Name>.b2clogin.com/<AD Domain>/oauth2/v2.0/token?p=b2c_1_<User Flow Name>
jwks_urihttps://<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]は空のままにしてください。

Image from Gyazo

2. ユーザーの識別方法を設定
この設定はサイトの構成によります。
Kurocoはユーザーの識別にEメールまたはAzureユーザーオブジェクト識別子を使用できます。
Eメールを利用する場合は、[Emailを利用せずメンバー拡張項目にIDを格納してリンクする]のチェックボックスを外す必要があります。

Eメールをユーザー識別のキーに利用する場合は以下のように設定します。

Image from Gyazo

Eメールを使用しない場合は、有効にするのチェックボックスにチェックします。その場合、open_idが保存されるメンバーの拡張項目を選択する必要があります。
(注: 使用するメンバーの拡張項目のタイプはテキストである必要があります)

Image from Gyazo

3. IDaaS SPを有効にする
最後に[有効]のチェックボックスをオンにし、[更新する]をクリックしてください。

Image from Gyazo

これでKuroco側のIDaaS SPも設定が完了です。

使用方法

KurocoのIDaaS SPページに遷移します。
作成したSP構成の[ログインIDaaS SP Name]をクリックしてください。

Image from Gyazo

[ログインURL]が確認できます。

Image from Gyazo

URLをクリックすると、Azure AD B2Cログインページにリンクされます。

Image from Gyazo

ここでAzure ADユーザーのEメールとパスワードを入力し、Kuroco SPにログインできます。


サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。