[アップデート] AWS Audit Manager の無効時に、作成したすべての Audit Manager リソースとエビデンスデータを削除するオプションが追加されました

2023.01.08

いわさです。

AWS Audit Manager を使用すると AWS の使用状況を継続的に監査して、リスク管理やコンプライアンス評価のための方法を自動化できます。

What’s New at AWS での公開がまだ確認出来ていないのですが、Audit Manager の無効化時にリソースを削除するためのオプションが追加されました。
AWS CLI やマネジメントコンソールからは既にこの機能が利用可能です。

アップデート前は無効化後もデータは削除されなかった

そもそも従来の無効化時の仕様が前提としてあるので各ドキュメントを元に従来の仕様についてまず整理しました。

Audit Manager のサービスを使用しなくなった場合は、サービスの設定画面から Audit Manager の無効化を行うことが出来ます。

実はこれまでは Audit Manager を無効化しても、収集したエビデンスデータや Audit Manager の各リソースは引き続き残っており、サービスを再度有効化するとアクセスすることが出来ました。
本日時点で日本語版公式ドキュメントには以下のように記載がされています。

Audit Manager を無効にしても、データは削除されません。リソースデータを削除する場合は、Audit Manager を無効にする前にそのタスクを個別に実行する必要があります。または、Audit Manager コンソールで登録できます。または、Audit Manager によって提供される削除 API オペレーションのいずれかを使用することもできます。現時点では、Audit Manager には証拠を削除するオプションはありません。

AWS Audit Manager の設定 - AWS Audit Manager より

そのため無効化後も、エビデンスデータについては削除する方法がなくその他のコントロールデータは個別に追加の削除操作が必要でした。

なお、Audit Manager ではデータ保管のためのインフラとして Amazon S3 と DynamoDB を使用しています。(マネージドストレージリポジトリと呼ばれている)
コンテンツデータについてはカスタマーマネージドキーを利用出来るので、従来はそのあたりを使ってデータを復旧できなくすることが出来ました。

後述しますがエビデンスデータについては保持期間のポリシーが従来からあったようです。

アップデート後は従来どおりか、全削除か選択出来るように

設定画面のトグルボタンで無効化時のデータ・リソース削除ポリシーを設定

Settings - Disable AWS Audit Manager に以下のようにデータ削除に関するトグルボタンが追加されています。

こちらをオンオフすると即座に Audit Manager の設定で新たに追加された、無効化時のリソース削除ポリシーが更新されます。(Save ボタンの操作は不要)
Audit Manager 無効化操作を行うと、このトグルボタンの状態に従ってデータの削除を行うかどうか挙動が変わるようですね。

なお、auditmanager get-settingsにもこのアップデートに関する属性が追加されています。(AWS CLI v1.29.45 で確認)
トグルボタンのオンオフの前後で次のように値が変わりました。

% aws-v1 auditmanager get-settings --attribute ALL                  
{
    "settings": {
        "isAwsOrgEnabled": false,
        "defaultProcessOwners": [],
        "kmsKey": "DEFAULT",
        "deregistrationPolicy": {
            "deleteResources": "DEFAULT"
        }
    }
}
% aws-v1 auditmanager get-settings --attribute ALL
{
    "settings": {
        "isAwsOrgEnabled": false,
        "defaultProcessOwners": [],
        "kmsKey": "DEFAULT",
        "deregistrationPolicy": {
            "deleteResources": "ALL"
        }
    }
}

DEFAULTが設定 OFF の状態で、ALLが設定 ON の状態です。
既定はDEFAULTです。

ポリシーに従って無効化時の挙動が変わる

英語版ドキュメントには以下のように仕様が更新されていました。

ALLに設定した状態で無効化すると全ての証拠データと作成した全ての Audit Manager リソースを、無効化操作の 7 日以内に削除します。
なお、ここで言う「全てのデータ」とは Audit Manager に作成したリソースやエビデンスデータのことです。監査対象となった各 AWS リソースなどが削除されるというわけではありません。

DEFAULTに設定した場合は従来のとおりデータは削除されません。エビデンスデータは作成時から 2 年間保持されます。
なお、このエビデンスデータ作成時から 2 年間の保持については「よくある質問」にも記述があるので当初からの仕様と思われます。

Q: AWS Audit Manager は証拠データをどのくらいの期間保存しますか?
現在、AWS Audit Manager は最大 2 年の証拠データを独自のマネージドストレージリポジトリに保存しています。証拠データは 2 年後に削除されます。

最初保存ポリシーも従来と変わったのではと思ったのですがどうやらそうではないようです。

削除指定して無効化してみる

実際に無効化をしてみます。
実際のリソース削除自体は 7 日後に削除されると言われているので、本日時点で確認出来ないですし、確認性の必要性も薄い気はします。
ですので、本日は削除指定で無効化し、その後再度セットアップし直してリソースが参照出来るのかを見てみました。

無効化前は以下のようにいくつかのアセスメントやカスタムコントロールが存在する状態でした。

無効化

Settings - Disable AWS Audit Manager にて Delete all data を ON に変更。その後 Disable ボタンを押します。

Disable ボタンを押すと確認ダイアログが表示されます。
ダイアログ上でもデータ保持設定について確認されています。

どうやらデータ量に応じて 1 時間 ~ 7 日間 で削除されるようです。
7 日保持されたあとに削除されますよではなく、最大 7 日間という意味だったようですね。

再度セットアップしたが無効化前にリソースは参照出来なかった

通常の流れでセットアップし直します。

確認してみましたが、無効化前に存在していたアセスメントやカスタムコントロールが参照出来ませんでした。

リソース削除せずに無効化後、再セットアップした場合は参照出来た

念の為、リソース削除しない DEFAULT 状態で無効化し、その後再セットアップした場合も確認してみましょう。

この時は無効化前に存在していたカスタムコントロールを参照することが出来ました。

さいごに

本日は AWS Audit Manager の無効時に、作成したすべての Audit Manager リソースとエビデンスデータを削除するオプションが追加されたので変更点を整理してみました。

既定はDEFAULT設定になっていたので、従来どおりで良いかたは変更せずにこのままで良いでしょう。
「よくある質問」から、保持ポリシーが変わったわけでもないようです。

また、Audit Manager の無効化時にはリソース削除が必要だろうということで準備していた方は今回の機能が使えると思いますのでこういったオプションが追加されたということを覚えておくと役に立つかもしれないです。