tencent cloud

对象存储

动态与公告
产品动态
产品公告
产品简介
产品概述
功能概览
应用场景
产品优势
基本概念
地域和访问域名
规格与限制
产品计费
计费概述
计费方式
计费项
免费额度
计费示例
查看和下载账单
欠费说明
常见问题
快速入门
控制台快速入门
COSBrowser 快速入门
用户指南
创建请求
存储桶
对象
数据管理
批量处理
全球加速
监控与告警
运维中心
数据处理
内容审核
智能工具箱
数据工作流
应用集成
工具指南
工具概览
环境安装与配置
COSBrowser 工具
COSCLI 工具
COSCMD 工具
COS Migration 工具
FTP Server 工具
Hadoop 工具
COSDistCp 工具
HDFS TO COS 工具
GooseFS-Lite 工具
在线辅助工具
自助诊断工具
实践教程
概览
访问控制与权限管理
性能优化
使用 AWS S3 SDK 访问 COS
数据容灾备份
域名管理实践
图片处理实践
COS 音视频播放器实践
工作流实践
数据直传
内容审核实践
数据安全
数据校验
大数据实践
COS 成本优化解决方案
在第三方应用中使用 COS
迁移指南
本地数据迁移至 COS
第三方云存储数据迁移至 COS
以 URL 作为源地址的数据迁移至 COS
COS 之间数据迁移
Hadoop 文件系统与 COS 之间的数据迁移
数据湖存储
云原生数据湖
元数据加速
数据加速器 GooseFS
数据处理
数据处理概述
图片处理
媒体处理
内容审核
文件处理
文档处理
故障处理
获取 RequestId 操作指引
通过外网上传文件至 COS 缓慢
访问 COS 时返回403错误码
资源访问异常
POST Object 常见异常
API 文档
简介
公共请求头部
公共响应头部
错误码
请求签名
操作列表
Service 接口
Bucket 接口
Object 接口
批量处理接口
数据处理接口
任务与工作流
内容审核接口
云查毒接口
SDK 文档
SDK 概览
准备工作
Android SDK
C SDK
C++ SDK
.NET(C#) SDK
Flutter SDK
Go SDK
iOS SDK
Java SDK
JavaScript SDK
Node.js SDK
PHP SDK
Python SDK
React Native SDK
小程序 SDK
错误码
鸿蒙(Harmony) SDK
终端 SDK 质量优化
安全与合规
数据容灾
数据安全
访问管理
常见问题
热门问题
一般性问题
计费计量问题
域名合规问题
存储桶配置问题
域名和 CDN 问题
文件操作问题
日志监控问题
权限管理问题
数据处理问题
数据安全问题
预签名 URL 问题
SDK 类问题
工具类问题
API 类问题
服务协议
Service Level Agreement
隐私政策
数据处理和安全协议
联系我们
词汇表

授权子账号访问 COS

PDF
聚焦模式
字号
最后更新时间: 2025-11-18 16:41:54

概述

对于腾讯云对象存储(Cloud Object Storage,COS)资源,不同企业之间或同企业多团队之间,需要对不同的团队或人员配置不同的访问权限。您可通过访问管理(Cloud Access Management,CAM)对存储桶或对象设置不同的操作权限,使得不同团队或人员能够相互协作。
首先,我们需要先了解几个关键概念:主账号、子账号(用户)和用户组。CAM 的相关术语、配置详细描述请参见访问管理的 词汇表

主账号

主账号又被称为开发商。用户申请腾讯云账号时,系统会创建一个用于登录腾讯云服务的主账号身份。主账号是腾讯云资源使用计量计费的基本主体。
主账号默认拥有其名下所拥有的资源的完全访问权限,包括访问账单信息,修改用户密码,创建用户和用户组以及访问其他云服务资源等。默认情况下,资源只能被主账号所访问,任何其他用户访问都需要获得主账号的授权。

子账号(用户)和用户组

子账号是由主账号创建的实体,有确定的身份 ID 和身份凭证,拥有登录腾讯云控制台的权限。
子账号默认不拥有资源,必须由所属主账号进行授权。
一个主账号可以创建多个子账号(用户)。
一个子账号可以归属于多个主账号,分别协助多个主账号管理各自的云资源,但同一时刻,一个子账号只能登录到一个主账号下,管理该主账号的云资源。
子账号可以通过控制台切换开发商(主账号),从一个主账号切换到另外一个主账号。
子账号登录控制台时,会自动切换到默认主账号上,并拥有默认主账号所授予的访问权限。
切换开发商之后,子账号会拥有切换到的主账号授权的访问权限,而切换前的主账号授予的访问权限会立即失效。
用户组是多个相同职能的用户(子账号)的集合。您可以根据业务需求创建不同的用户组,为用户组关联适当的策略,以分配不同权限。

操作步骤

授权子账号访问 COS 分为三个步骤:创建子账号、对子账号授予权限、子账号访问 COS 资源。

步骤1:创建子账号

在 CAM 控制台可创建子账号,并配置授予子账号的访问权限。具体操作如下所示:
1. 登录 CAM 控制台
2. 选择用户 > 用户列表 > 新建用户,进入新建用户页面。
3. 选择自定义创建,选择可访问资源并接收消息类型,单击下一步
4. 按照要求填写用户相关信息。
设置用户信息:输入子用户名称。输入子用户的邮箱,您需要为子用户添加邮箱来获取由腾讯云发出的绑定微信的邮件。
访问方式:选择编程访问和腾讯云控制台访问。其他配置可按需选择。
5. 填写用户信息完毕后,单击下一步,进行身份验证。
6. 身份验证完毕,设置子用户权限。根据系统提供的策略选择,可配置简单的策略,例如 COS 的存储桶列表的访问权限,只读权限等。如需配置更复杂的策略,可进行 步骤2:对子账号授予权限
7. 设置用户标签,该项为可选项,可按需设置,单击下一步
8. 确认配置信息无误后,单击完成即可创建子账号。

步骤2:对子账号授予权限

创建自定义策略或者选择已有策略,并将策略关联到子账号。
1. 登录 CAM 控制台
2. 选择策略 > 新建自定义策略 > 按策略语法创建,进入策略创建页面。
3. 您可按照实际需求选择空白模板自定义授权策略,或选择与 COS 相关联的系统模板,单击下一步
4. 输入便于您记忆的策略名称,若您选择空白模板,则需要输入您的策略语法,详情请参见 策略示例。您可将策略内容复制粘贴到策略内容编辑框内,确认输入无误后单击完成即可。
5. 创建完成后,将刚才已创建的策略关联到子账号。

6. 勾选子账号并单击确定授权后,即可使用子账号访问所限定的 COS 资源。


步骤3:子账号访问 COS 资源

根据上面步骤1设置的访问方式:编程访问和腾讯云控制台访问,介绍如下:
(1)编程访问
当使用子账号通过编程(例如 API、SDK 和工具等)访问 COS 资源时需要先获取主账号的 APPID、子账号的 SecretId 和 SecretKey 信息。您可以在访问管理控制台生成子账号的 SecretId 和 SecretKey。
1. 主账号登录 CAM 控制台
2. 选择用户列表,进入用户列表页面。
3. 单击子账号用户名称,进入子账号信息详情页。
4. 单击 API 密钥页签,并单击新建密钥为该子账号创建 SecretId 和 SecretKey。
至此您就可以通过子账号的 SecretId 和 SecretKey、主账号的 APPID,访问 COS 资源。
注意
子账号需通过 XML API 或基于 XML API 的 SDK 访问 COS 资源。

基于 XML 的 Java SDK 访问示例

以基于 XML 的 Java SDK 命令行为例,需填入参数如下:
// 初始化身份信息
COSCredentials cred = new BasicCOSCredentials("<主账号 APPID>", "<子账号 SecretId>", "<子账号 SecretKey>");
实例如下:
String secretId = System.getenv("secretId");//子账号的 SecretId,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1
String secretKey = System.getenv("secretKey");//子账号的 SecretKey,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1
COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);

