この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
困っていた内容
AWS Backupを使用してS3のバックアップをリージョン間コピーしたいが、下記のエラーが発生しコピーができません。対処方法を教えてください。
Access Denied trying to call AWS Backup service
詳細な状況
ソースリージョン: オレゴン
送信先リージョン: バージニア
S3のバックアップが、ソースリージョンであるオレゴンリージョンへはコピーさているが、送信先リージョンであるバージニアへはコピーされていない状況です。
どう対応すれば良いの?
IAMロールの権限に不足がないか確認をしてください。
『AWSBackupServiceRolePolicyForS3Backup』 のみを付与している場合、クロスリージョンコピーを実行する権限が不足しています。
上記ポリシーに追加で、『backup:CopyIntoBackupVault』 の権限を付与してください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"backup:CopyIntoBackupVault"
],
"Resource": "arn:aws:backup:*:*:backup-vault:*"
}
]
}
『AWSBackupServiceRolePolicyForBackup』 にも『backup:CopyIntoBackupVault』の権限が含まれているため、こちらのみを付与する形でも問題ありません。
*まとめ*
方法①:
IAMポリシー『AWSBackupServiceRolePolicyForS3Backup』に加え、別途『backup:CopyIntoBackupVault』のポリシーを作成してロールにアタッチする
方法②:
『AWSBackupServiceRolePolicyForBackup』を使用する
フルアクセス権限であれば上記のような対応は必要ありませんが、最小限のポリシーを付与したい場合は上記をご参考ください。