您可以将 VMware Integrated OpenStack 与使用安全关联标记语言 (SAML) 2.0 协议的任何第三方身份提供程序解决方案相集成。

重要事项: VMware 不支持第三方身份提供程序。请联系您的身份提供程序管理员,以获取此过程中所需的信息。

如果要使用 SAML 2.0 将 VMware Integrated OpenStackVMware Identity Manager 集成,请参见配置 VMware Identity Manager 联合

前提条件

  • 部署并配置身份提供程序。确定其元数据文件的位置以及该文件中 entityID 属性的值。
  • 确保 VMware Integrated OpenStack 部署可以访问身份提供程序的 FQDN。
  • 以 JSON 格式创建映射文件。有关详细信息,请参见 OpenStack 文档中的映射组合
  • 在映射文件中,请勿使用 federated 作为域名。此名称由 Keystone 预留。
  • 以 JSON 格式创建 SAML 属性映射文件。使用以下结构:
    [
        {
            "name": "attribute-1",
            "id": "id-1"
        },
        {
            "name": "attribute-2",
            "id": "id-2"
        },
        ...
    ]

过程

  1. admin 用户身份登录到 Integrated OpenStack Manager Web 界面。
  2. OpenStack 部署中,单击部署的名称,然后打开管理选项卡。
  3. 身份联合选项卡中,单击添加
  4. 联合类型下拉菜单中,选择 Generic SAML2
  5. 输入所需的参数。
    选项 说明
    名称

    为身份提供程序输入名称。

    描述

    输入身份提供程序的描述。

    属性映射

    以 JSON 格式输入其他 SAML 属性,或者上载包含所需属性的 JSON 文件。

    Generic SAML2 不安全

    取消选中此复选框以验证身份提供程序的证书。

    Generic SAML2 实体 ID

    输入身份提供程序的 entityID 属性。可以在联合元数据文件中找到此值。

    SAML2 元数据 URL

    输入身份提供程序的联合元数据文件的 URL。

    SAML2 映射

    以 JSON 格式输入 SAML 映射,或者上载包含所需映射的 JSON 文件。

  6. (可选) 选中高级设置复选框以配置其他参数。
    1. 通用高级设置下,输入要将联合用户导入至的 OpenStack 域、项目和组。
      注:
      • 如果未输入域、项目或组,则使用以下默认值:
        • 域:federated_domain
        • 项目:federated_project
        • 组:federated_group
      • 不要输入 federated 作为域名。此名称由 Keystone 预留。
      • 如果提供自定义映射,则必须输入这些映射中包含的所有 OpenStack 域、项目和组。
  7. 单击确定

结果

VMware Integrated OpenStack 与您的身份提供程序解决方案相集成,并且联合用户和组将导入到 OpenStack 中。访问 VMware Integrated OpenStack 仪表板时,您可以选择指定的身份提供程序以联合用户的身份登录。

注: 使用身份联合时,必须通过公共 OpenStack 端点访问 VMware Integrated OpenStack 仪表板。不要使用专用 OpenStack 端点或控制器 IP 地址来联合用户身份登录。

示例: 将 VMware Integrated OpenStack 与 Active Directory 联合身份验证服务集成

以下过程基于用户主体名称 (UPN) 在 VMware Integrated OpenStack 和 Active Directory 联合身份验证服务 (AD FS) 之间实现身份联合。在此示例中,VMware Integrated OpenStack 部署的公共虚拟 IP 地址是 192.0.2.160,AD FS 角色已添加到位于 adfs.example.com 的 Windows Server 虚拟机VMware Integrated OpenStack 中的身份提供程序的名称将设置为 adfsvio

  1. 在 AD FS 中,为 VMware Integrated OpenStack 添加信赖方信任。
    1. AD FS 管理中,选择操作 > 添加信赖方信任...
    2. 单击启动
    3. 选择手动输入有关信赖方的数据,然后单击下一步
    4. 输入 OpenStack 作为显示名称,然后单击下一步
    5. 选择 AD FS 配置文件,然后单击下一步
    6. 单击下一步
    7. 选择启用对 SAML 2.0 WebSSO 协议的支持
    8. 输入 https://192.0.2.160:5000/adfsvio/Shibboleth.sso/SAML2 作为信赖方 URL,然后单击下一步
    9. 输入 https://192.0.2.160:5000/adfsvio 作为信赖方信任标识符,依次单击添加下一步
    10. 选择我不想配置多重身份验证,然后单击下一步
    11. 选择允许所有用户访问此信赖方,然后单击下一步
    12. 单击下一步 ,选择编辑声明规则,然后单击关闭
    13. 单击添加规则...
    14. 选择经历或筛选传入声明,并单击下一步
    15. 输入 UPN passthrough 作为规则名称,然后选择 UPN 作为传入声明类型。
    16. 选择传递所有声明值,并单击完成
  2. admin 用户身份登录到 Integrated OpenStack Manager Web 界面。
  3. OpenStack 部署中,单击部署的名称,然后打开管理选项卡。
  4. 身份联合选项卡中,单击添加
  5. 联合类型下拉菜单中,选择 Generic SAML2
  6. 输入以下配置。
    选项 说明
    名称 adfsvio
    描述 AD FS 身份提供程序
    属性映射
    [
        {
            "name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
            "id": "upn"
        }
    ]
    Generic SAML2 实体 ID http://adfs.example.com/adfs/services/trust
    SAML2 元数据 URL https://adfs.example.com/federationmetadata/2007-06/federationmetadata.xml
    SAML2 映射
    [
        {
            "local": [
                {
                    "user": {
                        "name": "{0}"
                    },
                    "group": {
                        "domain": {
                            "name": "adfs-users"
                        },
                        "name": "Federated Users"
                    }
                }
            ],
            "remote": [
                {
                    "type": "upn"
                }
            ]
        }
    ]
  7. 选中高级设置复选框。
  8. 选择通用高级设置,然后输入以下配置。
    选项 说明
    adfs-users
    项目

    将此字段留空。

    联合用户

验证并更新配置后,打开 VMware Integrated OpenStack 仪表板。现在,您可以选择 AD FS 身份提供程序,并以联合用户的身份登录。

后续步骤

如果需要删除已配置的身份提供程序,请先在 Integrated OpenStack Manager Web 界面中将其选中,然后单击删除。之后,登录到 VMware Integrated OpenStack 仪表板,选择身份 > 联合 > 身份提供程序,选择所需的提供程序,然后单击取消注册身份提供程序