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

2021.04.15

困っていた内容

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

テクニカルサポートノートとは?

クラスメソッドのカルチャー(CLP) の「情報発信を通じて、全ての人々の創造活動に貢献し続ける」という考えから、クラスメソッド メンバーズをご利用のお客様よりいただいたお問い合わせより、他の AWS ユーザーにとっても 有益な情報を一般的な TIPS としてご紹介しています。