授予一个用户对 ECR 存储库的只读访问权限

授予一个用户对 ECR 存储库的只读访问权限

我怎样才能授予a_user只读权限(即没有推送权限)而不b_user被禁止?

我目前所做的:

  • 添加了我的 AWS 访问权限 + 密钥aws configure

  • 创建了 ECR 存储库并执行aws ecr get-login ...命令来获取我的登录信息

  • 添加了一个权限,其作用如下:

    Deny, 校长:my_principal_id, IAM:a_user,Push

  • 尝试了 docker Push,它明确拒绝了我,尽管b_user(权限仅禁止a_user?)

答案1

更好的做法可能是用户的 IAM 策略而不是在 ECR 仓库级别上进行此操作。

尝试将其作为 IAM 策略a_user只读):

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ecr:Get*",
                    "ecr:List*",
                    "ecr:Describe*",
                    "ecr:BatchGetImage",
                    "ecr:BatchCheckLayerAvailability"
                ],
                "Resource": "arn:aws:ecr:*:*:repository/test"
            },
            {
                "Effect": "Allow",
                "Action": "ecr:GetAuthorizationToken",
                "Resource": "*"
            }
        ]
    }

这是一项政策b_user读写):

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ecr:*"
                ],
                "Resource": "arn:aws:ecr:*:*:repository/test"
            },
            {
                "Effect": "Allow",
                "Action": "ecr:GetAuthorizationToken",
                "Resource": "*"
            }
        ]
    }

希望有帮助:)

相关内容