本文提供一个以Azure AD(Azure Active Directory,以下简称 AAD)与阿里云进行角色SSO的示例,帮助用户理解企业IdP与阿里云进行SSO的端到端配置流程。
背景信息
在本示例中,企业拥有一个阿里云账号(Account1)和一个Azure AD租户。在Azure AD租户中,您有一个管理员用户(已授予全局管理员权限)和一个企业员工用户(u2)。您希望经过配置,使得企业员工用户(u2)在登录Azure
AD后,通过角色SSO访问阿里云账号(Account1)。
您需要通过管理员用户(已授予全局管理员权限)执行本示例AAD中的操作。关于如何在AAD中创建用户和为用户授权,请参见AAD文档。
步骤1:在AAD库中添加应用程序
- 管理员用户登录Azure门户。
- 单击主页的
图标。
- 在左侧导航栏,单击。
- 单击新建应用程序。
- 搜索Alibaba Cloud Service (Role-based SSO)并单击选择。
- 输入应用名称,然后单击创建。
本示例中,使用默认应用名称Alibaba Cloud Service (Role-based SSO),您也可以自定义应用名称。
- 在Alibaba Cloud Service (Role-based SSO)页面,单击左侧导航栏的属性,复制并保存对象ID。
步骤2:配置AAD SSO
- 在Alibaba Cloud Service (Role-based SSO)页面,单击左侧导航栏的单一登录。
- 在选择单一登录方法页面,单击SAML。
- 在设置SAML单一登录页面进行配置。
- 在页面左上角,单击上传元数据文件,选择文件后,单击添加。

说明 您可以通过以下URL获取元数据文件: https://signin.aliyun.com/saml-role/sp-metadata.xml
。
- 在基本SAML配置页面,配置以下信息,然后单击保存。
- 标识符(实体 ID):从上一步的元数据文件中自动读取
entityID
的值。
- 回复 URL(断言使用者服务 URL):从上一步的元数据文件中自动读取
Location
的值。
- 中继状态:用来配置角色SSO登录成功后跳转到的阿里云页面。
说明 出于安全原因,您只能填写阿里巴巴旗下的域名URL作为中继状态的值,例如:*.aliyun.com、*.hichina.com、*.yunos.com、*.taobao.com、*.tmall.com、*.alibabacloud.com、*.alipay.com,否则配置无效。若不配置,默认跳转到阿里云控制台首页。
- 在用户属性和声明区域,单击
图标。
- 单击添加新的声明,配置以下信息,然后单击保存。
- 在名称区域,输入
Role
。
- 在命名空间区域,输入
https://www.aliyun.com/SAML-Role/Attributes
。
- 在源区域,选择属性。
- 在源属性区域,从下拉列表中选择
user.assignedroles
。
- 重复上述步骤,添加一个新的声明。
- 在名称区域,输入
RoleSessionName
。
- 在命名空间区域,输入
https://www.aliyun.com/SAML-Role/Attributes
。
- 在源区域,选择属性。
- 在源属性区域,从下拉列表中选择
user.userprincipalname
。
- 在SAML签名证书区域,单击下载,获取联合元数据XML。
步骤3:在阿里云创建身份提供商
- 阿里云账号(Account1)登录RAM控制台。
- 在左侧导航栏,单击SSO管理。
- 在角色SSO页签下,单击创建身份提供商。
- 输入身份提供商名称
AAD
和备注。
- 在元数据文档区域,单击上传文件。
- 单击确定。
步骤4:在阿里云创建RAM角色
- 创建身份提供商后,单击前往新建RAM角色。
- 单击创建RAM角色。
- 选择可信实体类型为身份提供商,单击下一步。
- 输入角色名称
AADrole
和备注。
- 在下拉列表中选择身份提供商
AAD
,单击完成。
说明
- 您可以根据需要为RAM角色添加权限。关于如何为RAM角色添加权限,请参见为RAM角色授权。
- 当身份提供商和对应的RAM角色创建完成后,请保存好对应的ARN。关于如何查看ARN,请参见查看RAM角色基本信息。
- 单击关闭。
步骤5:将阿里云RAM角色与AAD用户进行关联
- 在AAD中创建角色。
- 管理员用户登录AAD Graph浏览器。
- 单击账号右侧的
。
- 单击选择权限。
- 在权限页面,选择以下权限并单击同意。

说明 修改权限后,系统会重定向到Graph浏览器。
- 在Graph浏览器页面,第一个下拉列表中选择GET,第二个下拉列表中选择beta。在搜索框中输入
https://graph.microsoft.com/beta/servicePrincipals/<objectID>
,其中objectID
是您在AAD属性页面保存的对象ID,然后单击运行查询。
说明 如果您有多个目录,您可以在查询区域输入https://graph.microsoft.com/beta/contoso.com/servicePrincipals
。
- 在响应预览页签下,提取出
appRoles
属性并保存。 "appRoles": [
{
"allowedMemberTypes": [
"User"
],
"description": "msiam_access",
"displayName": "msiam_access",
"id": "7dfd756e-8c27-4472-b2b7-38c17fc5****",
"isEnabled": true,
"origin": "Application",
"value": null
}
],
- 返回Graph浏览器,将第一个下拉列表改为PATCH,第二个下拉列表中选择beta。在搜索框中输入
https://graph.microsoft.com/beta/servicePrincipals/<objectID>
,其中objectID
是您在AAD属性页面保存的对象ID,将以下内容复制到请求正文中并选择运行查询。 {
"appRoles": [
{
"allowedMemberTypes":[
"User"
],
"description": "msiam_access",
"displayName": "msiam_access",
"id": "7dfd756e-8c27-4472-b2b7-38c17fc5****",
"isEnabled": true,
"origin": "Application",
"value": null
},
{ "allowedMemberTypes": [
"User"
],
"description": "Admin,AzureADProd",
"displayName": "Admin,AzureADProd",
"id": "68adae10-8b6b-47e6-9142-6476078c****", //自定义ID
"isEnabled": true,
"origin": "ServicePrincipal",
"value": "acs:ram::187125022722****:role/aadrole,acs:ram::187125022722****:saml-provider/AAD" //身份提供商和RAM角色的ARN
}
]
}
说明 您可以根据需要创建多个RAM角色,AAD将在SAML中将这些角色作为声明值进行传送,但是您只能在msiam_access
后添加新的角色。
- 将RAM角色添加到用户(u2)中。
- 管理员用户登录Azure门户。
- 在左侧导航栏,单击。
- 在名称列表下,单击Alibaba Cloud Service (Role-based SSO)。
- 在左侧导航栏,单击用户和组。
- 单击左上角的添加用户。
- 单击用户,从用户列表中选择用户(u2),单击选择。
- 单击分配。
- 查看分配的角色。

说明 如果您分配了用户(u2),创建的RAM角色会自动附加给用户。如果您创建了多个角色,您需要根据需要合理分配角色。如果您需要完成AAD与多个阿里云账号的角色SSO,请重复上述配置步骤。
配置验证
- 获取用户访问URL。
- 管理员用户登录Azure门户。
- 在左侧导航栏,单击。
- 在名称列表下,单击Alibaba Cloud Service (Role-based SSO)。
- 在左侧导航栏,选择属性,获取用户访问URL。
- 用户(u2)从管理员用户处获取上述用户访问URL在浏览器中输入该URL,使用自己的账号登录。
系统将自动单点登录并重定向到您指定的中继状态页面。如果未指定中继状态或超出允许范围,则系统会访问如下阿里云控制台首页。

在文档使用中是否遇到以下问题
更多建议
匿名提交