一、使用场景
授予创建者资源访问权限的策略描述方式如下:
{ "version": "2.0", "statement": [ { "effect": "allow", "action": "cmqqueue:*", "resource": "qcs::cmqqueue::uin/1000001:queueName/uin/${uin}/*" } ]}
·策略变量在每个资源的路径中带上创建人的子账号 uin。如子账号uin 为 125000000 的子账号(对应主账号 uin 是1000001)创建了名为 queueName/uin/125000000 的成都地域 cmq 消息队列,则其对应的资源描述方式为 :
qcs::cmqqueue:ap-chengdu:uin/1000001:queueName/uin/125000000
·子账号 uin 为 125000000 的子账号访问该资源时,鉴权过程中会把对应的策略信息的占位符替换为访问者,即 :
qcs::cmqqueue::uin/1000001:queueName/uin/125000000
·策略中的资源 qcs::cmqqueue::uin/1000001:queueName/uin/125000000 可以通过前缀匹配访问资源 qcs::cmqqueue:ap-chengdu:uin/1000001:queueName/uin/125000000。
二、策略变量的位置
资源元素位置 :策略变量可以用在 资源六段式 的最后一段。
条件元素位置 :策略变量可以用在条件值中。
以下策略表示 VPC 创建者拥有访问权限。
{ "version":"2.0", "statement": [ { "effect":"allow", "action":"name/vpc:*", "resource":"qcs::vpc::uin/12357:vpc/*", "condition":{"string_equal":{"qcs:create_uin":"${uin}"}} } ]}
注意:说明:
三、策略变量列表
目前支持的策略变量列表如下:
| 变量名 | 变量含义 |
| ${uin} | 当前访问者的子账号 uin 。对于访问者是主账号的情况,它和主账号 uin 一致。 |
| ${qcs:user} | 当前访问者的子账号的用户名 。 |
| ${owner_uin} | 当前访问者所属的主账号 uin 。 |
| ${app_id} | 当前访问者所属的主账号的 APPID 。 |