AWS Backup の AWS アカウント間でコピーを作成しようとすると、「Access Denied trying to call AWS Backup service」というエラーが発生するため、解決したいです。
解決策
ポリシーに backup:CopyIntoBackupVault アクションを追加する
Access Denied エラーは、ソース AWS アカウントからバックアップをコピーするためのアクセス許可がない場合に発生する可能性があります。
この問題を解決するには、backup:CopyIntoBackupVault アクションを AWS Identity and Access Management (IAM) の ID ベースのポリシーおよび、宛先ボールトのアクセスポリシーに追加します。詳細については、「クロスアカウントバックアップの設定」を参照してください。
IAM ロールがバックアップをコピーできるようにするには、IAM ロールにアタッチされている ID ベースのポリシーに次のステートメントを含めます。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "backup:CopyIntoBackupVault",
"Resource": "*",
"Effect": "Allow"
}
]
}
AWS Backup がソースアカウントにアクセスできるようにするには、宛先ボールトのアクセスポリシーに次のステートメントを含めます。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::SourceAccountID:root"
},
"Action": "backup:CopyIntoBackupVault",
"Resource": "*"
}
]
}
注: SourceAccountID を実際のソースアカウント ID に置き換えます。
Organizations または OU 内の組織へのアクセスを許可する
宛先ボールトのアクセスポリシーでは、AWS Organizations または 組織単位 (OU) 内の組織へのアクセスを許可することもできます。組織または OU 用のポリシーを使用する場合は、組織 ID または OU ID をボールトのアクセスポリシーで指定します。組織 ID または OU ID を指定しなかった場合は、クロスアカウントコピーは失敗します。
組織全体を許可するコピー先ボールトのアクセスポリシー例を次に示します。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "backup:CopyIntoBackupVault",
"Resource": "",
"Principal": "",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": [
"o-xxxxxxxx11"
]
}
}
}]
}
以下で、OU を許可するコピー先コンテナアクセスポリシーの例を示します。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "backup:CopyIntoBackupVault",
"Resource": "",
"Principal": "",
"Condition": {
"ForAnyValue:StringLike": {
"aws:PrincipalOrgPaths": [
"o-xxxxxxxx11/r-xxxx/ou-[OU]/*"
]
}
}
}]
}
注: aws:PrincipalOrgPaths 条件キーを適切に入力したことを確認してください。詳細については、「IAM を使用して AWS Organizations の AWS アカウントのグループに AWS リソースを共有する」を参照してください。
関連情報
AWS アカウントでのバックアップコピーの作成