tencent cloud

容器镜像服务

动态与公告
产品动态
产品公告
新手指引
产品简介
产品概述
产品服务层级与容量限制
产品优势
应用场景
购买指南
计费概述
购买方式
欠费说明
快速入门
企业版快速入门
个人版快速入门
操作指南
创建企业版实例
访问配置
镜像创建
镜像分发
镜像安全
镜像清理
DevOps
OCI 制品管理
个人版操作指南
销毁退还实例
实践教程
个人版迁移
TKE 集群使用 TCR 插件内网免密拉取容器镜像
从自建 Harbor 同步镜像到 TCR 企业版
TKE Serverless 集群拉取 TCR 容器镜像
混合云下的多平台镜像数据同步复制
全球多地域间同步镜像实现就近访问
使用自定义域名及云联网实现跨地域内网访问
API 文档
History
Introduction
API Category
Making API Requests
Instance Management APIs
Namespace APIs
Access Control APIs
Instance Synchronization APIs
Tag Retention APIs
Trigger APIs
Helm Chart APIs
Image Repository APIs
Custom Account APIs
Data Types
Error Codes
常见问题
容器镜像服务个人版
容器镜像服务企业版
相关协议
Service Level Agreement
联系我们
词汇表

基于 CAM 管理子账号权限

PDF
聚焦模式
字号
最后更新时间: 2025-12-22 17:33:09
本文将介绍如何通过访问管理 CAM 策略使子账户可以查看和使用容器镜像服务 TCR 企业版相关资源,包括具体的操作步骤以及常用的策略配置示例。
注意:
如您在容器镜像服务控制台中使用部分功能时需要外部权限,例如私有网络、云审计、云标签等,请参见 支持 CAM 的产品 中对应产品的访问管理指南文档。

访问管理(CAM)简介

访问管理(Cloud Access Management,CAM)是腾讯云提供的一套 Web 服务,它主要用于帮助用户安全管理腾讯云账户下的资源的访问权限。通过 CAM,您可以创建、管理和销毁用户(组),并通过身份管理和策略管理控制哪些人可以使用哪些腾讯云资源。
当您使用 CAM 的时候,可以将策略与一个用户或一组用户关联起来,策略能够授权或者拒绝用户使用指定资源完成指定任务。更多关于 CAM 策略的基本信息,请参见 策略语法。更多关于 CAM 策略的使用信息,请参见 策略
若您不需要对子账户进行 TCR 相关资源的访问管理,您可以跳过此章节,不会影响您对文档中其余部分的理解和使用。

TCR 基于 CAM 的资源级访问控制

