全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
访问控制

不同企业之间的资源操作与授权管理

更新时间:2017-09-15 10:25:22

本文介绍了具体场景下,使用 RAM 角色进行跨账号授权的解决方案和操作步骤。

场景描述

云账号 A 和云账号 B 分别代表不同的企业。A 购买了多种云资源(如 ECS 实例/ RDS 实例/ SLB 实例/ OSS 存储空间/…)来开展业务。

  • 企业 A 希望能专注于业务系统,而将云资源运维监控管理等任务委托(或授权)给企业 B。
  • 企业 B 还可以进一步将 A 的资源访问权限分配给 B 的某一个或多个员工。B 可以精细控制其员工对 A 所控制的资源的操作权限。
  • 如果 A 和 B 的这种代运维合同终止,A 随时可以撤销对 B 的授权。

需求分析

分析以上场景,

  • 涉及 A 和 B 两个云账号之间的授权;账号 A 是资源 Owner,希望授权账号 B 来操作。
  • 账号 B 需要进一步给其子用户(代表员工或应用)授权;当 B 的员工加入或离职时,A 无需做任何权限变更。
  • 如果双方业务终止,A 随时可以撤销对 B 的授权。

解决方案

针对以上需求,使用 RAM 角色做跨账号授权及资源访问

  • 云账号 A 在 RAM 中创建一个角色,给角色授予合适的权限,并允许云账号 B 使用该角色。操作流程见 跨账号授权
  • 如果云账号 B 下的某个员工(RAM 用户)需要使用该角色,那么云账号 B 可以自主进行授权控制。代运维操作时,账号 B 下的 RAM 用户将使用被授予的角色身份来操作账号 A 的资源。操作流程见 跨账号资源访问
  • 如果账号 A 与账号 B 的合作终止,A 只需要撤销账号 B 对该角色的使用。一旦账号 B 对角色的使用权限被撤销,那么 B 下的所有 RAM 用户对该角色的使用权限将被自动撤销。操作方法见 撤销跨账号授权

跨账号授权

使用 RAM 角色进行跨账号授权的操作示意图如下。其中,假设企业 A(AccountID=11223344,别名 company-a)需要授权企业 B(AccountID=12345678,别名 company-b)的员工对其 ECS 进行操作。

使用RAM角色的跨账号授权

操作步骤如下:

  1. 云账号 A 创建用户角色(假设角色名为 ecs-admin),并选择 其他云账号(云账号 B:12345678) 作为受信云账号,即允许云账号 B 下的 RAM 用户来扮演该角色。具体操作请参考 角色

    角色创建成功后,在角色详情中可以查看到该角色的基本信息:

    • 角色的全局名称 Arn 如下:

      1. acs:ram::11223344:role/ecs-admin
    • 角色的信任策略(只允许企业 B 来扮演角色)如下:

      1. {
      2. "Statement": [
      3. {
      4. "Action": "sts:AssumeRole",
      5. "Effect": "Allow",
      6. "Principal": {
      7. "RAM": [
      8. "acs:ram::12345678:root"
      9. ]
      10. }
      11. }
      12. ],
      13. "Version": "1"
      14. }
  2. 云账号 A 给角色授权,向用户角色 ecs-admin 附加管理云服务器 ECS 的权限(AliyunECSFullAccess)。

  3. 云账号 B 为其员工 创建 RAM 用户(假设用户名为 zhangsan),并为该 RAM 用户

跨账号资源访问

云账户 B 的 RAM 用户 zhangsan 通过控制台访问 云账号 A 的 ECS 资源。操作步骤如下:

  1. 云账号 B 的 RAM 用户(zhangsan)登录控制台

    子用户登录时需正确输入 企业别名(company-b)、子用户名称(zhangsan) 和 子用户密码(123456)。

  2. 云账号 B 的 RAM 用户(zhangsan)切换身份

    将鼠标悬置在控制台右上角登录名上,在用户登录信息浮窗中单击 切换身份,进入身份切换页面;输入正确的 企业别名(company-a)和 角色名(ecs-admin),进行角色 切换

  3. 云账号 B 的 RAM 用户(zhangsan)操作云账号 A 下的 ECS 资源。

撤销跨账号授权

云账号 A 撤销 云账号 B 对角色 ecs-admin 的使用,操作方法如下:

  1. 云账号 A 登录 RAM 控制台,在 角色管理 页面找到 角色 ecs-admin,单击其角色名称或其操作列下的 管理,进入 角色详情 页面。

  2. 单击右上角 编辑基本信息,在角色的 策略内容 中,删除 acs:ram::12345678:root 行(即将云账号 B 从角色的受信云账号中撤销)。

    注意:也可以选择让云账号 A 在 角色管理 页面 删除 角色 ecs-admin;但在删除角色前,角色不能有任何授权策略。

本文导读目录