4.15. フェデレーションのための Keystone の設定
本ガイドでは、追加の設定が必要な keystone ドメインを使用しています。有効な場合には、keystone Puppet モジュールはこの追加の設定ステップを実施することができます。
Puppet YAML ファイルの 1 つに、以下を追加します。
keystone::using_domain_config: true
フェデレーションを有効にするには、/etc/keystone/keystone.conf
で追加の値を設定する必要があります。
-
auth:methods
-
federation:trusted_dashboard
-
federation:sso_callback_template
-
federation:remote_id_attribute
これらの設定とその推奨値の説明:
-
auth:methods
: 許可される認証方法の一覧。デフォルトでは、一覧は['external', 'password', 'token', 'oauth1']
です。マッピングされた方法を使用して SAML を有効にする必要があります。したがって、この値はexternal,password,token,oauth1,
でなければなりません。mapped
-
fe:trusted_dashboard
: 信頼されたダッシュボードホストの一覧。トークンを返すためのシングルサインオン要求を受け入れる前に、元のホストはこの一覧のメンバーである必要があります。この設定オプションは、複数の値に対して繰り返すことができます。これは、web ベースの SSO フローを使用するために設定する必要があります。このデプロイメントの場合には、値https://$FED_KEYSTONE_HOST/dashboard/auth/websso/host は $FED_KEYSTONE_HOST
であることに注意してください。これは、Red Hat OpenStack Platform director が同じホスト上に keystone と horizon の両方を同じホスト上に共存するので、このホストが $FED_KEYSTONE_FED_KEYSTONE_HOST/dashboard/auth/websso/HOST であることに注意してください。horizon が keystone とは別のホストで実行している場合は、それに応じて調整する必要があります。 -
fe:sso_callback_template
: シングルサインオンコールバックハンドラーとして使用される HTML ファイルへの絶対パス。このページは、POST
要求でトークンをエンコードすることで、keystone からのユーザーを信頼済みのダッシュボードホストにリダイレクトすることが想定されます。Keystone のデフォルト値は、ほとんどのデプロイメントでは十分です(/etc/keystone/sso_callback_template.html
)。 federation:remote_id_attribute
: ID プロバイダーのエンティティー ID を取得するために使用される値。mod_auth_mellon
にはMELLON_IDP
を使用します。これは、MellonIdP IDP
ディレクティブを使用して mellon 設定ファイルに設定されることに注意してください。以下の内容で
fed_deployment/puppet_override_keystone.yaml
ファイルを作成します。parameter_defaults: controllerExtraConfig: keystone::using_domain_config: true keystone::config::keystone_config: identity/domain_configurations_from_database: value: true auth/methods: value: external,password,token,oauth1,mapped federation/trusted_dashboard: value: https://$FED_KEYSTONE_HOST/dashboard/auth/websso/ federation/sso_callback_template: value: /etc/keystone/sso_callback_template.html federation/remote_id_attribute: value: MELLON_IDP
overcloud_deploy.sh
スクリプトの最後に、作成したファイルを追加します。これは、last-e
引数である必要があります。以下に例を示します。-e /home/stack/fed_deployment/puppet_override_keystone.yaml \ --log-file overcloud_deployment_14.log &> overcloud_install.log
上記の手順は、configure-federation
スクリプトで実行できます($ ./configure-federation puppet-override-keystone
)。