全部产品
云市场

账户访问控制

更新时间:2019-07-03 19:02:55

本文介绍了如何使用访问控制RAM(Resource Access Management)在账号级别上控制对OOS资源的访问,具体通过创建RAM用户(组)并授予特定权限策略实现。

应用场景

访问控制RAM是阿里云提供的资源访问控制服务。以下列举了访问控制RAM的典型场景:

运维编排管理员:您可以创建一个运维编排管理员,给该管理员组授予运维编排的完全权限,包括创建编辑模板和执行。

模板开发者:该用户组需要编辑模板的权限。您可以给开发者组授予一个权限策略,该策略授予用户组成员调用CreateTemplate, UpdateTemplate等权限。

模板执行:您可以限制一部分用户只能执行OOS模板,而不能创建修改OOS模板

模板鉴权:您可以限制某个模板只能被指定的用户(组)执行

子账户PassRole权限

帮助文档”为OOS服务设置RAM权限”一节,介绍了创建RAM角色,并授信给运维编排服务的过程。但是,运维编排服务有权访问这个RAM角色,并不代表执行运维编排的子账户,有权使用这个RAM角色。只有对子账户和目标RAM角色进行PassRole鉴权通过之后,该子账户才能通过运维编排服务,使用目标RAM角色。

如果允许某子账户,灵活的使用已经授信给运维编排服务的所有RAM角色,那么,可以创建如下的权限策略并授权给该子账户:

  1. {
  2. "Version": "1",
  3. "Statement": [
  4. {
  5. "Action": "ram:PassRole",
  6. "Resource": "*",
  7. "Effect": "Allow",
  8. "Condition": {
  9. "StringEquals": {
  10. "acs:Service": "oos.aliyuncs.com"
  11. }
  12. }
  13. }
  14. ]
  15. }

出于安全考虑,您可能需要限制子账户只能使用某个特定的RAM Role(比如默认的OOSServieRole)来进行运维编排,在此情况下,您可以做如下授权:

  1. {
  2. "Version": "1",
  3. "Statement": [
  4. {
  5. "Effect": "Allow",
  6. "Action": "ram:PassRole",
  7. "Resource": "acs:ram::{parent_uid}:role/oosservicerole"
  8. }
  9. ]
  10. }
  • 如果RAM角色是在模板内部固定的(包括使用默认OOSServiceRole),输入参数不包含角色,那么,在执行该模板的时候,不需要PassRole授权。但是,在创建或者修改该模板的时候,子账户需要PassRole授权。

  • 如果RAM角色是在执行模板时通过输入参数Parameters动态获取的,模板本身并没有指定RAM Role,那么,在创建或者修改该模板时,不需要PassRole的权限。但相应的,执行该模板并指定RAM Role的子账户,需要PassRole权限。

权限策略

步骤一:请按以下流程在访问控制RAM控制台创建一个自定义权限策略:

  1. 登录RAM控制台
    在左侧导航栏,单击权限管理 > 权限策略管理。
  2. 单击新建权限策略。
    oos
  3. 填写策略名称和备注,如名称设置为OOSOperator,备注设置为:模板执行权限。单击脚本配置。

    1. 策略示例一:允许用户执行模板,但不允许编辑模板。
      1. {
      2. "Version": "1",
      3. "Statement": [
      4. {
      5. "Action": [
      6. "oos:List*",
      7. "oos:Get*",
      8. "oos:StartExecution",
      9. "oos:CancelExecution",
      10. "oos:NotifyExecution"
      11. ],
      12. "Resource": "*",
      13. "Effect": "Allow"
      14. }
      15. ]
      16. }
    2. 策略示例二:允许RAM用户创建编辑模板。不包含执行权限。

      1. {
      2. "Version": "1",
      3. "Statement": [
      4. {
      5. "Action": [
      6. "oos:List*",
      7. "oos:Get*",
      8. "oos:CreateTemplate",
      9. "oos:UpdateTemplate",
      10. "oos:ValidateTemplateContent"
      11. ],
      12. "Resource": "*",
      13. "Effect": "Allow"
      14. }
      15. ]
      16. }

      ```

    3. 策略示例三:运维编排的管理员权限。

      1. {
      2. "Version": "1",
      3. "Statement": [
      4. {
      5. "Action": "oos:*",
      6. "Effect": "Allow",
      7. "Resource": "*"
      8. },
      9. {
      10. "Action": "ram:PassRole",
      11. "Resource": "*",
      12. "Effect": "Allow",
      13. "Condition": {
      14. "StringEquals": {
      15. "acs:Service": "oos.aliyuncs.com"
      16. }
      17. }
      18. }
      19. ]
      20. }
  4. 单击确认完成创建。

    oos

步骤二:请按以下流程在访问控制RAM控制台授权RAM用户相关权限:

  1. 在左侧导航栏,单击人员管理 > 用户。

    oos
  2. 找到已创建的RAM用户,在操作列中,选择添加权限。在选择权限处,选择一个或多个系统权限策略或者自定义权限策略。
  3. 单击确定完成授权。