3.2. 将 Red Hat OpenStack Platform 与 Active Directory Federation 服务集成
使用 Active Directory Federation Services (ADFS)部署 Red Hat OpenStack Platform (RHOSP)后,您必须完成以下步骤将身份提供程序(IdP)与服务供应商(RHOSP)集成。
流程
创建一个联邦域:
openstack domain create <federated_domain_name>输出示例:
+-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | | | enabled | True | | id | b493634c9dbf4546a2d1988af181d7c9 | | name | my_domain | | options | {} | | tags | [] | +-------------+----------------------------------+设置联邦身份提供程序。
openstack identity provider create --remote-id https://<adfs_fqdn>:9443/adfs --domain <domain_name> adfsIdP将
<adfs_fqdn> 替换为 Active Directory Federation Services 的完全限定域名,将 <federated_domain_name> 替换为在第 1 步中创建的联邦域的名称。输出示例:
+-------------------+-----------------------------------------------------+ | Field | Value | +-------------------+-----------------------------------------------------+ | authorization_ttl | None | | description | None | | domain_id | b493634c9dbf4546a2d1988af181d7c9 | | enabled | True | | id | adfsIdP | | remote_ids | https:/adfs.fqdn.local/adfs/ | +-------------------+-----------------------------------------------------+创建映射文件.映射文件对您的云的身份需求是唯一的。
Example:
cat > mapping.json << EOF
[
{
"local": [
{
"user": {
"name": "{0}"
},
"group": {
"domain": {
"name": "<federated_domain>"
},
"name": "<federated_group_name>"
}
}
],
"remote": [
{
"type": "OIDC-upn"
}
]
}
]
EOF
$ openstack mapping create --rules mapping.json ADmap
创建一个联邦组:
openstack group create --domain <federation_domain> <federation_group_name>创建 Identity 服务(keystone)项目:
openstack project create --domain <federation_domain> <federation_project_name>- 将 Identity 服务联邦组添加到角色。
openstack role add --group <federation_group_name> --group-domain <federation_domain> --project <federation_project_name> --project-domain <federation_domain> member
创建 OpenID 联邦协议:
openstack federation protocol create openid --mapping ADmap --identity-provider adfsIdP