AWS Backup を使って Amazon Elastic File System (Amazon EFS) の復元を実行しようとすると、「このアクションを実行するには権限が不十分です」または「アクセスが拒否されました」というエラーが表示されます。
簡単な説明
AWS Backup を使用して Amazon EFS リカバリポイントを復元するには、次の権限が必要となります。
- 復元ジョブを作成する AWS アイデンティティおよびアクセス管理 (IAM) アイデンティティには backup:StartRestoreJob 権限が必要です。
- 復元に使用する IAM ロールには EFS 権限が必要です。
- 暗号化を有効にした新しいファイルシステムに EFS を復元しようとしている場合もあります。この場合、復元リクエストで渡される IAM ロールには AWS Key Management Service (AWS KMS) の権限が必要です。
解決策
「このアクションを実行するには権限が不十分です」または「アクセスが拒否されました」というエラーをトラブルシューティングするには、次の手順に従ってください。
1.復元ジョブを作成する IAM アイデンティティに backup:StartRestoreJob AWS Backup アクションがあるかどうかを確認します。この権限は、添付の IAM ポリシーを通じて許可される必要があります。
2.復元リクエストで渡された IAM ロールに、添付の IAM ポリシーを通じて許可されている次の EFS アクションが含まれているかを確認します。
EFS アクション:
"elasticfilesystem:Restore"
"elasticfilesystem:CreateFilesystem"
"elasticfilesystem:DescribeFilesystems"
"elasticfilesystem:DeleteFilesystem"
3. 暗号化を有効にした新しいファイルシステムに復元する場合は、IAM ロールにも次のAWS KMS 権限があるかを確認してください。これらの権限は、AWS KMS キーポリシーで許可されるか、添付の IAM ポリシーで許可されている必要があります。
AWS KMS アクション:
"kms:DescribeKey"
"kms:GenerateDataKeyWithoutPlaintext"
"kms:CreateGrant"
4. ボールトアクセスポリシーに backup:StartRestoreJob アクションの明示的な拒否がないかを確認してください。たとえば、デフォルトの EFS ボールト aws/efs/automatic-backup-vault は、作成時に次のアクセスポリシーを受け取ります。これにより、backup:StartRestoreJob アクションは拒否されます。
{
"Version": "2012-10-17",
"Statement": \[{
"Effect": "Deny",
"Principal": {
"AWS": "\*"
},
"Action": \[
"backup:DeleteBackupVault",
"backup:DeleteBackupVaultAccessPolicy",
"backup:DeleteRecoveryPoint",
"backup:StartCopyJob",
"backup:StartRestoreJob", <--- This action restricts restore
"backup:UpdateRecoveryPointLifecycle"
\],
"Resource": "\*"
}\]
}
5. IAM ポリシーと AWS 組織 SCP に、必要なバックアップ、EFS、AWS KMS アクションを拒否している拒否ステートメントがないかを確認します。
注:
- EFS は、新しいファイルシステムまたは既存のファイルシステムに復元可能です。完全復元を実行すると、ファイルシステム全体が復元されます。もしくは、アイテムレベルの復元を実行して、特定のファイルやディレクトリを復元することもできます。いずれの方法も、AWS バックアップは復元ポイントを復元ディレクトリ aws-backup-restore\ _timestamp-of-restore に復元します。
- 復元が完了すると、ファイルシステムのルートに復元ディレクトリが表示されます。復元が完了しなかった場合は、aws-backup-failed-restore_timestamp-of-restore というディレクトリが表示されます。
- 復元ディレクトリに復元できないデータフラグメントは aws-backup-lost+found ディレクトリに置かれます。バックアップの実行中にファイルシステムに変更が加えられた場合、フラグメントがこのディレクトリに移動される可能性があります。
- アイテムレベルで復元を実行する場合、マウントポイントに関連する相対パスを指定する必要があります。たとえば、ファイルシステムが /user/home/myname/efs にマウントされていて、ファイルパスが user/home/myname/efs/file1 の場合は、/file1 と入力します。パスは、大文字と小文字が区別されます。特殊文字、ワイルドカード文字、正規表現 (regex) 文字列を含めることはできません。