AWS Backup を使用して Amazon EC2 インスタンスを復元しようとしたときに表示される、エンコードされた認可エラーメッセージをトラブルシューティングする方法を教えてください。

最終更新日: 2020 年 3 月 27 日

AWS Backup を使用して、スナップショットから Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを復元しています。しかし、「このオペレーションを実行する権限がありません。AWS Backup ロールに関するアクセス権限を確認してください。詳細については AWS Backup のドキュメントを参照してください。」というエンコードされたエラーメッセージが表示されます。 この問題を解決するには、どうすれば良いですか?

解決方法

AWS Security Token Service (AWS STS) を使用してエラーメッセージをデコードします。次に、復元ジョブを実行した AWS Identity and Access Management (IAM) ロールに十分なアクセス許可があることを確認します。

注意: このエラーは通常、AWS Backup のデフォルトの IAM ロールを使用して復元ジョブを実行し、元の EC2 インスタンスにインスタンスプロファイルがアタッチされている場合に発生します。

1.    以下のように AWS コマンドラインインターフェイス (AWS CLI) を使用して decode-authorization-message コマンドを実行します。

注意: Linux ベースのオペレーティングシステムを使用している場合は、このコマンドと jq ツールを組み合わせると出力が分かりやすくなります。

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

2.    このコマンドは以下のような出力を返します。

{
  "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": [

…..      

}

出力例は、AWSBackupDefaultServiceRole という名前のデフォルトの IAM ロールを使用して復元ジョブを実行したことを示しています。このロールには、インスタンスの復元に必要となる AmazonSSMRoleForInstancesQuickSetup とやり取りするために、iam:PassRole へのアクセス許可が必要です。

3.    復元ジョブの実行に使用する IAM ロールに次のポリシーを追加します

注意: 111122223333 を AWS アカウント ID に置き換えます。

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

IAM ロールを更新したら、復元ジョブを再実行します


アクセスコントロール」 (AWS Backup 開発者ガイド)

この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合