Você precisa configurar uma função de conta cruzada para que a Conta b assuma.
Crie a função de conta cruzada na conta que possui o Registro, A, que dá acesso ao registro na função. E dê à Conta B as permissões para assumir essa função.
Temos duas contas da AWS. A conta A tem repositórios ECR e a conta B deve ser capaz de extrair deles.
Eu tentei configurar as declarações de permissão do repositório na Conta A para permitir a extração da Conta B, mas a AWS alega que minha política não é válida.
Eu tentei:
Your permission statements have one or more invalid parameters. Invalid parameter at 'PolicyText' failed to satisfy constraint: 'Invalid repository policy provided'
arn:aws:iam::1234567891011:root
). Isso resulta no erro The service name arn:aws:iam::1234567891011:root is invalid. A valid service name format is [service].amazonaws.com.
As etapas acima foram feitas por meio do console da AWS, que não permite editar o JSON diretamente para as permissões do ECR. Eu tentei o comando da CLI aws ecr set-repository-policy
com as alterações acima, mas os mesmos erros foram retornados no terminal.
A adição de permissões para usuários do IAM na mesma conta funciona bem.
As ações que tentei adicionar na política são:
"Action": [
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer",
"ecr:GetRepositoryPolicy",
"ecr:ListImages",
"ecr:DescribeRepositories"
]
Alguma idéia do que eu posso estar fazendo errado?