阿里云支持基于SAML 2.0的SSO(Single Sign On,单点登录),也称为身份联合登录。本文以Microsoft Active Directory (AD) 为例为您介绍企业如何使用自有的身份系统实现与阿里云的SSO并在容器服务ACK集群中进行身份验证。
本文主要介绍 AD FS的安装部署 , 用户SSO 配置和登录, 如需了解 角色SSO 配置和登录 请参考在AlibabaCloud上,如何使用AD FS进行 【角色SSO】 并完成在容器服务ACK集群中的身份验证
一. 安装部署Microsoft AD
- 打开 "Server Manager",单击 “Add roles and features”

- 单击 “Next”



- 选择 “Active Director Domain Service” "Add Featrues"




- 安装完成后点击 “Promote this server to a domain controller”

- "Add a new forest"
本示例中我们使用“testdomain.com”






安装完成后,服务器会重启:
- Start Menu -> Active Directory Users and Computers

- new Org and new Users






二. 安装CA
- 选择“Add roles and features” 安装CA

- 点击下一步直到选择"Active Directory Certificate Services"













- 访问http://localhost/certsrv 确保 CA安装成功

三. 安装ADFS
- 添加服务账号









- 安装ADFS












- 测试
访问https://adserver.testdomain.com/adfs/ls/idpinitiatedsignon

四. 配置AD到阿里云的单点登录
- 在RAM控制台配置ADFS
首先下载 FederationMetadata.xml文件
访问阿里云RAM控制台Settings -> Advanced -> SSO Settings:
更改"SSO Status" 为 "Enabled" 并且 "Upload" FederationMetadata.xml文件:
点击“OK”:

- 在ADFS中配置阿里云RAM为可信SAML SP
AD FS -> Tools -> AD FS Management:
Trust Relationships -> Replying Party Trusts -> Add Replying Trust:


the URL can be found in ram console:





Add rules:
选择"Transform an Incoming Claim":


现在我们在AD上有以下组和用户:
Group001:
testuser01 testuser02
Group002:
testuser03 testuser04
我们在RAM控制台也创建相应的组和用户:
使用子账号testuser01 testuser02 testuser03 testuser04测试登录操作:

使用testuser01@testdomain.com登录:

五. 为子账户授权ACK集群操作权限
此时子账户没有任何集群操作权限:
我们可以创建一个自定义策略允许group01下的用户对命名空间ci有读写权限:

授权完成后访问集群资源:
参考子账号RBAC权限配置指导为子账户授权。
参考文档:
https://help.aliyun.com/document_detail/93685.html
https://help.aliyun.com/document_detail/87656.html