一、前提条件
·存储桶已配置存储桶标签。如未配置,请参见 设置存储桶标签 指引进行配置。
·已创建子账号,例如用户名为 SubUser。如未创建,请参见 新建子用户 指引进行创建。
二、授权步骤
1. 使用主账号 Owner 登录到 访问管理 控制台,进入到策略配置页面。
2. 根据以下步骤,授权子账号 SubUser 访问具有指定标签的存储桶,可通过策略生成器或策略语法实现。
通过策略生成器通过策略语法
1. 进入 访问管理 策略配置页面。
2. 单击新建自定义策略 > 按策略生成器创建。
3. 进入授权配置页面,配置信息如下:
·效果:选择为允许,默认不变。
·服务:选择对象存储。
·操作:选择列表操作 > GetService(拉取存储桶列表)。
·资源:选择全部资源。
·条件:单击添加其他条件。进入侧窗配置,配置信息如下:
·条件键:选择 qcs:resource_tag。
·运算符:选择 string_equal。
·条件值:按照 key&value 格式输入标签,将 key 替换为标签键,value 替换为标签值。单击确定。
4. 单击下一步,输入策略名称。
5. 单击完成,即可完成创建。
1. 进入 访问管理 策略配置页面。2. 单击新建自定义策略 > 按策略语法创建。3. 选择空白模板创建,单击下一步。4. 按照如下策略格式进行输入。其中,需要将 key 和 value 分别替换为指定的标签键和标签值。{ "version": "2.0", "statement": [ { "effect": "allow", "action": [ "name/cos:GetService" ], "resource": "*", "condition": { "for_any_value:string_equal": { "qcs:resource_tag": [ "key&value" ] } } } ]}5. 单击完成,即可完成创建。
3. 将策略关联子账号 SubUser。在策略页面,找到步骤2创建的策略,在其右侧单击关联用户/组/角色。
4. 在弹窗中,勾选子账号 SubUser,并单击确定,即可将子账号 SubUser 关联至该策略。
三、控制台查看
1. 通过子账号 SubUser 登录 COS 控制台。
2. 在存储桶列表页面,将自动展示该子账号有权限访问的存储桶列表。
经过上述步骤,即完成了子账号授权访问包含指定标签(key,value)的存储桶。
四、接口调用
1. 使用子账号 SubUser 的密钥发起请求。
2. 调用 GetService 接口,传入标签过滤参数,例如(key,value)。请求示例如下,详情可参见 GET Service(List Buckets)。
GET /?tagkey=key1&tagvalue=value1 HTTP/1.1Host: service.cos.myqcloud.comDate: Fri, 24 May 2019 11:59:51 GMTAuthorization: Auth String