本文档介绍如何通过IDaaS EIAM与阿里云RAM集成,实现基于用户组的自动角色SSO功能。该方案无需应用账号配置,管理员仅需将用户加入指定组后,用户即可通过SAML协议对应角色,登录阿里云控制台。
前提条件
IDaaS EIAM服务已开通且实例已创建。
可正常访问阿里云RAM控制台和IDaaS EIAM门户。
配置流程
一、基础配置
二、角色配置
创建 SAML 身份提供商。
重要创建SAML身份提供商前,请确保已获取到企业IdP的元数据文档。元数据文档为XML格式,包含IdP的登录服务地址、用于验证签名的公钥及断言格式等信息。
使用阿里云账号登录RAM控制台。在左侧导航栏,选择 。
在角色SSO页签,先单击SAML页签,然后单击创建身份提供商。
在创建身份提供商页面,输入身份提供商名称。本文示例名称为:idaas-saml-standard。
在元数据文档区域,单击上传文件,上传从SAML应用获取的元数据文件。然后单击创建身份提供商。
创建角色。
在RAM控制台左侧导航栏 下,单击创建角色。
在创建角色页面的右上角,单击切换编辑器。
在编辑器中选择上一步创建的 SAML 身份提供商。
单击确定,输入角色名称(role1)后,再次单击确定。
返回角色页面,可查看已创建完成的角色role1。用相同的流程创建role2。
三、用户组配置
在IDaaS侧,创建用户和组,并授权应用。
创建用户。在IDaaS控制台,左侧导航栏
。单击创建账户,新建一个用户(emp001)。创建组。
在左侧导航栏
,单击创建组。输入组名称(group01)与外部ID(role1)。重要外部ID和 RAM 创建的角色名称必须保持一致。
以相同的方式创建另一个组。组名称(group02)与外部ID(role2)。
分别在两个组中添加已创建的用户(emp001)。
应用授权。在创建的SAML 2.0 应用详情页,
处,分别授权上一步创建的用户和组。
四、高级SAML配置
进入SAML 2.0 应用详情页的显示高级配置,添加断言属性:
断言属性1:角色映射
key: https://www.aliyun.com/SAML-Role/Attributes/Role
value: SamlArray(ArrayMap(user.groups, StringReplace("acs:ram::$uid:role/$roleName,acs:ram::$uid:saml-provider/$idp", "$roleName", __item.groupExternalId)))
说明$uid:替换为主账号ID(可在阿里云首页获取)。
$idp:替换为步骤二创建的身份提供商名称。
断言属性2:会话名称
key: https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName
value: user.username
五、验证配置
登录IDaaS EIAM门户,使用步骤三创建的用户账号( emp001) 访问SAML 2.0应用,系统将自动跳转至阿里云控制台。
在角色选择界面,选择可选的角色 role1 和 role2 进行登录。
说明通过IDaaS的用户组管理功能,您可批量配置SSO权限。只需将目标账户添加到已配置好应用授权的用户组(如group01/group02),即可继承该组的SAML应用访问权限。此方式无需为每个账户单独配置,实现以下优势:
权限集中管理:通过组维度统一控制角色映射关系。
快速扩展性:新增用户时仅需加入对应业务组。
降低配置复杂度:避免重复创建相似的个体账户授权策略。
保障权限一致性:确保组内所有成员遵循相同的SAML断言规则。