使用RAM控制资源访问

访问控制RAM(Resource Access Management)是阿里云提供的管理用户身份与资源访问权限的服务。您可以创建RAM用户并授予其对资源的操作权限。当您的企业存在多用户协同操作资源的场景时,RAM可以帮助您避免与其他用户共享阿里云账号密钥,按需为用户分配最小权限,从而降低企业的信息安全风险。

创建RAM用户并授权

为RAM用户授权系统策略

  1. 使用阿里云账号登录RAM控制台

  2. 在左侧导航栏,选择身份管理>设置,对RAM进行初始设置。

    您可以设置RAM用户安全策略。具体操作,请参见设置RAM用户安全策略

  3. 在左侧导航栏,选择身份管理>用户,创建RAM用户,并为RAM用户设置登录密码和AccessKey。

    具体操作,请参见创建RAM用户

  4. 用户页面,为目标RAM用户授予系统策略。

    说明
    • 当您希望此RAM用户具备只读访问资源编排服务(ROS)的权限时,可以为RAM用户配置AliyunROSReadOnlyAccess策略。

    • 当您希望此RAM用户具备管理资源编排服务所有操作(ROS)的权限,可以为RAM用户配置AliyunROSFullAccess策略。

为RAM用户授权自定义策略

  1. 在左侧导航栏,选择权限管理>权限策略,创建自定义策略。

    自定义策略是为RAM用户可以对资源栈进行操作的授权策略。具体操作,请参见创建自定义权限策略

    一个权限策略可以有多条授权语句,授权语句中需包含操作(Action)和资源(Resource)。关于ROS支持的操作(Action)和资源(Resource)的更多信息,请参见可授权的资源编排资源类型

  2. 在左侧导航栏,选择身份管理>用户,为目标RAM用户授予自定义策略。

    说明

    您可以为用户组授予自定义权限策略。为用户组授权后,用户组中的所有RAM用户将拥有该用户组的所有权限。

ROS自定义权限策略示例

  • 示例一:查看资源栈列表

    以下策略表示:RAM用户可以查看北京地域的所有资源栈列表和资源栈详情。其中,星号(*)是通配符,表示北京地域的所有资源栈。

    {
      "Statement": [
        {
          "Action": [
            "ros:DescribeStacks",
            "ros:DescribeStackDetail"
          ],
          "Effect": "Allow",
          "Resource": "acs:ros:cn-beijing:*:stack/*"
        }
      ],
      "Version": "1"
    }                                                        
  • 示例二:创建和查看资源栈

    以下策略表示:RAM用户可以在所有地域创建和查看资源栈。

    {
      "Statement": [
        {
          "Action": [
            "ros:CreateStack",
            "ros:DescribeStacks",
            "ros:DescribeStackDetail",
            "ros:ValidateTemplate"
          ],
          "Effect": "Allow",
          "Resource": "*"
        }
      ],
      "Version": "1"
    }                                                      
  • 示例三:更新资源栈

    以下策略表示:RAM用户12345****可以更新资源栈94dd5431-2df6-4415-81ca-732a7082****

    {
      "Statement": [
        {
          "Action": [
            "ros:UpdateStack"
          ],
          "Effect": "Allow",
          "Resource": "acs:ros:cn-beijing:12345****:stack/94dd5431-2df6-4415-81ca-732a7082****"
        }
      ],
      "Version": "1"
    }                                                        
  • 示例四:访问ROS的所有功能和资源

    当ROS通过阿里云STS(Security Token Service)和不通过STS进行临时授权访问时,以下策略均表示RAM用户当前IP网段为42.120.XX.XX/24、且正在使用HTTPS访问阿里云控制台或API时,可以访问ROS所有功能和资源,但不能访问其他云服务。说明:

    • acs:SourceIp取值为42.120.XX.XX/24,表示通过指定IP网段(42.120.XX.XX/24)访问阿里云。

    • acs:SecureTransport取值为true,表示通过HTTPS方式访问阿里云。

    {
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ros:*",
          "Resource": "*",
          "Condition": {
            "IpAddress": {
              "acs:SourceIp": "42.120.XX.XX/24"
            },
            "Bool": {
              "acs:SecureTransport": "true"
            }
          }
        }
      ],
      "Version": "1"
    }
  • 示例五:访问ROS的所有功能和资源,并设置是否支持访问ECS

    • 当ROS通过STS进行临时授权访问时,由于STS场景下无法透传acs:SourceIp和acs:SecureTransport,因此以下策略表示RAM用户当前IP网段为42.120.XX.XX/24、且正在使用HTTPS访问阿里云控制台或API时,可以访问ROS所有功能和资源,但不能访问其他服务,包括ECS。

    • 当ROS不通过STS进行临时授权访问时,以下策略表示RAM用户当前IP网段为42.120.XX.XX/24、且正在使用HTTPS访问阿里云控制台或API时,可以访问ROS和ECS所有功能和资源,但不能访问其他服务。

      说明

      当ROS不通过STS进行临时授权访问时,支持透传acs:SourceIp和acs:SecureTransport的服务为:云服务器ECS、专用网络VPC、负载均衡SLB、阿里云关系型数据库RDS、云数据库 Tair(兼容 Redis)、云解析PrivateZone、容器服务Kubernetes版ACK、函数计算FC、对象存储OSS、日志服务SLS、API网关和操作审计。

      {
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "ros:*",
              "ecs:*"
            ],
            "Resource": "*",
            "Condition": {
              "IpAddress": {
                "acs:SourceIp": "42.120.XX.XX/24"
              },
              "Bool": {
                "acs:SecureTransport": "true"
              }
            }
          }
        ],
        "Version": "1"
      }
  • 示例六:通过标签鉴权来访问和操作ROS的资源

    以下策略表示:允许RAM用户管理带有标签对{"Enviroment": "TEST"}的ROS资源。

    {
      "Statement": [
        {
          "Action": "ros:*",
          "Effect": "Allow",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "acs:ResourceTag/Enviroment": "TEST"
            }
          }
        }
      ],
      "Version": "1"
    }