amazon-web-services - 在已承担角色的 EC2 实例上运行 ecr 命令需要哪些 iam 策略?

标签 amazon-web-services jenkins terraform amazon-ecr amazon-ecr-public

我有一个小型 jenkins 实例,它使用 terraform 来部署一些东西,例如 ECR 当尝试应用更改时,我收到此错误

error creating ECR Public repository: AccessDeniedException: 
User: arn:aws:sts::1234567890:assumed-role/jenkins_role/i-1234567890 is not authorized to perform: ecr-public:CreateRepository on resource: arn:aws:ecr-public::1234567890:repository/test-repo

enter image description here

我本以为 AmazonEC2ContainerRegistryFullAccess 就足够了,但事实并非如此。当我添加 AdministratorAccess 时,它起作用了。那么为什么会这样呢?

最佳答案

AmazonEC2ContainerRegistryFullAccess仅适用于私有(private) ECR。您正在尝试使用ecr-public。这意味着您必须创建自己的策略来允许ecr-public:CreateRepository(而不是ecr:CreateRepository)。

关于amazon-web-services - 在已承担角色的 EC2 实例上运行 ecr 命令需要哪些 iam 策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68877240/

相关文章:

Node.js Lambda 函数 "response is invalid"Amazon Alexa

amazon-web-services - aws cli ec2 描述实例表输出

docker - Jenkinsfile 中的 "withRun"和 "inside"有什么区别?

docker - 容器内的 Terraform 删除文件

bash - 无法在 Terraform 中运行 shell 脚本

Terraform - 如何输出多个值

objective-c - AWSDynamoDBQueryExpression 按 UNIX 时间戳排序

amazon-web-services - 如何按标签值过滤 CloudFormation 堆栈?

node.js - 使用 Github 个人访问 token 构建 Jenkins npm

jenkins - Jenkinsfile 中的通用包装器