Conceder acesso de somente um usuário ao repositório ECR

1

Como posso conceder a_user acesso somente leitura (ou seja, sem permissão para Push) e b_user não está banido?

O que eu fiz até agora:

  • Adicionou minha chave secreta de acesso + AWS com aws configure

  • Fiz um repositório de ECR e executei o comando aws ecr get-login ... para obter meu login

  • Adicionada uma permissão que:

    Deny , principal: my_principal_id , IAM: a_user , Push

  • Tentei o docker Push e ele me nega explicitamente, apesar de ser b_user (permissão só proíbe a_user ?)

por Theo Walton 26.10.2018 / 23:50

1 resposta

3

Isso pode ser melhor alcançado por meio da Política do IAM para o usuário em vez de fazê-lo no nível do repo ECR.

Tente isso como uma política do IAM para a_user ( somente leitura ):

    {
        "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": "*"
            }
        ]
    }

E isso como uma política para b_user ( leitura-gravação ):

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

Espero que ajude:)

    
por 27.10.2018 / 01:53