资源(resource)元素描述一个或多个操作对象,如 CVM 资源、COS 存储桶等。本文档主要介绍 CAM 的资源描述信息。
所有资源定义
资源(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/12345678 uid 如: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 等业务支持跨账号授权资源的访问权限。被授权账号可以通过权限传递方式将资源授权给其子账号。