第 3 章 使用 Red Hat OpenStack Platform 和 Active Directory Federation Services 进行联邦


红帽支持使用 Microsoft Active Directory Federation Services (AD FS)作为 Red Hat OpenStack Platform (RHOSP)的身份供应商,以便您可以在 RHOSP 中使用相同的联邦解决方案进行 RHOSP 中的单点登录。

3.1. 使用 Active Directory Federation Services 部署 Red Hat OpenStack Platform

使用 enable-federation-openidc.yaml 环境文件来部署 Red Hat OpenStack Platform (RHOSP),以便它可以集成到您的联邦身份验证解决方案中。联邦允许用户使用单点登录(SSO)登录 OpenStack 控制面板。您必须使用 OpenStack Dashboard for SSO。

先决条件

  • 已安装 Red Hat OpenStack Platform director。
  • 您有 Active Directory (c)用于在您的环境中配置的联邦。

流程

  1. 记录您的 keystone 端点。keystone 端点是您在 custom-domain.yaml heat 模板中分配 CloudName 参数的 FQDN 值,其中包含的传输和端口号。keystone 端点有以下构造:

    https://<FQDN>:13000
    注意

    如果没有部署 TLS,则 keystone 端点为 http://<FQDN>:5000。红帽建议使用 RHOSP 的每个生产环境部署 TLS。

  2. 为 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
  3. 作为响应,您的 SSO 管理员为您提供了 ClientIDClientSecret
  4. enable-federation-openidc.yaml yaml 文件复制到堆栈主目录中:

    cp /usr/share/openstack-tripleo-heat-templates/environments/enable-federation-openidc.yaml \
    /home/stack/
  5. 编辑 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 供应商握手的客户端 secret。在提供重定向 URL 后,您必须从 SSO 管理员获取此结果。
    4
    选择在为 OpenID Connect 握手加密数据时使用的密码短语。
    5
    在 Identity 服务(keystone)中与 IdP 关联的名称。此参数的值始终是 Active Directory Federation Services 的 adfsIDP。
    6
    7
    指向 OpenID Connect 供应商元数据的 URL
    8
    要从环境中获取身份提供程序的实体 ID 属性。
    9
    预期来自 OpenID Connect 供应商的响应类型。
    10
    用于单点登录的仪表板 URL,也可以是以逗号分隔的列表。
    11
    指定要安装的 SSO 身份验证选择列表。每个项目都是 SSO 选择标识符和显示消息的列表。
    12
    指定从 SSO 身份验证选择到身份提供程序和协议的映射。身份提供程序和协议名称必须与 keystone 中定义的资源匹配。
  6. enable-federation-openidc.yaml 添加到堆栈中,以及其他环境文件并部署 overcloud:

    (undercloud)$ openstack overcloud deploy --templates \
    -e [your environment files] \
    -e /home/stack/templates/enable-federation-openidc.yaml
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.