腾讯云主账户可以在 访问管理(Cloud Access Management,CAM) 控制台创建 CAM 用户,并关联策略,授予 CAM 用户使用腾讯云资源的权限。
概述
用户可以在 CAM 中,对于主账号名下的不同类型用户,授予不同的权限。这些权限通过访问策略语言描述,并以用户为出发点进行授权,因此被称为用户策略。
用户策略与存储桶策略的区别
用户策略与存储桶策略的最大差别是:用户策略只描述效力(Effect)、操作(Action)、资源(Resource)和条件(Condition,可选),不描述身份(Principal)。因此,用户策略的使用方式为:用户策略需要撰写完成后,再对子用户、用户组或角色执行关联操作。用户策略不支持将操作和资源权限授予匿名用户。
预设策略和自定义策略
用户策略包括两类,预设策略和自定义策略,您可以使用 预设策略进行关联授权,也可以 自行撰写用户策略 再进行关联授权,详见访问管理的 授权指南。
适用场景
当您关心用户能做什么,推荐用户策略时,可通过查找 CAM 用户,并检查其所属用户组的权限来了解用户能做什么。推荐场景有:要配置对象存储(Cloud Object Storage,COS)服务级权限时,例如创建桶(PutBucket)、列举桶(GetService)。需要使用主账号下所有 COS 桶和对象。要对主账号下的大量 CAM 用户授予相同权限。
用户策略语法
策略语法
和存储桶策略一样,用户策略使用 JSON 语言描述,遵循 访问策略语言 的统一规范(委托人、效力、操作、资源、条件等)。但由于用户策略是直接关联到用户/用户组上的,因此用户策略不需要填写委托人(Principal)。下表是用户策略和存储桶策略的区别对比:
元素 | 用户策略 | 存储桶策略 |
委托人 | 不填 | 必填 |
效力 | 必填 | 必填 |
操作 | 必填 | 必填 |
资源 | 必填 | 该存储桶内资源 |
条件 | 选填 | 选填 |
策略示例
以下是一个典型的用户策略示例,策略含义为:授权位于广州的存储桶 examplebucket-1250000000 所有 COS 操作的策略。您需要将策略保存后再关联到 CAM 子用户、用户组或角色方可生效:
{ "Statement": [ { "Effect": "Allow", "Action": ["cos:*"], "Resource": [ "qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*", "qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/" ] } ], "Version": "2.0"}
通过用户策略授权子账号访问 COS
前提条件
已创建 CAM 子账号,创建方法可参考 创建子账号。
配置步骤
CAM 提供了 预设策略和自定义策略。预设策略为 CAM 提供的系统预设策略,COS 相关策略见 预设策略;自定义策略支持用户自定义资源、操作等元素,更加灵活。下面说明如何新建一个自定义策略,为子账户授权:1. 登录 CAM 控制台。2. 选择策略 > 新建自定义策略 > 按策略语法创建,进入策略创建页面。3. 您可按照实际需求选择空白模板 自定义授权策略,或选择与 COS 相关联的系统模板。这里以选择空白模板为例。4. 选择空白模板,输入您的策略语法。需要包括以下基本元素:resource:授权资源。所有资源("*"
)指定存储桶("qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"
)存储桶内指定目录或对象("qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/test/*"
)action:授权操作。effect:效力。选择 "allow"
(允许)或 "deny"
(拒绝)。condition:生效条件。可选项。 COS 提供了用户策略示例,您也可以参考以下文档,直接将策略内容复制粘贴到策略内容编辑框内,确认输入无误后单击完成即可。授权子账号访问 COSCOS API 授权策略使用指引5. 创建完成后,您可在 CAM 控制台 的策略 > 自定义策略中查看已创建的自定义策略,并将策略关联到子账号。6. 勾选子账号并单击确定授权后,即可使用子账号访问所限定的 COS 资源。
预设策略
1. CAM 提供了一些预设策略,您可以在 CAM 控制台 的策略 > 预设策略中查看,搜索“COS”筛选。2. 单击策略名,进入策略语法 > JSON 查看具体的策略内容。预设策略的资源(resource
)被设置为 COS 所有资源("*"
),且不支持修改。若您需要对部分 COS 存储桶、对象授权,可以复制 JSON 的预设策略,创建 自定义策略。

表1和表2列出了 CAM 提供的 COS 相关的预设策略及说明。表1:COS 预设策略
预设策略 | 说明 | JSON策略 |
QcloudCOSBucketConfigRead | 拥有该权限的用户可以读取 COS 存储桶配置 |
{ "version": "2.0", "statement": [ { "effect": "allow", "action": [ "cos:GetBucket*", "cos:HeadBucket" ], "resource": "*" } ]} |
QcloudCOSBucketConfigWrite | 拥有该权限的用户可以修改 COS 存储桶配置 |
{ "version": "2.0", "statement": [ { "effect": "allow", "action": [ "cos:PutBucket*" ], "resource": "*" } ]} |
QcloudCOSDataFullControl | 包含 COS 存储桶内数据读、写、删除、列出的访问权限 |
{ "version": "2.0", "statement": [ { "effect": "allow", "action": [ "cos:GetService", "cos:GetBucket", "cos:ListMultipartUploads", "cos:GetObject*", "cos:HeadObject", "cos:GetBucketObjectVersions", "cos:OptionsObject", "cos:ListParts", "cos:DeleteObject", "cos:PostObject", "cos:PostObjectRestore", "cos:PutObject*", "cos:InitiateMultipartUpload", "cos:UploadPart", "cos:UploadPartCopy", "cos:CompleteMultipartUpload", "cos:AbortMultipartUpload", "cos:DeleteMultipleObjects", "cos:AppendObject" ], "resource": "*" } ]} |
表2:COS 操作与预设策略的关系
说明 | 操作 | QcloudCOSBucketConfigRead | QcloudCOSBucketConfigWrite | QcloudCOSDataFullControl | QcloudCOSDataReadOnly | QcloudCOSDataWriteOnly | QcloudCOSFullAccess | QcloudCOSGetServiceAccess | QcloudCOSListOnly | QcloudCOSReadOnlyAccess |
列举桶 | GetService | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
创建桶 | PutBucket | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
删除桶 | DeleteBucket | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
获取桶基本信息 | HeadBucket | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ |
获取桶的配置项 | GetBucket* | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ |
修改桶的配置项 | PutBucket* | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
获取桶的访问权限 | GetBucketAcl | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ |
修改桶的访问权限 | PutBucketAcl | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
列举桶内对象 | GetBucket | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ |
列举桶内对象的所有版本 | GetBucketObjectVersions | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ |
上传对象 | PutObject | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
分块上传 | ListPartsInitiateMultipartUploadUploadPartUploadPartCopyCompleteMultipartUploadAbortMultipartUploadListMultipartUploads | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
追加对象 | AppendObject | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
下载对象 | GetObject | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
查看对象元数据 | HeadObject | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ |
跨域(CORS)预检 | OptionsObject | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ |
更多用户策略示例
授权子账号访问 COSCOS API 授权策略使用指引
对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/144776.html