You need to enable JavaScript to run this app.
导航

用户自定义策略

最近更新时间2022.08.25 16:57:15

首次发布时间2022.01.10 18:53:06

火山引擎内容分发网络中的系统预设策略可以满足绝大部分场景的需要。但是您有可能需要定制的权限组合。例如您需要域名配置和刷新操作的权限组合。内容分发网络提供了用户自定义策略,可以满足您对权限组合的自定义需求。关于如何将系统预设策略授权给子用户,参见授权给子用户

本文档包含以下内容:

前提条件

在阅读本文档时,推荐您先阅读权限管理概述了解子用户的权限体系,以便更好了解本文档的操作内容。

用户自定义策略概述

在用户自定义策略中,您通过指定相应的 API 来定义您需要的权限组合。关于内容分发网络提供的 API 列表,参见 API 接口概览

用户自定义策略允许您指定以下内容:

  • 操作:指定一个或者多个内容分发网络 API 来定义策略包含的操作。
  • 资源:指定策略生效的域名。当前仅可指定所有域名。

在您创建自定义策略后,就可以将自定义策略授权给子用户了。

操作步骤

要创建一个用户自定义策略,遵照以下步骤:

  1. 打开火山引擎访问控制的 策略管理页面。
  2. 点击 用户自定义策略,然后点击 新建策略
    alt
  3. 新建策略 页面,输入一个策略名称。
    策略名称的长度是 1-64 个字符,可以包含字母、数字、加号(+)、等号(=)、逗号(,)、句号(.)、@、连字符(-)、下划线(_)。
    alt
  4. 参考策略语法输入策略内容,然后点击 创建策略

策略语法

用户自定义策略使用 JSON 格式的语法,包含一个 Statement 声明。该声明指定一个或者多个 API 的操作和生效域名。生效域名目前只能指定所有域名。

Statement 包含以下字段:

字段名描述示例

Effect

指定是否允许使用在 Action 字段中指定的 API。如果允许,设置 Effect 为 Allow。如果不允许,设置为 Deny。

Allow 场景类似白名单,Deny 场景类似黑名单。

"Effect": "Allow"

Action指定您需要包含的 API。可以是一个或者多个 API。需要注意的是 Action 字段必须包含 IAM:Get* 与 IAM:List* 这两个 API,否则会导致鉴权失败。"CDN:DescribeCdnData","IAM:Get*","IAM:List*"
Resource指定该策略生效的域名。当前只能指定 *,表示所有域名。*

用户自定义策略示例

示例一
该策略允许 DescribeCdnData 的操作。

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "CDN:DescribeCdnData",
        "IAM:Get*",
        "IAM:List*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

示例二
该策略允许除了 AddCdnDomain 以外的所有内容分发网络的操作。

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "CDN:*",
        "IAM:Get*",
        "IAM:List*"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Deny",
      "Action": [
        "CDN:AddCdnDomain"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

说明

多个 Statement 的处理方式如下,和出现的顺序无关。

  • 先处理所有 Effect 是 Allow 的 Statement。
  • 再处理所有 Effect 是 Deny 的 Statement。