访问控制(RAM)是阿里云提供的管理用户身份与资源访问权限的服务。通过RAM您可以创建子账号,并控制子账号对主账号名下的资源具有的操作权限。当企业账号存在多用户协同操作资源时,使用RAM可以避免多用户共享云账号密钥,主账号可以按需为子账号分配最小权限,从而降低企业信息安全风险。

前提条件

进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册

背景信息

通过RAM您可以控制子账号执行的ROS操作,也可以控制子账号对指定资源栈(Stack)下的资源进行操作。以ROS的资源栈(Stack)为单位对资源集合进行统一的权限控制和管理。关于RAM的更多操作,请参见 RAM用户指南

操作步骤

  1. 登录 RAM控制台
  2. 在左侧导航栏选择设置,对RAM进行初始设置。
    您可以设置子账号密码强度、子账号安全和域名。如果操作中有问题,请参见 RAM初始设置
  3. 在左侧导航栏选择用户,新建子账号,并为子账号设置登录密码和AccessKey。
    创建子账号的操作方法,请参见创建RAM用户
  4. 创建ROS相关操作的自定义授权策略,即子账号可以对资源栈进行操作的授权策略(您也可以先创建好自定义ROS授权策略)。

    创建自定义授权策略的操作方法,请参见创建自定义策略

    授权策略语言,请参见 Policy基本元素Policy语法结构

    创建ROS相关的自定义授权策略可用到的操作名称、描述、和示例如下。

    使用以下表格列出的可选操作,作为策略中的ActionResource元素的内容,可以组合出多种授权策略。 Action元素表示授权的操作;Resource表示授权操作的资源。

    • ROS相关操作列表
      操作 描述
      ros:DescribeStacks 查看资源栈列表。
      ros:CreateStack 创建资源栈。
      ros:DeleteStack 删除资源栈。
      ros:UpdateStack 更新资源栈。
      ros:CancelUpdateStack 取消资源栈更新。
      ros:AbandonStack 丢弃资源栈。
      ros:ValidateTemplate 校验模板。
      ros:DescribeStackDetail 查看资源栈详情。
      ros:DescribeStackResources 查看资源列表。
      ros:DescribeStackResourceDetail 查看资源详情。
      ros:DescribeStackEvents 查看事件列表。
      ros:DescribeStackTemplate 查看模板内容。
    • ROS资源描述符
      RAM的策略定义中,可以通过下面的方式描述ROS资源栈,其中的变量可以用星号(*)来表示所有。如授权查看某一地域内的资源栈列表和详情的描述结构为:
      acs:ros:{region_id}:{owner_id}:stack/{stack_name}/{stack_id}                       
      示例:
      acs:ros:cn-beijing:*:stack/myStack/94dd5431-2df6-4415-81ca-732a7082252a                   
      • 策略示例:授予查看资源栈的策略
        {
          "Statement": [
            {
              "Action": [
                "ros:DescribeStacks",
                "ros:DescribeStackDetail"
              ],
              "Effect": "Allow",
              "Resource": "acs:ros:cn-beijing:*:stack/*"
            }
          ],
          "Version": "1"
        }
        									

        该策略授予查看cn-beijing区域的所有资源栈列表和资源栈详情的权限。其中,星号是一个通配符,它表示账号下cn-beijing地域的所有资源栈。

      • 策略示例:授予创建和查看资源栈的策略
        {
          "Statement": [
            {
              "Action": [
                "ros:CreateStack",
                "ros:DescribeStacks",
                "ros:DescribeStackDetail",
                "ros:ValidateTemplate"
              ],
              "Effect": "Allow",
              "Resource": "*"
            }
          ],
          "Version": "1"
        }
        									

        通过该策略,可以授予用户在所有区域创建和查看资源栈的权限。

      • 策略示例:授予指定用户更新指定资源栈的策略
        {
          "Statement": [
            {
              "Action": [
                "ros:UpdateStack"
              ],
              "Effect": "Allow",
              "Resource": "acs:ros:cn-beijing:123456789:stack/myStack/94dd5431-2df6-4415-81ca-732a7082252a"
            }
          ],
          "Version": "1"
        }
        									

        该策略授予ID为123456789的用户可以对名称为myStack,ID为94dd5431-2df6-4415-81ca-732a7082252a的资源栈进行更新操作。

  5. 用户用户组页面列表中,找到要授权的子账号或群组,并给其授予权限。