火山引擎内容分发网络中的系统预设策略可以满足绝大部分场景的需要。但是您有可能需要定制的权限组合。例如您需要域名配置和刷新操作的权限组合。内容分发网络提供了用户自定义策略,可以满足您对权限组合的自定义需求。关于如何将系统预设策略授权给子用户,参见授权给子用户。
本文档包含以下内容:
在阅读本文档时,推荐您先阅读权限管理概述了解子用户的权限体系,以便更好了解本文档的操作内容。
在用户自定义策略中,您通过指定相应的 API 来定义您需要的权限组合。关于内容分发网络提供的 API 列表,参见 API 接口概览。
用户自定义策略允许您指定以下内容:
在您创建自定义策略后,就可以将自定义策略授权给子用户了。
要创建一个用户自定义策略,遵照以下步骤:
用户自定义策略使用 JSON 格式的语法,包含一个 Statement 声明。该声明指定一个或者多个 API 的操作和生效域名。生效域名目前只能指定所有域名。
Statement 包含以下字段:
字段名 | 描述 | 示例 |
---|---|---|
Effect | 指定是否允许使用在 Action 字段中指定的 API。如果允许,设置 Effect 为 Allow。如果不允许,设置为 Deny。 |
|
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 的处理方式如下,和出现的顺序无关。