You need to enable JavaScript to run this app.
文档中心
镜像仓库

镜像仓库

复制全文
下载 pdf
IAM 授权
鉴权
复制全文
下载 pdf
鉴权
本文主要描述为 IAM 用户授权操作镜像仓库 CR 的资源和鉴权策略。
资源描述
通过 IAM 进行授权时,资源描述方式如下表所示:
资源类型
授权策略中的资源描述
repository
trn:cr:$regionid:$accountid:repository/$instance/$namespace/$repository
参数说明如下表所示:
参数名称
说明
$regionid
地域 ID,可用*匹配所有地域(Region)。
$accountid
火山引擎账号 ID,可用*代替 Account。
$instance
镜像仓库标准版实例名称。
$namespace
命名空间名称。
$$repository
OCI 制品仓库名称。
鉴权规则
IAM 用户访问镜像仓库服务 API 时,镜像仓库服务会向 IAM 进行权限检查。每个 API 会根据涉及到的资源以及 API 的语义来确定需要检查哪些资源的权限。每个 API 的鉴权规则如下表所示:
说明
  • 当前仅 推送镜像(PushRepository)拉取镜像(PullRepository) 权限不支持通过可视化界面添加权限,请参考下文通过 API 添加。
API
鉴权 Action
鉴权 Resource
创建镜像仓库实例
cr:CreateRegistry
trn:cr:*:*:instance/*
删除镜像仓库实例
cr:DeleteRegistry
trn:cr:*:*:instance/$instance
启动镜像仓库实例
cr:StartRegistry
trn:cr:*:*:instance/$instance
查询镜像仓库实例
cr:ListRegistries
*
更新镜像仓库公网入口
cr:UpdatePublicEndpoint
trn:cr:*:*:instance/$instance
获取镜像仓库公网入口信息
cr:GetPublicEndpoint
trn:cr:*:*:instance/$instance
更新 VPC 访问入口
cr:UpdateVpcEndpoint
trn:cr:*:*:instance/$instance
获取 VPC 访问入口
cr:GetVpcEndpoint
trn:cr:*:*:instance/$instance
查询镜像仓库域名
cr:ListDomains
trn:cr:*:*:instance/$instance
创建命名空间
cr:CreateNamespace
trn:cr:*:*:repository/*
删除命名空间
cr:DeleteNamespace
trn:cr:*:*:repository/$instance/$namespace
查询命名空间
cr:ListNamespaces
*
创建 OCI 制品仓库
cr:CreateRepository
trn:cr:*:*:repository/*
删除 OCI 制品仓库
cr:DeleteRepository
trn:cr:*:*:repository/$instance/$namespace/$repository
推送镜像
cr:PushRepository
trn:cr:*:*:repository/$instance/$namespace/$repository
拉取镜像
cr:PullRepository
trn:cr:*:*:repository/$instance/$namespace/$repository
查询 OCI 制品仓库
cr:ListRepositories
*
查询 OCI 制品版本
cr:ListTags
trn:cr:*:*:repository/$instance/$namespace/$repository
更新镜像仓库用户信息
cr:SetUser
trn:cr:*:*:instance/$instance
获取镜像仓库用户信息
cr:GetUser
trn:cr:*:*:instance/$instance
获取登录镜像仓库的临时访问密钥
cr:GetAuthorizationToken
trn:cr:*:*:instance/$instance
鉴权示例
以下为镜像仓库的各场景中鉴权规则的用法。
场景一:推送镜像
授予 IAM 用户某个标准版实例下命名空间(例如:标准版实例 instance-a,命名空间 library)的推送镜像的权限。IAM 用户登录镜像仓库后可以推送该命名空间下所有镜像实例,可以通过 OpenAPI 查到该命名空间的信息以及该命名空间下所有镜像实例的相关信息。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"cr:List*",
"cr:Get*",
"cr:Pull*",
"cr:Push*"
],
"Resource": [
"trn:cr:*:*:instance/instance-a",
"trn:cr:*:*:repository/instance-a/library",
"trn:cr:*:*:repository/instance-a/library/*"
]
}
]
}
场景二:拉取镜像
授予 IAM 用户某个标准版实例下命名空间(例如:标准版实例 instance-a,命名空间 library)的读权限。IAM 用户登录镜像仓库后可以拉取该命名空间下所有镜像实例,可以通过 OpenAPI 查到该命名空间的信息以及该命名空间下所有镜像实例的相关信息。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"cr:List*",
"cr:Get*",
"cr:Pull*"
],
"Resource": [
"trn:cr:*:*:instance/instance-a",
"trn:cr:*:*:repository/instance-a/library",
"trn:cr:*:*:repository/instance-a/library/*"
]
}
]
}
最近更新时间:2025.08.26 11:54:58
这个页面对您有帮助吗?
有用
有用
无用
无用