Azure AD B2C を使用した Joomla への SAML シングル サインオン
概要
miniOrange Joomla SAML SP SSO プラグインは、SAML 2 プロトコルを使用して Joomla サイトを Azure AD B2.0C に統合するのに役立ちます。miniOrange Joomla SAML SP シングル サインオン (SSO) プラグインを使用すると、Azure AD B2C SSO を Joomla に簡単にセットアップし、Joomla への安全なログインを有効にすることができます。その結果、ユーザーは Azure AD B2C IDP 資格情報で認証した後、XNUMX 回のログインで複数の Joomla アプリケーションにアクセスできるようになります。
当社のプラグインは、すべての SAML 3 準拠の ID プロバイダーを備えた Joomla 4 および Joomla 2.0 と互換性があります。ここでは、Azure AD B2C を IDP (ID プロバイダー)、Joomla を SP (サービス プロバイダー) として考え、Joomla サイトと Azure AD B2C 間の SAML SSO ログインを構成するための手順ガイドを説明します。
構成手順
この設定では、 Azure AD B2C ユーザーを保存するためのリポジトリとして機能します。つまり、IDPとして機能します。 Joomlaの ユーザーはAzure AD B2Cの資格情報を使用してログインします。 Joomla SAML SP SSO プラグイン インストールされます。
ステップ1: Joomla SAML SPプラグインをインストールする
- Joomla サイトにログインします。 管理者 コンソール。
- 左側のトグルメニューから、 をクリックします エントルピーをクリックし、「インストール」セクションで「」をクリックします。 拡張機能.
- 今後はクリック またはファイルを参照します ボタンをクリックして、前にダウンロードしたプラグイン ファイルを見つけてインストールします。
- プラグインのインストールは成功しました。 今すぐクリックしてください はじめよう!
- に行きます サービスプロバイダーのメタデータ タブをクリックして下にスクロールして、 SPエンティティID と ACSのURL.
ステップ 2: Azure AD B2C を IDP (アイデンティティ プロバイダー) として構成する
- あなたへのログイン Azure AD B2C 管理者ダッシュボード。
- Azure AD B2C テナントから、 アプリの登録、次に選択 新規登録.
- お名前、 入る アイデンティティ体験フレームワーク.
- サポートされているアカウントタイプ選択 この組織ディレクトリ内のアカウントのみ.
- URIをリダイレクトするをクリックし、[Web] を選択して、https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com と入力します。ここで、your-tenant-name は Azure AD B2C テナント ドメイン名です。
注: 次のステップで、 「権限」 セクションが表示されない場合は、そのテナントにアクティブなAzureAD B2Cサブスクリプションがないことが原因である可能性があります。AzureAD B2Cサブスクリプションに関する詳細は、 以下の手順に従って新しいテナントを作成できます こちら.
- 権限で、「openid および offline_access 権限に管理者の同意を与える」チェックボックスをオンにします。
- 選択 登録する.
- 記録する アプリケーション(クライアント)ID 後のステップで使用します。
Identity Experience Framework アプリケーションを登録します。
- 管理 選択 APIを公開する.
- 選択 スコープを追加するをクリックし、「保存」を選択してデフォルトのアプリケーション ID URI を受け入れ続けます。
- 次の値を入力して、Azure AD B2C テナントでカスタム ポリシーの実行を許可するスコープを作成します。
- スコープ名: ユーザー偽装
- 管理者の同意表示名: IdentityExperienceFramework にアクセスする
- 管理者の同意の説明: サインインしたユーザーに代わってアプリケーションが IdentityExperienceFramework にアクセスできるようにします。
- 選択 スコープを追加.
ProxyIdentityExperienceFramework アプリケーションを登録します。
- 選択 アプリの登録、次に選択 新規登録.
- お名前、 入る ProxyIdentityExperienceFramework.
- サポートされているアカウントタイプ選択 この組織ディレクトリ内のアカウントのみ.
- URIをリダイレクトする、ドロップダウンを使用して選択します パブリック クライアント/ネイティブ (モバイルとデスクトップ).
- URIをリダイレクトする、「myapp://auth」と入力します。
- 権限で、「openid および offline_access 権限に管理者の同意を与える」チェックボックスをオンにします。
- 選択 登録する.
- 記録する アプリケーション(クライアント)ID 後のステップで使用します。
次に、アプリケーションをパブリック クライアントとして扱うように指定します。
- 管理 選択 認証.
- 詳細設定、イネーブル パブリッククライアントフローを許可する(はいを選択).
- 選択 Save.
ここで、IdentityExperienceFramework 登録で先ほど公開した API スコープにアクセス許可を付与します。
- 管理 選択 API権限.
- 設定された権限選択 権限を追加する.
- 現在地に最も近い 私のAPI タブ、次に選択 アイデンティティ体験フレームワーク アプリケーション。
- 許可、選択 ユーザー偽装 先ほど定義したスコープ。
- 選択 権限を追加。 指示に従って、次のステップに進む前に数分間待ちます。
- 選択 (テナント名) に管理者の同意を与える.
- 現在サインインしている管理者アカウントを選択するか、少なくともクラウド アプリケーション管理者ロールが割り当てられている Azure AD B2C テナントのアカウントでサインインします。
- 選択 はい.
- 選択 Refreshをクリックし、「Granted for ...」が下に表示されていることを確認します。 ステータス スコープ - offline_access、openid、user_impersonation。権限が伝播するまでに数分かかる場合があります。
Joomla アプリケーションを登録します。
- 選択 アプリの登録、次に選択 新規登録.
- アプリケーションの名前を入力します(例: Joomla)。
- サポートされているアカウントタイプ選択 あらゆる組織ディレクトリまたはあらゆるIDプロバイダのアカウントAzure AD B2C を使用してユーザーを認証します。
- URIをリダイレクトするをクリックし、[Web] を選択して、ACS URL を入力します。 サービスプロバイダーメタデータタブ miniOrange SAML プラグインの。
- 選択 登録する.
- 管理 APIを公開する.
- ソフトウェアの制限をクリック 作成セッションプロセスで アプリケーション ID URI を入力し、 Saveデフォルト値を受け入れます。
- 保存したら、アプリケーション ID URI をコピーし、 サービスプロバイダーの「メタデータ」タブ プラグインの。
- コピーした値を SPエンティティID / 発行者 このタブにあるフィールド。
- ソフトウェアの制限をクリック Save.
SSO ポリシーの生成:
- Azure B2C ポータルから、B2C テナントの [概要] セクションに移動し、テナント名を記録します。 注: B2C ドメインが b2ctest.onmicrosoft.com の場合、テナント名は b2ctest です。
- あなたの〜を入力してください Azure B2C テナント名 こちら上記の手順で登録した IdentityExperienceFramework アプリと ProxyIdentityExperienceFramework アプリのアプリケーション ID も含めます。
- 次にをクリックしてください Azure B2C ポリシーの生成 ボタンをクリックして SSO ポリシーをダウンロードします。
- ダウンロードした zip ファイルを解凍します。このファイルには、次の手順で必要となるポリシー ファイルと証明書 (.pfx) が含まれています。
証明書のセットアップ:
注: 次の手順で「Identity Experience Framework」がクリックできない場合は、そのテナントにアクティブなAzure AD B2Cサブスクリプションがないことが原因である可能性があります。Azure AD B2Cサブスクリプションに関する詳細は、 こちら 以下の手順に従って新しいテナントを作成できます こちら.
- にサインインする Azureのポータル そしてあなたの Azure AD B2C テナント.
- 政策選択 アイデンティティ エクスペリエンス フレームワーク その後 ポリシーキー.
- 選択 Add、次に選択 [オプション] > [アップロード].
- 名前に「SamlIdpCert」と入力します。 プレフィックス B2C_1A_ がキーの名前に自動的に追加されます。
- アップロード ファイル コントロールを使用して、上記の手順で生成された証明書と SSO ポリシー (tenantname-cert.pfx) をアップロードします。
- 証明書のパスワードをテナント名として入力し、[作成] をクリックします。たとえば、テナント名が xyzb2c.onmicrosoft.com の場合、パスワードを xyzb2c として入力します。
- B2C_1A_SamlIdpCert という名前の新しいポリシー キーが表示されるはずです。
- Azure AD B2C テナントの概要ページの [ポリシー] で、[Identity Experience Framework] を選択します。
- 選択 ポリシーキー 次に選択します Add.
- オプション、「生成」を選択します。
- In お名前、「TokenSigningKeyContainer」と入力します。
- キータイプ、「RSA」を選択します。
- 主な使用法、「署名」を選択します。
- 選択 創造する.
- Azure AD B2C テナントの概要ページで、 政策選択 アイデンティティエクスペリエンスフレームワーク.
- オプション、「生成」を選択します。
- In お名前、「TokenEncryptionKeyContainer」と入力します。
- キータイプ、「RSA」を選択します。
- 主な使用法、「暗号化」を選択します。
- 選択 創造する.
ポリシーをアップロードします:
- 現在地に最も近い アイデンティティ エクスペリエンス フレームワーク Azure portal の B2C テナントのメニュー項目。
- 選択 カスタムポリシーをアップロードする.
- 以下の順序に従って、上記の手順でダウンロードしたポリシー ファイルをアップロードします。
- TrustFrameworkBase.xml
- TrustFrameworkExtensions.xml
- SignUpOrSignin.xml
- プロファイル編集.xml
- パスワードリセット.xml
- SignUpOrSigninSAML.xml
- ファイルをアップロードすると、Azure によって各ファイルにプレフィックス B2C_1A_ が追加されます。
ステップ3: JoomlaをSP(サービスプロバイダー)として設定する
Joomla SAML プラグインで、[サービス プロバイダーのセットアップ] タブに移動します。プラグインを設定するには 3 つの方法があります。
A. IDP メタデータをアップロードすることにより、次のようになります。
- Joomla SAML プラグインで、次の場所に移動します。 サービスプロバイダーのセットアップ タブをクリックしてから IdPメタデータをアップロード.
B. メタデータ URL による:
- 入力します メタデータURL (IDP アプリからコピー) をクリックして、 フェッチ
C. 手動設定:
- コピー SAML エンティティ ID、SAML シングル サインオン エンドポイント URL、および X.509 証明書 フェデレーションメタデータドキュメントからコピーして貼り付けます IDP エンティティ ID または発行者、シングル サインオン URL、X.509 証明書 プラグイン内のそれぞれのフィールド。
IdP エンティティ ID または発行者 | フェデレーション メタデータ ドキュメントの SAML エンティティ ID |
シングルサインオンURL | フェデレーション メタデータ ドキュメントの SAML シングル サインオン エンドポイント URL |
X.509 証明書の値 | フェデレーション メタデータ ドキュメント内の X.509 証明書 |
ステップ4: 属性マッピング - プレミアム機能
- 属性は、アイデンティティ プロバイダーに保存されるユーザーの詳細です。
- 属性マッピングは、アイデンティティ プロバイダー (IDP) からユーザー属性を取得し、それらを Joomla ユーザー属性 (名、姓、住所、電話番号など) にマッピングするのに役立ちます。
- Joomla サイトにユーザーを自動登録する際、これらの属性は Joomla ユーザーの詳細に自動的にマッピングされます。
- 「属性マッピング」タブに移動し、すべてのフィールドに入力します。
ユーザー名: | IdP からのユーザー名属性の名前 (デフォルトでは NameID を保持します) |
Email: | IdP からの電子メール属性の名前 (デフォルトでは NameID を保持します) |
名前: | IdP からの name 属性の名前 |
- ここでどの値をマップするかをより正確に把握するには、[サービス プロバイダーの設定] タブの [テスト構成結果] を確認します。
注: 属性マッピングの仕組みを確認するには こちら.
ステップ 5: グループ マッピング - プレミアム機能
- グループ/ロール マッピングは、アイデンティティ プロバイダー (IdP) 内の特定のグループのユーザーに特定のロールを割り当てるのに役立ちます。
- 自動登録中、ユーザーにはマップ先のグループに基づいてロールが割り当てられます。
- グループ/ロール マッピングは、アイデンティティ プロバイダー (IdP) 内の特定のグループのユーザーに特定のロールを割り当てるのに役立ちます。
- 自動登録中、ユーザーにはマップ先のグループに基づいてロールが割り当てられます。
注: グループ/ロールマッピングの仕組みを確認するには こちら.
ステップ 6: リダイレクトと SSO リンク
- [ログイン設定] タブに移動します。以下の手順に従って、Joomla サイトで SAML SSO を実行するためのログイン URL を追加できます。
- このタブでは、ユーザーをアイデンティティ プロバイダーに自動的にリダイレクトしたり、スーパー ユーザーのバックエンド ログインを有効にしたりするなど、複数の機能が利用できます。これらの機能を使用するには、それぞれのチェックボックスをクリックします。
- 機能とさまざまなライセンス プランの完全なリストを確認するには、[アップグレード] タブをクリックします。または、ここをクリックして機能とライセンス プランを確認することもできます。
- 何か問題が発生した場合やご質問がある場合は、プラグインのサポートボタンからお問い合わせいただくか、以下のメールアドレスまでご連絡ください。 joomlasupport@xecurify.com.