一、所有资源定义
·资源(resource)为 * 时代表所有资源,即可授予操作 action 的所有资源的操作权限。
·若所授权云服务授权粒度为服务级或所授权服务的操作 action 支持粒度为 接口级时,资源(resource)需填 *,即授予该云服务或该服务操作 action 的所有资源权限。
二、单个或多个资源定义
授予单个或多个资源权限时可采用下述的六段式描述方式,每种产品都拥有其各自的资源和对应的资源定义详情。
六段式定义方式如下所示:
qcs:project_id:service_type:region:account:resource
资源六段式包含以下六个字段,详细含义及示例如下:
| 字段名称 | 含义及取值 | 是否必填 | 示例 |
| qcs | qcloud service 的简称,表示是腾讯云的云资源。 | 是 | qcs |
| project_id | 描述项目信息,仅兼容 CAM 早期逻辑,当前策略语法禁止填写该信息,置空即可。 | 否 | 置空 |
| service_type | 描述产品简称,详细可查看 支持 CAM 的产品 中的 “CAM 中简称”。值为空时表示所有产品。 | 否 | 云服务器为 cvm内容分发网络为 cdn |
| region | 描述地域信息,地域命名方式请参见 地域列表。值为空的时候表示所有地域。 | 否 | 华北地区(北京)为 ap-beijing华南地区(广州)为 ap-guangzhou |
| account | 描述资源拥有者的主账号信息,目前支持两种方式描述资源拥有者,uin 和 uid 方式。uin 方式,即主账号的账户ID,表示为uin/${uin}。uid 方式,即主账号的 APPID,表示为uid/${appid},仅 COS 和 CAS 业务的资源拥有者使用该方式描述。值为空的时候表示创建策略的 CAM 用户所属的主账号。 | 否 | uin 如:uin/12345678uid 如:uid/10001234 |
| resource | 描述各产品的具体资源详情,目前支持两种方式描述资源信息,resource_type/${resourceid} 和 <resource_type>/<resource_path>。resource_type/${resourceid}:resource_type 为资源前缀,描述资源类型,详细可查看 支持 CAM 的业务接口 中产品的资源六段式;${resourceid} 为具体的资源 ID,可前往各个产品控制台查看,值为 * 时代表该类型资源的所有资源。<resource_type>/<resource_path>:resource_type 为资源前缀,描述资源类型;详细可查看 支持 CAM 的业务接口 中产品的资源六段式;<resource_path> 为资源路径,该方式下,支持目录级的前缀匹配。详细可查看 支持 CAM 的业务接口 中产品的资源六段式。 | 是 | 云服务器:instance/ins-1云数据库 MySQL:instanceId/cdb-1对象存储 COS:prefix//10001234/bucket1/* 表示 bucket1 下的所有文件。COS 资源(resource)支持多种类型,详情请参见 COS 授权策略使用指引。 |
三、CAM 的资源定义
CAM 包含了用户、组、策略等资源,CAM 资源的描述方式如下所示:
四、主账号:
qcs::cam::uin/164256472:uin/164256472
或
qcs::cam::uin/164256472:root
五、子账号:
qcs::cam::uin/164256472:uin/73829520
六、组:
qcs::cam::uin/164256472:groupid/2340
七、所有资源:
*
八、策略:
qcs::cam::uin/12345678:policy/*
或
qcs::cam::uin/12345678:policy/12423
九、资源的重要说明
·资源的拥有者一定是主账号。如果资源是子账号创建的,在没有授权的情况下,不会自动拥有资源的访问权限,需要由资源拥有者授权。
·COS、CAS 等业务支持跨账号授权资源的访问权限。被授权账号可以通过权限传递方式将资源授权给其子账号。
十、关联文档
如果你想了解各个产品对应的资源定义详情,请参阅 支持 CAM 的产品 中对应产品的参考文档。