4.20. 创建映射文件和上传到 Keystone
Keystone 执行映射,将 IdP 的 SAML 断言与 keystone 可以理解的格式匹配。映射由 keystone 的映射规则执行,它基于绑定到 IdP 的映射规则。
这些是本示例中使用的映射规则(如简介所述):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
此映射文件仅包含一条规则。规则被分为两个部分:local
和 remote
。映射引擎的工作原理是迭代规则列表,直到匹配为止,然后执行它。只有在规则 的远程
部分的 所有条件都匹配时才会考虑规则。在本例中,远程
条件指定:
-
断言必须包含名为
MELLON_NAME_ID
的值。 -
断言必须包含名为
MELLON_groups
的值,组列表中至少有一个组必须是openstack-users
。
如果规则匹配,则:
-
keystone
用户名
将被分配来自MELLON_NAME_ID
的值。 -
该用户将被分配给
federated_domain
域中的 keystone 组federated_users
。
在摘要中,如果 IdP 成功验证用户,并且 IdP 属于组 openstack-users
,那么 keystone 将允许该用户使用绑定到 keystone 中的 federated_users
组的权限访问 OpenStack。
4.20.1. 创建映射 复制链接链接已复制到粘贴板!
要在 keystone 中创建映射,请创建一个包含映射规则的文件,然后将其上传到 keystone,为其提供参考名称。在
fed_deployment
目录中创建映射文件(例如,在fed_deployment/mapping_${FED_IDP_IDP_NAME}_saml2.json
)中,并将名称$FED_114_MAPPING_NAME
分配给映射规则。例如:openstack mapping create --rules fed_deployment/mapping_rhsso_saml2.json $FED_OPENSTACK_MAPPING_NAME
$ openstack mapping create --rules fed_deployment/mapping_rhsso_saml2.json $FED_OPENSTACK_MAPPING_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
您可以使用 configure-federation
脚本作为两个步骤执行上述步骤:
./configure-federation create-mapping ./configure-federation openstack-create-mapping
$ ./configure-federation create-mapping
$ ./configure-federation openstack-create-mapping
-
create-mapping
- 创建映射文件。 -
openstack-create-mapping
- 执行文件的上传。