48.2. 外部 ID プロバイダーへの参照の作成
外部 ID プロバイダー (IdP) を Identity Management (IdM) 環境に接続するには、IdM で IdP 参照を作成します。これらの例は、さまざまな IdP テンプレートに基づいて外部 IdP への参照を設定する方法を示しています。次のオプションを使用して設定を指定します。
--provider
- 既知の ID プロバイダーのいずれかの定義済みテンプレート
--client-id
- アプリケーション登録時に IdP によって発行された OAuth 2.0 クライアント識別子。アプリケーションの登録手順は IdP ごとに異なるため、詳細については各 IdP のドキュメントを参照してください。
--base-url
- Keycloak と Okta で必要な IdP テンプレートのベース URL
--organization
- Microsoft Azure で必要な IdP からのドメインまたは組織 ID
前提条件
IdM を OAuth アプリケーションとして外部 IdP に登録し、クライアント ID を取得している。
注記OAuth 2.0 クライアントには、2 つのタイプ (機密ではないタイプと、機密であるタイプ) があります。ただし、現在、IdM は、RHEL 9.1 の SSSD は機密ではない OAuth 2.0 クライアントのみをサポートします。今後のリリースには、この問題の修正が含まれる予定です。
- IdM 管理者アカウントとして認証可能である。
- IdM サーバーで RHEL 9.1 以降を使用している。
- IdM サーバーで SSSD 2.7.0 以降を使用している。
手順
IdM サーバーで IdM 管理者として認証します。
[root@server ~]# kinit admin
次の表に示すように、IdM で必要な IdP への参照を作成します。
アイデンティティープロバイダー 重要なオプション コマンド例 Microsoft Identity Platform、
Azure AD--provider microsoft
--organization
# ipa idp-add my-azure-idp \ --provider microsoft \ --organization main \ --client-id <azure_client_id>
Google
--provider google
# ipa idp-add my-google-idp \ --provider google \ --client-id <google_client_id>
GitHub
--provider github
# ipa idp-add my-github-idp \ --provider github \ --client-id <github_client_id>
Keycloak、
Red Hat Single Sign-On--provider keycloak
--organization
--base-url
# ipa idp-add my-keycloak-idp \ --provider keycloak \ --organization main \ --base-url keycloak.idm.example.com:8443/auth \ --client-id <keycloak_client_id>
注記Keycloak 17 以降の Quarkus バージョンでは、URI の
/auth/
部分が削除されています。デプロイメントで Keycloak の非 Quarkus ディストリビューションを使用する場合は、--base-url
オプションに/auth/
を含めます。Okta
--provider okta
# ipa idp-add my-okta-idp \ --provider okta --base-url dev-12345.okta.com \ --client-id <okta_client_id>
たとえば、次のコマンドは、Keycloak テンプレートに基づいて IdP への
my-keycloak-idp
という参照を作成します。--base-url
オプションは、Keycloak サーバーへの URL をserver-name.$DOMAIN:$PORT/prefix
の形式で指定します。[root@server ~]# ipa idp-add my-keycloak-idp \ --provider keycloak --organization main \ --base-url keycloak.idm.example.com:8443/auth \ --client-id id13778 ------------------------------------------------ Added Identity Provider server "my-keycloak-idp" ------------------------------------------------ Identity Provider server name: my-keycloak-idp Authorization URI: https://keycloak.idm.example.com:8443/auth/realms/main/protocol/openid-connect/auth Device authorization URI: https://keycloak.idm.example.com:8443/auth/realms/main/protocol/openid-connect/auth/device Token URI: https://keycloak.idm.example.com:8443/auth/realms/main/protocol/openid-connect/token User info URI: https://keycloak.idm.example.com:8443/auth/realms/main/protocol/openid-connect/userinfo Client identifier: ipa_oidc_client Scope: openid email External IdP user identifier attribute: email
検証
ipa idp-show
コマンドの出力に、作成した IdP 参照が表示されていることを確認します。[root@server ~]# ipa idp-show my-keycloak-idp
関連情報
- 外部 ID プロバイダーのテンプレートリスト
-
ipa help idp-add
コマンド出力