本文主要介绍如何在阿里云上使用企业内部账号进行统一的身份认证,实现使用企业本地账号登录阿里云才能访问相应资源。

背景信息

企业 A 有两个部门上云,每个部门各自独立创建了云账号 A1和 A2。企业 A 有自己的本地域账号系统(假设是使用 Microsoft AD 和 AD FS 服务)。

企业 A 对 IAM 安全管理有非常严苛的合规要求:
  • 所有云上操作都必须使用企业内部域账号系统进行统一的身份认证,禁止任何企业成员使用独立用户账号和密码直接操作云资源。
  • 企业 A 希望云上用户与企业本地账号系统集成,所有员工必须使用企业本地账号登录然后才能访问被授权的云资源。

解决思路

前提条件:

进行操作前需先了解本次操作涉及到的相关术语:
术语 描述
资源云账号(Workload Account) 云账号下可以购买 ECS 实例、OSS 实例、RDS 实例等云资源。
身份云账号(Identity Account) 云账号下只创建 RAM 用户。
服务提供商(Service Provider) 利用 IdP 的身份管理功能,为用户提供具体服务的应用,SP 会使用 IdP 提供的用户信息。

基本思路:

如果企业的两个云账号都属于资源云账号,请按照如下思路进行操作:

  1. 创建一个独立的身份云账号。
  2. 将身份云账号当做服务提供商与企业本地 IdP 进行 SSO 集成。
  3. 利用阿里云 RAM 提供的跨账号 RAM 角色的授权访问能力进行跨账号访问其他云账号资源。
图 1. 基本原理

基本原理

云上多账号管理的操作步骤

  1. 注册一个新的云账号 A0 作为身份云账号。
    说明 A0 主要用于解决用户同步及配置 SSO 单点登录,用以区别于资源云账号。
  2. 使用 A0 登录 RAM 控制台配置 SSO 单点登录。
  3. 在企业本地 AD FS 服务中配置 A0 为服务提供商。
  4. 同步本地用户到 A0:将需要访问云资源的本地部门用户同步到 RAM。
  5. 在资源云账号A1 中创建跨账号的 RAM 角色 1,给 RAM 角色 1 设置合适的资源访问授权,并设置 A0 为受信云账号。
  6. 在资源云账号A2 中创建跨账号的 RAM 角色 2,给 RAM 角色 2 设置合适的资源访问授权,并设置 A0 为受信云账号。
  7. A0 授权 RAM 用户 Alice 拥有扮演 A1 或 A2 中对应角色的权限。