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

重要:

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

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

前提条件

  • 部署您的身份提供程序解决方案,并确定其元数据文件的位置。

  • 确保 VMware Integrated OpenStack 控制器节点可以访问身份提供程序解决方案的 FQDN。

  • 创建 JSON 格式的映射文件,并将其保存在 OpenStack 管理服务器 中。有关详细信息,请参见 OpenStack 文档中的映射组合

  • 创建 JSON 格式的 SAML 属性映射文件,并将其保存在 OpenStack 管理服务器 中。使用以下结构:

    [
        {
            "name": "attribute-1",
            "id": "id-1"
        },
        {
            "name": "attribute-2",
            "id": "id-2"
        },
        ...
    ]
注:

VMware Integrated OpenStack 部署只能包含一个联合身份提供程序。您可以运行 viocli federation identity-provider list 以显示所有配置的身份提供程序,也可以运行 viocli federation identity-provider remove 以按 ID 将其移除。

过程

  1. viouser 用户身份登录到 OpenStack 管理服务器
  2. 将您的身份提供程序解决方案添加到 VMware Integrated OpenStack
    sudo viocli federation identity-provider add --type saml2
  3. 根据提示输入以下信息。

    选项

    说明

    身份提供程序名称

    为身份提供程序输入名称。此名称用于 OpenStack 管理服务器 命令行操作,不能包含特殊字符或空格。

    身份提供程序显示名称(适用于 Horizon)

    为身份提供程序输入显示名称。用户登录到 VMware Integrated OpenStack 仪表板时,可在执行身份验证时使用下看到此名称。

    说明

    (可选)输入身份提供程序的描述。

    要使用 URL 还是本地文件来获取 IdP 元数据?

    输入 url。不支持从本地文件获取身份提供程序元数据。

    IdP 元数据 URL

    输入您身份提供程序中的元数据文件的 URL(例如,https://idp-fqdn/metadata.xml)。您必须通过 FQDN 指定身份提供程序。

    建立 TLS/SSL 连接时不验证证书

    输入 false 验证 TLS 证书,或输入 true 禁用证书验证。

    您要将静态文件还是模板文件用于映射规则

    输入 static 使用静态映射文件,或输入 template 使用映射模板。

    输入映射规则文件的本地路径

    输入本地系统上的映射规则文件的路径。

    输入联合用户关联的域的名称

    输入联合用户所属的 Keystone 域。如果此域不存在,则将创建一个。

    输入联合用户关联的组的名称(以逗号“,”分隔)

    输入要为联合用户创建的一个或多个组。您必须输入映射文件中包含的所有组。如果您输入的组不存在,将创建这些组。

    您要将静态文件还是模板文件用于属性映射

    输入 static 使用静态映射文件,或输入 template 使用映射模板。

    输入属性映射文件的本地路径

    输入本地系统上的属性映射文件的路径。

  4. 部署更新后的身份配置。
    sudo viocli identity configure

    部署身份配置会短暂中断 OpenStack 服务。

结果

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

示例:将 VMware Integrated OpenStack 与 Active Directory 联合服务相集成

以下过程实现了 VMware Integrated OpenStack 与 Active Directory 联合身份验证服务 (AD FS) 之间的身份联合。在此示例中,VMware Integrated OpenStack 部署的公共虚拟 IP 地址是 192.0.2.160,AD FS 角色已添加到位于 adfs.example.com 的 Windows Server 虚拟机

  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/saml 作为信赖方 URL,然后单击下一步

    9. 输入 https://192.0.2.160:5000/saml 作为信赖方信任标识符,依次单击添加下一步

    10. 选择我不想配置多重身份验证,然后单击下一步

    11. 选择允许所有用户访问此信赖方,然后单击下一步

    12. 单击下一步 ,选择编辑声明规则,然后单击关闭

    13. 单击添加规则...

    14. 选择经历或筛选传入声明,并单击下一步

    15. 输入 UPN passthrough 作为规则名称,然后选择 UPN 作为传入声明类型。

    16. 选择传递所有声明值,并单击完成

  2. viouser 用户身份登录到 OpenStack 管理服务器

  3. 在名为 mapping.json 的文件中写入以下信息。

    [
        {
            "local": [
                {
                    "user": {
                        "name": "{0}",
                    },
                    "group": {
                        "domain": {
                            "name": "adfs-users"
                        },
                        "name": "Federated Users"
                    }
                }
            ],
            "remote": [
                {
                    "type": "upn"
                }
            ]
        }
    ]
  4. 在名为 attribute.json 的文件中写入以下信息。

    [
        {
            "name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
            "id": "upn"
        }
    ]
  5. 添加 AD FS 作为身份提供程序。

    sudo viocli federation identity-provider add --type saml2
  6. 根据提示输入信息。

    Identity provider name []: adfs
    Identity provider display name (for Horizon) []: Active Directory Federation Services
    Description []: ADFS deployment
    Do you wish to use URL or local file for IdP metadata? (url, file) [url]: url
    IdP metadata URL []: https://adfs.example.com/federationmetadata/2007-06/federationmetadata.xml
    Do not verify certificates when establishing TLS/SSL connections [False]: false
    Do you wish to use a static file or template file for mapping rules? (static, template) [static]: static
    Enter the local path of mapping rules file: mapping.json
    Enter the name of the domain that federated users associate with [Default]: adfs-users
    Enter the name to the groups that federated users associate with (separated by commas ",") []: Federated Users
    Do you wish to use a static file or template file for attribute mapping? (static, template) [static]: static
    Enter the local path of attribute mapping file: attribute.json
  7. 部署更新后的身份配置。

    sudo viocli identity configure

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