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

The*_*ton 1 amazon-web-services amazon-ecr

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

到目前为止我做了什么:

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

  • 制作了一个 ECR repo 并aws ecr get-login ...执行了让我登录的命令

  • 添加了一个权限:

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

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

MLu*_*MLu 6

这可以通过用户的 IAM 策略更好地实现,而不是在 ECR 存储库级别执行。

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

    {
        "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": "*"
            }
        ]
    }
Run Code Online (Sandbox Code Playgroud)

这作为b_user读写)的策略:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ecr:*"
                ],
                "Resource": "arn:aws:ecr:*:*:repository/test"
            },
            {
                "Effect": "Allow",
                "Action": "ecr:GetAuthorizationToken",
                "Resource": "*"
            }
        ]
    }
Run Code Online (Sandbox Code Playgroud)

希望有帮助:)