文档中心>对象存储

授予子用户访问具有指定标签的存储桶的权限

最近更新时间:2022-04-14 21:36:19

我的收藏

简介

存储桶标签可以作为管理存储桶的一个标识,便于用户对存储桶进行分组管理。除了用存储桶标签对存储桶进行分组外,您也可以基于存储桶标签,授予您的子用户访问和管理具有某一共同标签的存储桶及桶内的资源。下文将详细讲述如何授予子用户访问具有指定标签的存储桶的权限。
需要注意的是,基于存储桶标签授权是一种权限粒度较粗的授权方式,但便于主账号管理其存储桶,并将存储桶的管理权限批量授予给指定子用户。
对象存储(Cloud Object Storage,COS)不建议用户使用此类授权方式,因为在该授权方式下,可能会带来风险。例如,管理人员的误操作,将其他存储桶添加上该子用户有权限访问的存储桶标签,会导致子用户访问到原本无权访问的存储桶。我们推荐您使用 存储桶策略 或者按存储桶粒度为子用户授予相应的权限,如果您的业务需要按标签授权,请审慎评估后使用。
说明
如需为您的存储桶添加存储桶标签,请参见 设置存储桶标签 文档进行配置。
如果您使用子账号,添加存储桶标签前,请先确保您的主账号已经为您授予了添加存储桶标签的相关权限,否则您将无法添加存储桶标签。相关授权文档,请参见 对子账号授予权限 文档,为您的子账号关联 QCloudCOSBucketConfigWrite 的策略模板。或者新建策略模板,授予 PUT Bucket tagging、GET Bucket tagging、DELETE Bucket tagging 等接口的权限。

操作步骤

存储桶标签本质上是 COS 基于标签服务为您提供的管理存储桶的工具,存储桶标签是存储桶下的子资源。因此,存储桶和存储桶标签的依赖关系是先有存储桶,再有存储桶标签;基于存储桶标签授权,只能授予您的子账号管理存储桶配置、访问和管理存储桶内的对象等操作的权限,对于 GET Service 和 PUT Bucket 这两项操作,无法通过标签授权的方式授予子用户相应权限。
说明
GET Service 是账户级别操作,能够列出您账户下的所有存储桶,因此无法通过标签授权的方式授予用户权限。
PUT Bucket 操作是创建存储桶的操作,在进行存储桶的创建操作之前是没有标签子资源的,标签授权只能授权子用户操作已关联了的存储桶,而不能授权子用户操作不存在的存储桶。因此在标签授权中,FullControl(action 值为*)的权限范围并不包含这两项操作。
标签授权的操作步骤如下:
1. 登录腾讯云控制台,进入 策略管理 页面,选择新建自定义策略 > 按标签授权,进入创建页面。
2. 根据您已设置的存储桶标签,选择各选项信息(如下图),单击下一步


3. 确认自动生成的策略名称、授权的用户或用户组以及策略内容,确认无误后,单击完成即可。 策略内容可保持为默认,也可根据实际需求编辑策略内容(详见策略 语法结构支持 CAM 的产品)。 下图表明授予子用户 COS 拥有标签键为 project、标签值为 subproject1 的存储桶,及桶内所有资源的所有操作权限(不含GET Service 和 PUT Bucket 这两项操作)。