更新时间:2026-06-26 GMT+08:00
分享

资源控制策略(RCP)

操作场景

资源控制策略(Resource Control Policies,RCP)是组织服务提供的一种护栏策略,核心用于限制组织下的资源的最大可用权限边界。通过RCP明确资源允许的权限上限,所有访问组织内成员账号资源的操作,均需受对应RCP的护栏约束,从资源维度规避权限过度授予风险。支持关联到组织、组织单元(OU)或单个成员账号。当关联组织或组织单元(OU)时,其下所有成员账号的资源访问均受该策略约束;关联单个成员账号时,仅对该账号内资源的访问生效。

前提条件

获取组织ID:以组织管理员、管理账号或成员账号的身份登录组织管理控制台,进入控制面板页,即可查看组织ID、组织的URN、管理账号名称及管理账号ID等信息。

权限控制原理

  • 划定权限边界

    RCP不直接进行授权,只划定权限边界。将RCP绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。IAM策略授予权限的有效性受RCP限制,只有在RCP允许范围内的权限才能生效。RCP禁止的权限操作,即便授予IAM用户权限,用户也不能执行相关操作。

    比如成员账号A绑定了某一条RCP,RCP允许操作A的权限,拒绝操作B的权限。那么成员账号A可以给自己名下的IAM用户授予操作A的权限,不能授予操作B的权限,即便授予了操作B的权限,也无法生效。

  • 逐层检查权限

    如果要允许成员账号使用某个云服务的操作,在从组织的Root到账号直接路径中的每个OU(包括目标账号本身),每个层级都必须有显示允许该操作。

    图1 在Root、OU 和账号y 处附加 Allow 语句的组织结构示例

    如果要拒绝特定账号获取权限,在从组织的Root到账号直接路径中的每个OU(包括目标账号本身),任何RCP都可以拒绝该权限。

    图2 OU 中附加了 Deny 语句的组织结构示例及其对账号 y 的影响
  • 默认允许

    组织启用RCP时,默认会为所有OU和账号附加全部权限(RCPFullAccess策略),默认允许所有操作。除非您为OU或账号附加其他的明确拒绝策略。

策略语法示例

配置示例1:组织内的镜像只能由组织内的账号下载。

下面策略的含义:该策略绑定的OU或账号下的镜像不能被组织外的账号下载。只能由组织(o-j1ftg6v1z9zldcg2o29ho0gvazswvia2)内的账号下载。

{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": [
        "swr:repo:download"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringNotEquals": {
          "g:PrincipalOrgId": [
            "o-j1ftg6v1z9zldcg2o29ho0gvazswvia2"
          ]
        }
      }
    }
  ]
}

配置示例2:除了公开镜像,组织内的镜像只能由组织内的账号下载。

下面策略的含义:该策略绑定的OU或账号下的私有镜像不能被组织外的账号下载。只能由组织(o-j1ftg6v1z9zldcg2o29ho0gvazswvia2)内的账号下载,公开镜像可以由任何账号下载。

{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": [
        "swr:repo:download"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringNotEquals": {
          "g:PrincipalOrgId": [
            "o-j1ftg6v1z9zldcg2o29ho0gvazswvia2"
          ]
        },
        "Bool": {
          "swr:RepositoryIsPublic": [
            "false"
          ]
        }
      }
    }
  ]
}

配置方法同服务控制策略(SCP)章节的配置方法。

策略参数说明

表1 策略参数说明

参数

含义

Version

身份策略的版本。

固定为5.0,不支持修改:代表身份策略JSON语法的版本号。

Statement:

身份策略的授权语句

Sid:语句ID

Sid(Statement ID)表示语句的可选标识符。

为一个由零个或多个字符组成的字符串。

Effect:作用

定义Action中的操作权限是否允许执行。

仅支持Deny:不允许执行。

Action/NotAction:授权项

操作权限。

格式为“服务名:资源类型:操作”。授权项支持*和?,*表示任意个字符,?表示恰好一个字符。Action/NotAction不区分大小写。Action表示匹配列表中的所有授权项,NotAction表示匹配列表之外的所有授权项。

您可以打开身份策略授权参考,导航至云服务的“操作”小节,查看该服务所有授权项。

Resource: 资源类型

身份策略所作用的资源。

资源类型用资源URN表示,格式为“<service-name>:<region>:<account-id>:<type-name>:<resource-path>”, 资源URN支持*和?,*表示任意个字符,?表示恰好一个字符。Resource不区分大小写。资源URN详情可参见使用URN标识华为云资源

Condition:条件

使身份策略生效的特定条件,包括条件键运算符

格式为“运算符:{条件键:[条件值1,条件值2]}”。其中,条件键不区分大小写。

如果您设置多个条件,同时满足所有条件时,该身份策略才生效。

相关文档