Comment résoudre les problèmes associés à l'échec des tâches de restauration Amazon EC2 à l'aide d'AWS Backup ?

Dernière mise à jour : 12/01/2022

J'utilise AWS Backup pour restaurer une instance Amazon Elastic Compute Cloud (Amazon EC2) à partir d'un point de restauration dans AWS Backup. Toutefois, je reçois un message d'erreur codé indiquant "You are not authorized to perform this operation. Please consult the permissions associated with your AWS Backup role(s), and refer to the AWS Backup documentation for more details (« Vous n'êtes pas autorisé à effectuer cette opération. Consultez les autorisations associées à vos rôles AWS Backup et reportez-vous à la documentation AWS Backup pour en savoir plus. »)

Solution

Cette erreur se produit généralement dans les conditions suivantes :

  • Un profil d'instance est attaché à l'instance Amazon EC2 d'origine.
  • Vous essayez de restaurer l'instance sur la console AWS Backup à l'aide du paramètreRôle par défaut pour le Rôle de restauration et Restaurer avec le rôle IAM d'origine pour le Rôle IAM d'instance.

Pour résoudre ce problème, utilisez l'une des options suivantes en fonction de votre cas d'utilisation.

Utilisez l'option Poursuivre sans rôle IAM

  • Lorsque vous exécutez la tâche de restauration pour l'instance dans la console AWS Backup, sélectionnez Proceed with no IAM role (Poursuivre sans rôle IAM) pour Instance IAM role (Rôle IAM d'instance). Avec cette option, vous pouvez restaurer l'instance, et aucun profil d'instance n'est attaché à l'instance restaurée. Ensuite, vous pouvez attacher le profil d'instance à cette instance restaurée.

Utilisez l'option Restaurer avec le rôle IAM d'origine

Lorsque vous exécutez le travail de restauration, vous pouvez sélectionner Restore with Original IAM Role (Restaurer avec le rôle IAM d'origine) pour le Rôle IAM d'instance, après avoir attaché des autorisations supplémentaires à votre Restore role (Rôle de restauration) :

1.    Si vous connaissez le rôle que vous avez utilisé pour la restauration, passez à l'étape 2. Sinon, exécutez la commande decode-authorization-message à l'aide de l'AWS Command Line Interface (AWS CLI) pour trouver le rôle qui a été utilisé pour restaurer l'instance. 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 de commandes depuis la AWS CLI, assurez-vous que vous utilisez la version la plus récente d'AWS CLI.

Vous obtenez un résultat similaire à ce qui suit :

{
  "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 de restauration est identique à AWSBackupDefaultServiceRole. Le Rôle de restauration doit avoir l'autorisation pour iam:PassRole afin qu'il puisse interagir avec le rôle AmazonSSMRoleForInstancesQuickSetup, ce qui est nécessaire pour restaurer l'instance.

2.    Ouvrez la console IAM et créez la politique suivante : 

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"
        }
    ]
}

Attachez ensuite cette politique à votre Rôle de restauration.

3.    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 ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?