amazon-web-services - 关于在Jenkins中配置上传docker镜像到ECR策略的问题
问题描述
我创建了一个使用 Jenkins 将 docker 映像上传到 ECR 的新角色,我附上了我在这里找到的这个策略
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"ListImagesInRepository",
"Effect":"Allow",
"Action":[
"ecr:ListImages"
],
"Resource":"arn:aws:ecr:us-east-1:123456789012:repository/my-repo"
},
{
"Sid":"GetAuthorizationToken",
"Effect":"Allow",
"Action":[
"ecr:GetAuthorizationToken"
],
"Resource":"*"
},
{
"Sid":"ManageRepositoryContents",
"Effect":"Allow",
"Action":[
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:GetRepositoryPolicy",
"ecr:DescribeRepositories",
"ecr:ListImages",
"ecr:DescribeImages",
"ecr:BatchGetImage",
"ecr:InitiateLayerUpload",
"ecr:UploadLayerPart",
"ecr:CompleteLayerUpload",
"ecr:PutImage"
],
"Resource":"arn:aws:ecr:us-east-1:123456789012:repository/my-repo"
}
]
}
我在 Policy Simulator 中测试过,它给了我否认:
我怀疑 ARN 出了点问题,我只找到了 ECR 存储库的 URL,但我根据示例更改了格式,有人可以帮助我吗?现在已经为此苦苦挣扎了很长时间。
解决方案
问题在于Simulation Resource
. 您正在测试*
,但您的策略明智地不允许所有。您应该针对需要访问的资源的实际 ARN 对其进行测试。
推荐阅读
- python - 有没有办法使用 python 脚本在 Visual Studio 中调试 C++ 应用程序的内存?
- mrtk - 如何配置 MRTK 以在编辑器和移动设备上使用触摸输入?
- python - 如何从 python 中的 html 源代码中提取以下链接?
- python - Numba:将 numpy 数组转换为可散列对象
- c++ - 将 std::list 附加到 std::list 的向量中
- lambda - 如何使用部署到 Netlify 的无服务器 lambda 函数隐藏条带密钥
- slurm - 如何在 SLURM 的分区中按节点组分配作业
- javascript - 使用 deleteRow 按 id 删除一行
- java - 使用 JNI 调用 C++ 库函数以及哪个进程执行该 C++ 库
- swift - 如何通过 ios 中的 cocoapods 使用 vendored 框架发送 dsym 文件