4.14. 为联邦配置 Identity 服务(keystone)

Keystone 域需要额外的配置。但是,如果启用了 keystone Puppet 模块,它可以执行此额外的配置步骤。

  • 在 Puppet YAML 文件中添加以下内容:

    keystone::using_domain_config: true

/etc/keystone/keystone.conf 中设置以下值以启用联邦:

auth:methods
允许的身份验证方法列表。默认情况下,列表为: ['external', 'password', 'token', 'oauth1']。您必须使用 映射 的方法启用 SAML。另外,外部方法 还必须被排除。将值设为以下内容: password、token、oauth1、mapped
federation:trusted_dashboard
可信仪表板主机列表。在接受单点登录请求返回令牌之前,原始主机必须是此列表的成员。您可以多次使用此配置选项作为不同的值。您必须将其设置为使用基于 Web 的 SSO 流。对于这个部署,值为: https://$FED_KEYSTONE_HOST/dashboard/auth/websso/ the host is $FED_KEYSTONE_HOST,因为 Red Hat OpenStack Platform director 在同一主机上并置 keystone 和 horizon。如果 horizon 在另一个主机上运行到 keystone,您必须相应地调整。
federation:sso_callback_template
用作单点登录回调处理器的 HTML 文件的绝对路径,本页将通过在 POST 请求中格式化令牌将来自 Identity 服务的用户重定向到可信仪表板主机。默认值足以满足大多数部署的需要。
federation:remote_id_attribute

用于获取身份提供程序的实体 ID 的值。对于 mod_auth_mellon,请使用 Mellon_IDP。使用 Mellon 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 脚本末尾附加创建的环境文件。

    ...
    -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