AWS Backupでバックアップが削除できない。どうしたら削除できますか?

2021.04.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

AWS Backup のバックアップボールトにおいて、不要なバックアップを削除しようとすると権限エラーとなり削除できません。 操作した IAMユーザーには Administrator Access ポリシーが付与されています。 どうすれば良いでしょうか。

個人検証環境にて再現したエラー内容

どう対応すればいいの?

まず、今回の操作権限を評価しているIAM について振り返ってみます。

IAMでは、IAMポリシーを作成し、それらをIAM ID(ユーザー、ユーザーのグループ、またはロール)またはAWSリソースにアタッチすることで、AWSでのアクセス権限を管理します。 IAMポリシーのポリシータイプには、一般的に以下の種類が存在します。

  • アイデンティティベースのポリシー

  • リソースベースのポリシー

  • アクセス許可の境界( Permissions boundaries )

  • AWS Organizations SCP

  • アクセスコントロールリスト (ACL)

  • セッションポリシー

今回の事象に関連しているのは、アイデンティティベースのポリシー(IAMユーザーはここに該当します)とリソースベースのポリシーです。 この2つの種類のポリシーが重なった部分において、評価の対象となります。

アイデンティティベースとリソースベースのポリシーの重なった部分において、いずれか一方に明示的な Deny (拒否)を設定している場合は Deny が優先され、 たとえ IAM ユーザーに Administrator Access ポリシーが付与されていたとしても、該当の操作は拒否の対象となります。

IAM ユーザーにて操作権限があるにも関わらず該当するリソースへの特定の操作ができない場合は、まずリソースベースのポリシーを見直してみることをお勧めします。

今回設定されていたアクセスポリシー

今回のバックアップのアクセスポリシーには、以下の Action に関するポリシーが含まれていました。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "backup:DeleteBackupVault",
                "backup:DeleteBackupVaultAccessPolicy",
                "backup:DeleteRecoveryPoint",
            ],
            "Resource": "*"
        }
    ]
}

なおアクセスポリシーは、画面の下部より確認できます。

個人検証環境にて再現した内容

アクセスポリシーに対する変更は拒否の対象に含まれていなかったため、アクセスポリシーを直接編集して、"backup:DeleteBackupVault","backup:DeleteRecoveryPoint" を削除します。 なお、不要な復旧ポイントの削除のみであれば、"backup:DeleteRecoveryPoint" を削除するだけでOKです。

アクセスポリシー編集後、無事コンソールからの操作で復旧ポイントが削除されました。

全ての復旧ポイントを削除した後、バックアップボールトもコンソールから削除できました。

関連情報

  • IAMの説明に関しての詳細は以下をご参照ください。

Policies and permissions in IAM

  • AWS Backupの削除に関する詳細は以下をご参照ください。

Deleting a backup vault