通过IDaaS EIAM与阿里云RAM实现用户组自动角色SSO

本文档介绍如何通过IDaaS EIAM与阿里云RAM集成,实现基于用户组的自动角色SSO功能。该方案无需应用账号配置,管理员仅需将用户加入指定组后,用户即可通过SAML协议对应角色,登录阿里云控制台。

前提条件

  • IDaaS EIAM服务已开通且实例已创建。

  • 可正常访问阿里云RAM控制台和IDaaS EIAM门户。

配置流程

一、基础配置

  1. 创建SAML应用。

    1. 登录IDaaS控制台,选择对应的IDaaS实例,单击操作列的访问控制台

    2. 单击应用 > 添加应用 > 标准协议,添加SAML 2.0应用 。image

    3. 输入应用名称后,单击立即添加

  2. 获取阿里云SAML元数据。

    1. 进入RAM控制台,在左侧导航栏单击集成管理 > SSO管理,获取SAML 服务提供商元数据 URLimage

    2. SAML 2.0应用配置页面中,将SAML 服务提供商元数据 URL粘贴至请输入应用 metadata 地址处,单击解析按钮完成配置。

      image

    3. 下载IdP 元数据文件,用于上传至 RAM 身份提供商页面。image

二、角色配置

  1. 创建 SAML 身份提供商

    重要

    创建SAML身份提供商前,请确保已获取到企业IdP的元数据文档。元数据文档为XML格式,包含IdP的登录服务地址、用于验证签名的公钥及断言格式等信息。

    1. 使用阿里云账号登录RAM控制台。在左侧导航栏,选择集成管理 > SSO管理

    2. 角色SSO页签,先单击SAML页签,然后单击创建身份提供商。

    3. 创建身份提供商页面,输入身份提供商名称。本文示例名称为:idaas-saml-standard。

    4. 元数据文档区域,单击上传文件,上传从SAML应用获取的元数据文件。然后单击创建身份提供商image

  1. 创建角色

    1. RAM控制台左侧导航栏身份管理 > 角色下,单击创建角色image

    2. 创建角色页面的右上角,单击切换编辑器

      image

    3. 在编辑器中选择上一步创建的 SAML 身份提供商。image

    4. 单击确定,输入角色名称(role1)后,再次单击确定image

    5. 返回角色页面,可查看已创建完成的角色role1。用相同的流程创建role2。image

三、用户组配置

IDaaS侧,创建用户和组,并授权应用。

  1. 创建用户。在IDaaS控制台,左侧导航栏账户 > 账户与组织。单击创建账户,新建一个用户(emp001)。image

  2. 创建组。

    1. 在左侧导航栏账户 > ,单击创建组。输入组名称(group01)与外部ID(role1)。

      重要

      外部ID和 RAM 创建的角色名称必须保持一致。

      image

    2. 以相同的方式创建另一个组。组名称(group02)与外部ID(role2)。

    3. 分别在两个组中添加已创建的用户(emp001)。imageimage

  3. 应用授权。在创建的SAML 2.0 应用详情页,登录访问 > 应用授权处,分别授权上一步创建的用户和组。

四、高级SAML配置

进入SAML 2.0 应用详情页的显示高级配置,添加断言属性image

  • 断言属性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

    image

五、验证配置

  1. 登录IDaaS EIAM门户,使用步骤三创建的用户账号( emp001) 访问SAML 2.0应用,系统将自动跳转至阿里云控制台。image

  2. 在角色选择界面,选择可选的角色 role1 和 role2 进行登录。image

    说明

    通过IDaaS的用户组管理功能,您可批量配置SSO权限。只需将目标账户添加到已配置好应用授权的用户组(如group01/group02),即可继承该组的SAML应用访问权限。此方式无需为每个账户单独配置,实现以下优势:

    1. 权限集中管理:通过组维度统一控制角色映射关系。

    2. 快速扩展性:新增用户时仅需加入对应业务组。

    3. 降低配置复杂度:避免重复创建相似的个体账户授权策略。

    4. 保障权限一致性:确保组内所有成员遵循相同的SAML断言规则。