阿里云与企业进行角色 SSO 时,阿里云是服务提供商(SP),而企业自有的身份管理系统则是身份提供商(IdP)。通过角色 SSO,企业可以在本地 IdP 中管理员工信息,无需进行阿里云和企业 IdP 间的用户同步,企业员工将使用指定的 RAM 角色来登录阿里云。
本文主要介绍 AD FS的配置 , 角色SSO 配置和登录, 如需了解 用户SSO 配置和登录 请参考 在AlibabaCloud上,如何使用AD FS进行 【用户SSO】 并完成在容器服务ACK集群中的身份验证
一. 在阿里云 RAM控制台将AD FS配置为可信SAML IdP
- 创建名为
adfs
的身份提供商, 并配置相应的元数据。
首先访问https://adserver.testdomain.com/FederationMetadata/2007-06/FederationMetadata.xml下载 FederationMetadata.xml文件 (adserver.testdomain.com为已搭建好的AD FS服务器域名)
RAM控制台 -> SSO管理 -> 角色SSO -> 新建身份提供商:
- 创建可信实体类型为身份提供商的RAM角色ADFS-Admin 和 ADFS-Reader,并分别授予 AdministratorAccess和ReadOnlyAccess权限。
RAM控制台 -> RAM角色管理 -> 新建RAM角色 -> 选择步骤1中创建的身份提供商:
分别为 RAM角色ADFS-Admin 和 ADFS-Reader 授予 AdministratorAccess和ReadOnlyAccess权限。
二. 在AD FS中配置阿里云为可信SAML SP
在 AD FS 中,SAML SP 被称作信赖方(Relying Party)。设置阿里云作为 AD FS 的可信 SP 的操作步骤如下:
- 服务器管理器 -> 工具菜单 -> 选择AD FS 管理
Federation metadata address: https://signin.aliyun.com/saml-role/sp-metadata.xml
- 为阿里云SP配置 SAML断言属性
Add rules(参考https://help.aliyun.com/document_detail/110616.html):
(1) NameID:
(2) RoleSessionName:
(3) Role:
(4) Get AD Groups:
- 配置验证
在AD FS中创建groupAliyun-<your uid>-ADFS-Reader
和Aliyun-<your uid>-ADFS-Admin
, 创建userliusheng
并加入groupAliyun-<your uid>-ADFS-Reader
和Aliyun-<your uid>-ADFS-Admin
:
登录 AD FS SSO 门户, 本示例为https://adserver.testdomain.com/adfs/ls/idpinitiatedsignon
选择一个角色进行SSO登录, 如选择ADFS-Admin角色登录:
- 访问ACK容器服务并为角色配置权限
访问容器集群ls-test的应用资源:
授权管理 -> RAM角色 -> 填写角色名称并点击管理权限
为容器集群ls-test授权管理员权限,并根据提示完成授权:
再次访问容器集群ls-test的应用资源验证授权成功: