第3章 Red Hat OpenStack Platform と Active Directory フェデレーションサービスを使用したフェデレーション
Red Hat は、Red Hat OpenStack Platform (RHOSP) の ID プロバイダーとして Microsoft Active Directory Federation Services (AD FS) の使用をサポートしているため、より広範な組織に存在する同じフェデレーションソリューションを RHOSP で Single Sign-On に使用できます。
3.1. Active Directory フェデレーションサービスを使用した Red Hat OpenStack Platform のデプロイ
enable-federation-openidc.yaml
環境ファイルを使用して Red Hat OpenStack Platform (RHOSP) をデプロイし、フェデレーション認証ソリューションに統合できるようにします。フェデレーションにより、ユーザーはシングルサインオン (SSO) を使用して OpenStack Dashboard にログインできるようになります。SSO には OpenStack Dashboard を使用する必要があります。
前提条件
- Red Hat OpenStack Platform director がインストールされている。
- 環境内にフェデレーション用の Active Directory (c) が設定されている。
手順
keystone エンドポイントに注意してください。keystone エンドポイントは、
custom-domain.yaml
heat テンプレートのCloudName
パラメーターに割り当てた FQDN 値であり、トランスポート番号とポート番号が含まれます。Keystone エンドポイントの構成は、以下のとおりです。https://<FQDN>:13000
注記TLS をデプロイしない場合、keystone エンドポイントは
http://<FQDN>:5000
になります。Red Hat では、RHOSP のすべての実稼働デプロイメントで TLS をデプロイすることを推奨します。SSO 管理者に次のリダイレクト URI を提供します。
リダイレクト URI:
https://<FQDN>:13000/v3/auth/OS-FEDERATION/identity_providers/adfsIDP/protocols/openid/websso https://<FQDN>:13000/v3/auth/OS-FEDERATION/websso/openid
-
これに応じて、SSO 管理者は
ClientID
とClientSecret
を提供します。 enable-federation-openidc.yaml
yaml ファイルをスタックのホームディレクトリーにコピーします。cp /usr/share/openstack-tripleo-heat-templates/environments/enable-federation-openidc.yaml \ /home/stack/
enable-federation-openidc.yaml
環境ファイルのコピーを編集します。以下は設定例です。parameter_defaults: KeystoneAuthMethods: password,token,oauth1,mapped,application_credential,openid 1 KeystoneOpenIdcClientId: <ClientID> 2 KeystoneOpenIdcClientSecret: <ClientSecret> 3 KeystoneOpenIdcCryptoPassphrase: openstack 4 KeystoneOpenIdcIdpName: adfsIdP 5 KeystoneOpenIdcIntrospectionEndpoint: https://adfs.local.com/adfs/openid-connect/token/introspect 6 KeystoneOpenIdcProviderMetadataUrl: https://adfs.local.com/adfs/.well-known/openid-configuration 7 KeystoneOpenIdcRemoteIdAttribute: HTTP_OIDC_ISS 8 KeystoneOpenIdcResponseType: code 9 KeystoneTrustedDashboards: https://overcloud.redhat.local/dashboard/auth/websso/ 10 WebSSOChoices: [['OIDC', 'OpenID Connect']] 11 WebSSOIDPMapping: {'OIDC': ['adfsIdP', 'openid']} 12 WebSSOInitialChoice: OIDC KeystoneFederationEnable: True KeystoneOpenIdcEnable: True KeystoneOpenIdcEnableOAuth: True WebSSOEnable: True
- 1
- 受け入れ可能な認証方法のコンマ区切りのリスト。
- 2
- OpenID Connect プロバイダーハンドシェイクに使用するクライアント ID。これは、SSO 管理者から取得する必要があります。
- 3
- OpenID Connect プロバイダーハンドシェイクに使用するクライアントシークレット。リダイレクト URL を指定したら、SSO 管理者からこれを取得する必要があります。
- 4
- OpenID Connect ハンドシェイクのデータを暗号化する際に使用するパスフレーズを選択します。
- 5
- Identity サービス (keystone) で IdP に関連付けられた名前。このパラメーターの値は、Active Directory Federation Services では常に adfsIDP です。
- 6
- Identity サービスのイントロスペクションエンドポイント: https://{FQDN}/realms/<realm>/protocol/openid-connect/token/introspect
- 7
- OpenID Connect プロバイダーのメタデータをポイントする URL
- 8
- 環境から認証プロバイダーのエンティティー ID を取得するのに使用される属性。
- 9
- 想定される OpenID Connect プロバイダーからの応答種別。
- 10
- Single Sign-On 用に信頼されたダッシュボード URL。これはコンマ区切りのリストにすることもできます。
- 11
- 表示する SSO 認証の選択肢リストを指定します。各項目は、SSO の選択肢の ID および表示メッセージのリストです。
- 12
- SSO 認証の選択肢から認証プロバイダーおよびプロトコルへのマッピングを指定します。認証プロバイダーおよびプロトコル名は、keystone で定義したリソースと一致している必要があります。
enable-federation-openidc.yaml
を他の環境ファイルとともにスタックに追加し、オーバークラウドをデプロイします。(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/enable-federation-openidc.yaml.yaml