Control Policy

更新时间:
复制为 MD 格式

在企业多账号环境下,通过资源目录管控策略(Control Policy)对企业成员账号进行统一权限配置,实现集中化的访问控制和安全策略管理。

工作原理

资源目录管控策略是一种基于资源结构(资源夹或成员)的访问控制策略,主要用于定义权限边界。在多账号管理场景中,可通过自定义管控策略统一强制限制各成员账号中的Bucket安全策略,例如强制开启阻止公共访问等。

鉴权机制

管控策略只定义权限边界,不直接授予权限。当成员账号中的RAM用户或RAM角色访问OSS等云服务时,系统先执行管控策略的合规性检查,通过检查后才进行账号内RAM授权策略的权限判定。

鉴权原则

管控策略鉴权从被访问资源所在账号开始,沿着资源目录层级逐级向上进行。在任一层级进行管控策略鉴权时,遵循显式拒绝优先原则:

  1. 显式拒绝优先 :存在匹配请求的Deny规则,请求立即被拒绝 。结束整个管控策略鉴权流程,并且不再进行账号内基于RAM权限策略的鉴权。

  2. 寻找显式允许 :在某一层级鉴权中不存在Deny规则时,若存在匹配的Allow规则,则本层级鉴权通过,继续在父节点上进行管控策略鉴权,直至Root资源夹为止。如果Root资源夹鉴权结果也为通过,则整个管控策略鉴权通过,接下来进入账号内基于RAM权限策略的鉴权。

  3. 默认拒绝 :既无Deny也无Allow,请求默认被拒绝 。不再进入下一个层级鉴权,结束整个管控策略鉴权流程,并且不再进行账号内基于RAM权限策略的鉴权。

阿里云将会评估被访问的账号自身及其所在的每一层级上绑定的管控策略,从而确保绑定在较高层级上的管控策略可以在其下的所有账号上生效。更多信息,请参见管控策略概述

策略类型

  • 系统管控策略:系统自带的管控策略,仅可查看,不能修改。开启管控策略功能后,默认绑定FullAliyunAccess策略允许所有操作。

  • 自定义管控策略:用户自定义的管控策略,可创建、修改、删除和绑定到资源夹或成员。

生效范围

对所有资源目录成员中的RAM用户和RAM角色生效,对服务关联角色、成员的根用户、管理账号内的所有身份不生效。

配置步骤

重要

使用管理账号完成开通资源目录创建资源夹创建成员邀请阿里云账号加入资源目录移动成员的配置启用资源目录,并了解资源目录使用限制

步骤一:开启管控策略功能

仅需开启一次。如果已开启,跳过此步骤。

  1. 访问资源目录-开启管控策略页面。

  2. 单击开启管控策略并确认开启。

  3. 单击刷新查看开启状态。

步骤二:创建自定义管控策略

  1. 访问资源目录-创建管控策略页面。

  2. 按需选择配置方式。

    以强制开启阻止公共访问配置为例介绍。更多配置请参见常用授权场景

    重要

    配置拒绝策略前,确保成员账号现有资源已符合策略要求。对于OSS强制开启阻止公共访问场景,需确认所有Bucket均已启用阻止公共访问功能。

    可视化编辑方式

    可视化编辑模块,设置如下配置:

    • 效果:选择拒绝

    • 服务:选择对象存储

    • 操作:选择oss:DeleteBucketPublicAccessBlockoss:PutBucketPublicAccessBlock

    脚本编辑方式

    脚本编辑模块,输入管控策略配置

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": [
            "oss:DeleteBucketPublicAccessBlock",
            "oss:PutBucketPublicAccessBlock"
          ],
          "Resource": "*"
        }
      ]
    }
    说明

    管控策略采用JSON格式,包含Version(版本号)和Statement(授权语句)两个核心字段。其中StatementEffect(效果)、Action(操作)、Resource(资源)和Condition(条件)元素组成。具体Action配置请参见Action

  3. 单击确定

  4. 创建管控策略对话框,输入名称和备注,然后单击确定

步骤三:绑定管控策略到资源夹

  1. 访问资源目录-目录管理页面。

  2. 在资源目录树中,单击目标资源夹。

  3. 策略页签,单击绑定策略

  4. 绑定策略面板,选择待绑定的管控策略,然后单击确定

步骤四:验证权限策略

绑定完成后,该资源夹下的所有成员账号将受到管控策略约束。对于强制开启阻止公共访问场景,可通过以下方式验证策略效果:

  1. 验证拒绝操作:在成员账号中尝试关闭现有Bucket的阻止公共访问功能,操作将被管控策略拒绝。

  2. 验证创建限制:尝试创建未启用阻止公共访问的新Bucket,创建请求将被拒绝。

  3. 验证层级生效:在不同层级的成员账号中执行相同操作,确认策略在整个资源夹层级生效。

常用授权场景

场景1:强制开启OSS Bucket的阻止公共访问

通过在管控策略中配置禁止关闭阻止公共访问功能或创建未启用该功能的Bucket,强制开启OSS Bucket的阻止公共访问功能。配置示例如下:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "oss:DeleteBucketPublicAccessBlock",
        "oss:PutBucketPublicAccessBlock"
      ],
      "Resource": "*"
    }
  ]
}

应用于生产环境

  • 分层策略设计:根据组织架构设计多层级的管控策略,在根资源夹设置全局强制策略,在部门资源夹设置专属约束策略。

  • 策略版本管理:为重要的管控策略建立版本管理机制,记录策略变更历史,便于问题排查和策略回滚。

  • 权限范围控制:避免设置过于宽泛的拒绝策略,防止误封正常的业务操作,影响系统功能和用户体验。

  • 策略测试验证:建议先在测试环境或小范围资源夹验证策略效果,确认无误后再推广到生产环境,避免影响业务正常运行。

相关文档