AWS BackupにてS3のクロスリージョンコピーを実施すると”Access Denied trying to call AWS Backup service”エラーが発生する

AWS BackupにてS3のクロスリージョンコピーを実施すると、"Access Denied trying to call AWS Backup service"エラーが発生しターゲットリージョンへコピーが出来ない場合の対処方法についての内容となります。
2022.12.16

困っていた内容

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』を使用する

フルアクセス権限であれば上記のような対応は必要ありませんが、最小限のポリシーを付与したい場合は上記をご参考ください。

参照情報

AWS Backup で定義されるアクション