Comment résoudre les problèmes associés au message d'échec d'autorisation codé lorsque j'essaie de restaurer une instance Amazon EC2 à l'aide d'AWS Backup ?

Date de la dernière mise à jour : 27/03/2020

J'utilise AWS Backup pour restaurer une instance Amazon Elastic Compute Cloud (Amazon EC2) à partir d'un instantané. Toutefois, je reçois un message d'erreur codé indiquant « Vous n'êtes pas autorisé à effectuer cette opération. Consultez les autorisations associées à votre ou vos rôles AWS Backup et reportez-vous à la documentation AWS Backup pour en savoir plus. » Comment puis-je résoudre ce problème ?

Résolution

Utilisez AWS Security Token Service (AWS STS) pour décoder le message d'échec. Vérifiez ensuite que le rôle AWS Identity and Access Management (IAM) qui a exécuté la tâche de restauration dispose des autorisations nécessaires.

Remarque : cette erreur se produit généralement lorsque vous exécutez la tâche de restauration à l'aide du rôle IAM par défaut sur AWS Backup et que l'instance EC2 d'origine est associée à un profil d'instance.

1.    Exécutez la commande decode-authorization-message à l'aide de l'interface de ligne de commande AWS (AWS CLI). Si vous utilisez un système d'exploitation Linux, vous pouvez combiner cette commande à l'outil jq pour obtenir une sortie conviviale :

# aws sts decode-authorization-message --encoded-message (encoded error message) --query DecodedMessage --output text | jq '.'

Remarque : si vous recevez des erreurs lors de l'exécution des commandes depuis AWS CLI, assurez-vous que vous utilisez la version AWS CLI la plus récente.

2.    La commande renvoie une sortie similaire à celle-ci :

{
  "allowed": false,

…..

  "context": {
    "principal": {
      "id": "AROAAAAAAAAAA:AWSBackup-AWSBackupDefaultServiceRole",
      "arn": "arn:aws:sts::111122223333:assumed-role/AWSBackupDefaultServiceRole/AWSBackup-AWSBackupDefaultServiceRole"
    },
    "action": "iam:PassRole",
    "resource": "arn:aws:iam::111122223333:role/AmazonSSMRoleForInstancesQuickSetup",
    "conditions": {
      "items": [

…..      

}

L'exemple de sortie montre que le rôle IAM par défaut nommé AWSBackupDefaultServiceRole a été utilisé pour exécuter la tâche de restauration. Ce rôle doit avoir l'autorisation pour iam:PassRole afin qu'il puisse interagir avec AmazonSSMRoleForInstancesQuickSetup, ce qui est nécessaire pour restaurer l'instance.

3.    Ajoutez la stratégie suivante au rôle IAM que vous utilisez pour effectuer la tâche de restauration :

Remarque : remplacez 111122223333 par l'ID de votre compte AWS.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/*",
            "Effect": "Allow"
        }
    ]
}

Une fois que vous avez mis à jour le rôle IAM, exécutez à nouveau la tâche de restauration.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?