参考资料:https://help.aliyun.com/zh/acr/user-guide/repository-access-control
当你不希望有人拉取你指定范围内的镜像时,可以参考一下如何设置策略来阻止他们。
在阿里云控制台搜索访问控制
点击左侧权限策略

点击创建权限策略

点击脚本编辑(可视化编辑没试过)

脚本编辑参数
Version:策略的版本。
Statement:它包含了多个像上图中Effect,Action,Resource,Condition等语句,有点像大模块。
Effect:指定了语句的效果,可以是"Allow"(允许)或"Deny"(拒绝)。
Action:列出了此语句授予或拒绝访问的服务操作,例如list,get,pull等。
Resource:指定了以上这些操作可以应用于的命名空间,镜像仓库。**
$instanceid:这个变量指的是你镜像仓库的实例id(在阿里云容器镜像服务中点击你的实例列表查看)。
repository:作为固定前缀(无法修改,无法自定义),标识资源类型为仓库。
cn-chengdu:阿里云容器镜像服务的地区,这里指的是成都的。
几个简单的示例
只能拉取命名空间demo1下的test1镜像
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cr:Get*",
"cr:List*",
"cr:PullRepository"
],
"Resource": "acs:cr:cn-chengdu:*:repository/$instanceid/demo1/test1"
}
]
}
所有命名空间都可以推和拉,但不能创建命名空间,不能自动创建镜像仓库
{
"Version": "1",
"Statement": [
{
"Action": [
"cr:Get*",
"cr:List*",
"cr:PullRepository",
"cr:PushRepository"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
所有命名空间都可以推和拉,但不能创建命名空间,能自动创建镜像仓库
{
"Version": "1",
"Statement": [
{
"Action": [
"cr:Get*",
"cr:List*",
"cr:PullRepository",
"cr:PushRepository",
"cr:CreateRepository"
],
"Resource": "*",
"Effect": "Allow"
}
]
}