本文介绍了如何使用访问控制 RAM(Resource Access Management)在账号级别上实现对逻辑编排访问资源的授权。

背景信息

阿里云2000元代金券免费领,最新优惠1折抢购,2核4G云服务器仅799元/3年,新老用户同享,立即抢购>>>

在逻辑编排编排工作流的过程中,可能需要使用各种云产品的 OpenAPI 。对于主账号用户,用户可以通过授权 RAM 角色给逻辑编排调用相关的 OpenAPI。但是,逻辑编排服务有权访问这个 RAM 角色,并不代表执行逻辑编排的子账号,有权使用这个 RAM 角色。只有对子账号和目标 RAM 角色进行 PassRole 鉴权通过之后,该子账号才能通过逻辑编排服务,使用目标 RAM 角色。

主要的执行流程如下所示:

通过RAM授权子账号编排工作流_用户指南_逻辑编排

注意 用户仅需完成 1-5 步的操作,后续 6-9 步由被授权产品完成。

操作步骤(子账号没有 RAM 读写权限)

  1. 创建 RAM 角色。在 RAM 控制台的 RAM角色管理 页面可以查看您当前拥有的角色,这里可以创建一个名为 AliyunLogicComposerDefaultRole 的角色,如果您没有创建过角色,创建方法请参见 创建可信实体为阿里云服务的RAM角色
注意 这里创建的 角色名称 为 AliyunLogicComposerDefaultRole, 受信服务 请选择 逻辑编排

通过RAM授权子账号编排工作流_用户指南_逻辑编排
2. 为创建的角色添加权限。在 RAM 控制台的 权限策略管理 页面可以查看您当前的权限策略,这里需要创建自定义权限策略。如果您没有创建过自定义策略,创建方法请参见 创建自定义策略。这里具体的权限策略可参考以下示例,这里权限应该根据实际需要进行填写。

{       "Statement": [             {                   "Action": [                         "*:TagResources",         "oss:PutBucketTags"       ],       "Effect": "Allow",          "Resource": "*"     }       ],       "Version": "1" }

接着给第一步创建的角色添加刚刚创建的权限。在 RAM 控制台的 RAM角色管理 中选择第一步创建的角色,授权方法请参见 为RAM用户授权。注意这里需要选择 自定义权限策略选择之前创建的权限。

通过RAM授权子账号编排工作流_用户指南_逻辑编排

3. 使用主账号创建一个子账号,如果已经有子账号可以直接跳过。关于如何创建 RAM 用户,请参见 创建RAM用户。创建完成后,授予子账号 逻辑编排 的权限,请参见 使用RAM授权

4. 在第二步中我们为逻辑编排创建好了 AliyunLogicComposerDefaultRole 角色。接下来需要将该角色授予给第三步创建的子账号,首先创建一条新的 权限策略。方法与第二步创建权限方式一样,这里权限策略可参考如下示例:

{       "Statement": [           {                  "Action": "ram:PassRole",                  "Resource": "acs:ram::<parent uid>:role/aliyunlogiccomposerdefaultrole",                  "Effect": "Allow",                  "Condition": {                         "StringEquals": {                               "acs:Service": "composer.aliyuncs.com"                         }                  }             }   ],       "Version": "1" }

注意 这里 Resource 可以从角色中的 ARN 中获取。

通过RAM授权子账号编排工作流_用户指南_逻辑编排

5. 给子用户授予这个权限策略,创建方法请参见 为 RAM 用户授权

6. 授权完毕,可以将 角色名 交给子账号用户,子账号此时可以前往 逻辑编排 进行工作流编辑,并在调用 OpenAPI 时给 逻辑编排 授权。

6.1 如果子账号没有 RAM 只读权限,子账号在授权时将该角色填入授权框内,点击“确定”完成授权操作。

通过RAM授权子账号编排工作流_用户指南_逻辑编排

6.2 如果子账号有 RAM 只读权限,子账号可以通过可视化的方式选择合适的角色。

通过RAM授权子账号编排工作流_用户指南_逻辑编排

操作步骤(子账号有 RAM 读写权限)

1. 根据授权面板提示,用户可以选择最合适的 权限策略 进行授权。

通过RAM授权子账号编排工作流_用户指南_逻辑编排