// 初始化身份信息
COSCredentials cred = new BasicCOSCredentials("<主账号 APPID>", secretId, secretKey);

COSCMD 命令行工具访问示例

以 COSCMD 的配置命令为例,需填入的参数如下:
coscmd config -u <主账号 APPID> -a <子账号 SecretId> -s <子账号 SecretKey> -b <主账号 bucketname> -r <主账号 bucket 所属地域>
实例如下:
coscmd config -u 1250000000 -a ************************************ -s e8Sdeasdfas2238Vi**** -b examplebucket -r ap-beijing
(2)腾讯云控制台
子用户被授予权限后,可在 子用户登录界面 输入主账号 ID、子用户名和子用户密码登录控制台,并在云产品中选择单击对象存储,即可访问主账号下的存储资源。

策略示例

以下提供几种典型场景的策略示例,在配置自定义策略时,您可将以下参考策略复制粘贴至输入框编辑策略内容,根据实际配置修改即可。更多 COS 常见场景的策略语法请参见 访问策略语言概述CAM 产品文档商用案例部分。

示例1:为子账户配置 COS 全读写权限

注意
该策略授权的范围较大,请谨慎配置。
具体策略如下所示:
{
"version": "2.0",
"statement": [
{
"action": [
"name/cos:*"
],
"resource": "*",
"effect": "allow"
},
{
"effect": "allow",
"action": "monitor:*",
"resource": "*"
}
]
}

示例2:为子账户配置只读权限

为子账户仅配置只读权限,具体策略如下所示:
{
"version": "2.0",
"statement": [
{
"action": [
"name/cos:List*",
"name/cos:Get*",
"name/cos:Head*",
"name/cos:OptionsObject"
],
"resource": "*",
"effect": "allow"
},
{
"effect": "allow",
"action": "monitor:*",
"resource": "*"
}
]
}

示例3:为子账户配置只写权限(不含删除)

具体策略如下所示:
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"cos:ListParts",
"cos:PostObject",
"cos:PutObject*",
"cos:InitiateMultipartUpload",
"cos:UploadPart",
"cos:UploadPartCopy",
"cos:CompleteMultipartUpload",
"cos:AbortMultipartUpload",
"cos:ListMultipartUploads"
],
"resource": "*"
}
]
}

示例4:为子账户配置某 IP 段的读写权限

本示例中限制仅 IP 网段为 192.168.1.0/24192.168.2.0/24 的地址具有读写权限,如下所示。 更丰富的生效条件填写,请参见 生效条件
{
"version": "2.0",
"statement": [
{
"action": [
"cos:*"
],
"resource": "*",
"effect": "allow",
"condition": {
"ip_equal": {
"qcs:ip": ["192.168.1.0/24", "192.168.2.0/24"]
}
}
}
]
}


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