资源级权限指的是能够指定允许用户对哪些资源具有执行操作的能力。容器镜像服务(TCR)支持基于 CAM 的资源级访问控制,控制颗粒度可至仓库级,即用户可通过配置 CAM 策略实现授权子账号仅能够操作指定镜像仓库或 Helm Chart 仓库资源。
TCR 在 CAM 中可授权的资源类型:
资源类型
授权策略中的资源描述方法
企业版实例相关
qcs::tcr:$region:$account:instance/*
企业版仓库相关
qcs::tcr:$region:$account:repository/*
个人版仓库相关
qcs::tcr:$region:$account:repo/*
$region:描述地域信息,例如 ap-guangzhou 代表广州地域,若值为空则表示所有地域。具体地域列表及缩写请参见 地域和可用区
$account:描述资源拥有者的主账号信息,表示为 uin/${uin},例如 uin/12345678,若值为空则表示创建策略的 CAM 用户所属的主账号。
关于授权策略中的资源描述方式,详情请参见 资源描述方式

操作步骤

本文以“授权子账号只读某个镜像仓库”为例,介绍如何完成创建策略操作。
实例 ID:tcr-xxxxxxxx
命名空间:team-01
镜像仓库:repo-demo
通过策略生成器创建(推荐)
通过策略语法创建
2. 左侧导航栏中,单击策略,进入策略管理页面。
3. 单击左上角的新建自定义策略
4. 在弹出的选择创建方式窗口中,单击按策略生成器创建,进入编辑策略页面。
5. 在“可视化策略生成器”中选择服务的页面,补充以下信息,并编辑授权声明。
效果(Effect):选择允许或拒绝,这里我们选择允许
服务(Service):选择要授权的产品,这里我们选择**容器镜像服务 (tcr)**。
操作(Action):选择需要授权的操作,这里我们选择读操作
资源(Resource):选择全部资源或您要授权的特定资源,这里我们选择特定资源,并添加以下资源六段式来限制访问。
repository:选择仓库所属地域,并填写该仓库的资源路径,例如 tcr-xxxxxxxx/team-01/repo-demo/*。您可在 镜像仓库 中获取资源路径。
repo:此处置空。
instance:选择仓库所属地域,并填写该仓库所属实例的实例 ID,例如 tcr-xxxxxxxx。您可在 实例列表 中获取实例 ID。
条件:此处置空。
6. 单击下一步,进入关联用户/用户组页面。
7. 在关联用户/用户组页面,补充策略名称和描述信息,可同时关联用户或用户组快速授权。
8. 单击完成,完成按策略生成器创建自定义策略的操作。
2. 左侧导航栏中,单击策略,进入策略管理页面。
3. 单击左上角的新建自定义策略
4. 在弹出的选择创建方式窗口中,单击按策略语法创建,进入“选择策略模板”页面。
5. 在选择模板类型中,选择空白模板
6. 单击下一步,进入“编辑策略”页面。
7. 在“编辑策略”页面,补充策略名称和描述信息,添加以下策略内容。
{
"version": "2.0",
"statement": [{
"action": [
"tcr:DescribeRepositories",
"tcr:PullRepository",
"tcr:DescribeNamespaces"
],
"resource": [
"qcs::tcr:::repository/tcr-xxxxxxxx/team-01/repo-demo/*"
],
"effect": "allow"
},
{
"action": [
"tcr:DescribeInstance*"
],
"resource": [
"qcs::tcr:::instance/tcr-xxxxxxxx"
],
"effect": "allow"
}
]
}
8. 单击完成,完成按策略语法创建自定义策略的操作。

常用策略配置

若需要自定义编辑策略 JSON,请参见 企业版接入 CAM 的 API 列表 以及 策略语法

预设策略配置

QcloudTCRFullAccess:容器镜像服务(TCR)全读写权限。 子账号绑定该策略后,将具有 TCR 全部资源的全部操作权限,包含企业版及个人版。
{
"version": "2.0",
"statement": [{
"action": [
"tcr:*"
],
"resource": "*",
"effect": "allow"
}]
}
QcloudTCRReadOnlyAccess:TCR 只读权限。 子账号绑定该策略后,将具有容器镜像服务全部资源的只读权限,包含企业版及个人版。
{
"version": "2.0",
"statement": [{
"action": [
"tcr:Describe*",
"tcr:PullRepository*"
],
"resource": "*",
"effect": "allow"
}]
}

典型场景策略配置

注意:
以下场景策略均只面向企业版使用场景。个人版场景策略请参见 个人版授权方案示例
授予子账号 TCR 企业版内全部资源的全读写操作权限。
{
"version": "2.0",
"statement": [{
"action": [
"tcr:*"
],
"resource": [
"qcs::tcr:::instance/*",
"qcs::tcr:::repository/*"
],
"effect": "allow"
}]
}
授予子账号 TCR 企业版内全部资源的只读操作权限。
{
"version": "2.0",
"statement": [{
"action": [
"tcr:Describe*",
"tcr:PullRepository*"
],
"resource": [
"qcs::tcr:::instance/*",
"qcs::tcr:::repository/*"
],
"effect": "allow"
}]
}
授权子账号管理指定实例。例如 dev-guangzhou,其实例 ID 为 tcr-xxxxxxxx。
{
"version": "2.0",
"statement": [{
"action": [
"tcr:*"
],
"resource": [
"qcs::tcr:::instance/tcr-xxxxxxxx",
"qcs::tcr:::repository/tcr-xxxxxxxx/*"
],
"effect": "allow"
}]
}
授权子账号管理指定实例内的指定命名空间。例如实例 tcr-xxxxxxxx 下 team-01。
{
"version": "2.0",
"statement": [{
"action": [
"tcr:*"
],
"resource": [
"qcs::tcr:::repository/tcr-xxxxxxxx/team-01",
"qcs::tcr:::repository/tcr-xxxxxxxx/team-01/*"
],
"effect": "allow"
},
{
"action": [
"tcr:DescribeInstance*"
],
"resource": [
"qcs::tcr:::instance/tcr-xxxxxxxx"
],
"effect": "allow"
}
]
}
授权子账号只读某个镜像仓库,仅能拉取该仓库内镜像,无法删除仓库、修改仓库属性及推送镜像。例如实例 tcr-xxxxxxxx 下 team-01 命名空间内的 repo-demo。
{
"version": "2.0",
"statement": [{
"action": [
"tcr:Describe*",
"tcr:PullRepository"
],
"resource": [
"qcs::tcr:::instance/tcr-xxxxxxxx",
"qcs::tcr:::repository/tcr-xxxxxxxx/team-01",
"qcs::tcr:::repository/tcr-xxxxxxxx/team-01/repo-demo",
"qcs::tcr:::repository/tcr-xxxxxxxx/team-01/repo-demo/*"
],
"effect": "allow"
}
]
}


帮助和支持

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

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

文档反馈