策略语法
以下为 CAM 策略:
{"version":"2.0","statement":[{"effect":"effect","action":["action"],"resource":["resource"],"condition": {"key":{"value"}}}]}
参数说明
版本 version :该项为必填项,目前仅允许值为"2.0"。
语句 statement:是用来描述一条或多条权限的详细信息。该元素包括 effect、action、resource,condition 等多个其他元素的权限或权限集合。一条策略有且仅有一个 statement 元素。
操作 action:用来描述允许或拒绝的操作。操作可以是 API (以 name 前缀描述)或者功能集(一组特定的 API,以 permid 前缀描述)。该元素是必填项。
资源 resource:描述授权的具体数据。资源是用六段式描述。该元素是必填项。详细说明请参见如下的 资源六段式说明。
生效条件 condition:描述策略生效的约束条件。条件包括操作符、操作键和操作值组成。条件值可包括时间、IP 地址等信息。该元素是非必填项。
影响 effect:描述声明产生的结果是“允许”还是“显式拒绝”。包括 allow (允许)和 deny (显式拒绝)两种情况。该元素是必填项。
资源六段式说明
qcs:是 qcloud service 的简称,表示是腾讯云的云资源。该字段是必填项。
project_id:描述项目信息,仅为了兼容 CAM 早期逻辑,如无必要无需填写。
service_type:产品简称,数据万象为 ci。
region:地域信息,例如 ap-shanghai。
account:资源拥有者的主账号信息,例如
uid/1250000001
。resource:具体资源详情,例如
bucket/examplebucket-1250000001/*
。例如,您可以使用特定存储桶(examplebucket-1250000001),在语句中描述如下所示:
"resource":[ "qcs::ci:ap-shanghai:uid/1250000001:bucket/examplebucket-1250000001/*"]
如果您想要在一条指令中同时指定多个资源,请使用英文逗号将它们隔开,如下所示为指定两个资源的例子:
"resource":["resource1","resource2"]
授权示例
以下为授予子账号提交存储桶 examplebucket-1250000001 中媒体处理任务信息的语法示例:
{"version":"2.0","statement":[{"effect":"allow","action":["name/ci:CreateMediaJobs"],"resource":["qcs::ci:ap-shanghai:uid/1250000001:bucket/examplebucket-1250000001/*"]}]}