メインコンテンツまでスキップ

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

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にメールを渡す必要がない場合は、このステップをスキップできます)

[アプリケーション要求]をクリックし、[メールアドレス]のチェックボックスをオンにして保存します。
これにより、設定で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コミュニティにご参加ください。