在 API Manager 用户角色上配置 LDAP 组映射
作为 API Manager 管理员,您可以使用 developer toolkit CLI 在提供者组织中的 API Connect 角色上配置 LDAP 组映射。
准备工作
您必须在 API Manager 中具有将 external_group_mapping_enabled 配置设置为 true的 LDAP 用户注册表资源。 请参阅 使用 CLI 创建特定于组织的 LDAP 用户注册表 以获取信息。
需要以下一个角色才能编辑角色:
- 管理员
- 所有者
- 定制角色Settings: manage许可权
注: 提供者组织角色仅适用于 API Manager 用户。 如果要将 LDAP 组映射应用于 Cloud Manager 用户,请参阅 在 Cloud Manager 用户角色上配置 LDAP 组映射。 LDAP 组映射无法应用于 Developer Portal 用户。
关于此任务
您可以将外部 LDAP 组映射到 API Connect 预配置的用户角色 (所有者和成员角色除外) 以及任何定制用户角色,以反映您的业务需求。
注释:
- 在角色上启用 LDAP 组映射后,用户引导将始终采用组映射。
- 登录后, API Connect 中的用户成员资格在整个登录时间段 (
access_token_ttl) 内有效,而不考虑外部 LDAP 注册表中的任何更改。 仅在访存并刷新 LDAP 信息后,才会在下次登录时更新成员资格。 - 一个或多个 API Connect 角色可以映射到一个或多个 LDAP 组,一个或多个 LDAP 组可以映射到角色。
- 当多个 LDAP 组映射到单个角色时,这意味着任何一个 LDAP 组中的用户都可以登录到 API Connect。
- 如果从外部 LDAP 用户注册表中除去用户,那么为了确保从 API Connect 中快速除去用户,还必须删除 API Connect中的用户成员资格。
- 在 API Manager 中,您可以在提供者组织,目录和 (如果适用) 空间级别映射角色。 但是,如果父级也定义了组映射,那么只能在目录的子级上映射角色,然后在目录的子级空间上映射角色。 子级上的的映射会覆盖父级上同一角色的映射。 例如:
如果提供者组织级别的管理员角色映射到
cn=APIC-Administrators,ou=ibmgroups,o=ibm.com的 LDAP 组,并且目录级别的管理员角色映射到cn=APIC-Developers,ou=ibmgroups,o=ibm.com的 LDAP 组,那么添加为目录成员的任何用户都必须属于cn=APIC-Developers,ou=ibmgroups,o=ibm.com组。 请注意,由于继承,属于cn=APIC-Administrators,ou=ibmgroups,o=ibm.com组的提供者组织级别成员仍可访问目录。
您可以使用下列其中一种方法来配置 LDAP 组映射:
使用 UI 配置 LDAP 组映射
使用 API Manager UI 来配置 LDAP 组映射。
过程
结果
使用 CLI 配置 LDAP 组映射
使用工具箱 CLI 来配置 LDAP 组映射。
关于此任务
过程
执行以下步骤以将外部 LDAP 组映射到 API Manager 用户角色。
- 登录到管理服务器 CLI。必须先从 developer toolkit CLI 作为提供者组织的成员登录到管理服务器,然后才能更新角色配置。 使用以下命令:
其中apic login --server mgmt_endpoint_url --username user_id --password password --realm provider/identity_providermgmt_endpoint_url是平台 API 端点 URL。通过输入以下命令查看所有可用身份提供者的列表(无需登录即可使用此命令),可以确定要在--realm参数中使用的身份提供者:
例如apic identity-providers:list --scope provider --server platform_api_host_name --fields title,realm
您可通过apic identity-providers:list --scope provider --server platform_api_host_name --fields title,realm total_results: 2 results: - title: API Manager User Registry realm: provider/default-idp-2 - title: Corporate LDAP user registry realm: provider/corporate-ldaptitle值确定要使用的身份提供者;然后,可以直接从显示的realm值复制对应的--realm参数。 对于管理员在安装 API Connect 之后创建的任何身份提供者,将在创建时确定名称。 用于以提供者组织成员身份登录的缺省 API Manager 本地用户注册表为default-idp-2。有关登录命令的完整详细信息,请参阅 登录到管理服务器。
- 运行以下命令,获取要将用户角色映射到的 API 管理器中 LDAP 用户注册表资源的 URL :
其中:apic user-registries:get ldap_user_registry --org organization_name --server mgmt_endpoint_url --output -ldap_user_registry是 LDAP 用户注册表资源的名称或标识。organization_name是提供者组织的name属性值。mgmt_endpoint_url是平台 API 端点 URL。
url:,例如:type: user_registry api_version: 2.0.0 id: 35e75bad-1d89-4a65-a70f-xxxxxx name: ldap title: LDAP integration_url: >- https://server.com/api/cloud/integrations/user-registry/147b5fb1-e88e-41e3-90e9-xxxxxx registry_type: ldap user_managed: false user_registry_managed: false external_group_mapping_enabled: true ... url: >- https://server.com/api/user-registries/3d58ce7e-16a8-493b-9684-xxxxxx/35e75bad-1d89-4a65-a70f-xxxxxx - 创建包含以下 LDAP 组映射配置属性的角色 yaml 文件:
其中:external_group_mapping: user_registry_url: https://server.com/api/user-registries/3d58ce7e-16a8-493b-9684-xxxxxx/35e75bad-1d89-4a65-a70f-xxxxxx ldap_groups: - 'cn=apic-administrators,ou=ibmgroups,o=ibm.com' - 'cn=apic-developers,ou=ibmgroups,o=ibm.com' user_group_filter_prefix: (&(uniquemember= user_group_filter_suffix: )(objectClass=groupOfUniqueNames))user_registry_url是步骤 #task_apim_role_mapping__ldap_url 中 LDAP 用户注册表资源的 URL。ldap_groups是要映射到用户角色的 LDAP 组名的列表。user_group_filter_prefix是 LDAP 用户组的前缀。user_group_filter_suffix是 LDAP 用户组的后缀。
- 运行以下命令以使用
external_group_mapping配置属性更新用户角色:apic roles:update role_name --scope org --org organization_name --server mgmt_endpoint_url mapping_properties_file其中:role_name是要将 LDAP 组映射添加到的用户角色的名称。--scope是要将更新应用到的组织级别。 有效值为:org,用于在提供者组织级别应用映射。catalog,用于在目录级别应用映射。space,用于在空间级别应用映射。
organization_name是提供者组织的name属性值。mgmt_endpoint_url是平台 API 端点 URL。mapping_properties_file是来自步骤 #task_apim_role_mapping__role_file的映射属性文件的名称,例如role_mapping_file.yaml。
mapping_properties_file替换为终止连字符-,然后手动输入信息,然后按CTRL D以终止输入。如果要创建包含 LDAP 组映射的定制角色,可以在
role_file中包含external_group_mapping配置部分,然后使用apic roles:create命令创建新角色。
apic roles 命令的更多信息,请参阅 工具箱 CLI 参考文档。