J'ai essayé de suivre les instructions AWS sur la définition de l'autorisation ECR pour mon utilisateur en lui attribuant la stratégie AmazonEC2ContainerRegistryFullAccess
.
Cependant, lorsque j'essaie d'exécuter sur mon PC le aws ecr get-login
, un message d'erreur m'indique que je n'ai pas la permission.
An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:iam::ACCOUNT_NUMBER:user/MY_USER is not authorized to perform: ecr:GetAuthorizationToken on resource: *
Qu'est ce que j'ai mal fait ?
J'ai découvert que lorsque 2FA est activé, il n'est pas possible d'utiliser l'aws ecr get-login, une fois que j'ai supprimé le 2FA de mon compte, j'ai obtenu le jeton d'autorisation.
Vous devez associer une stratégie à votre rôle IAM.
J'ai attaché AmazonEC2ContainerRegistryFullAccess et cela a fonctionné.
Tout comme il apparaît dans la description de l'erreur, je dois autoriser l'action "GetAuthorizationToken" dans ma stratégie.
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": "ecr:GetAuthorizationToken",
"Resource": "*"
}
Remarque: Ce n'est pas ma politique complète, mais une sous-section de déclaration.
J'ai eu le même problème avec ECS lorsque j'ai essayé de pousser mon conteneur dans le référentiel.
Pour résoudre ce problème, j'ai associé à mon rôle IAM ceci: AmazonECS_FullAccess