[アップデート] AWS Audit Manager でテキスト形式の質問・回答による手動エビデンスと、エビデンスファインダーでの CSV エクスポート機能が利用可能になりました

2023.06.19

いわさです。

先日 AWS Audit Manager で次のアップデートのアナウンスがありました。

サードパーティリスク?よくわからないぞ...と思ったのですが、使ってみたらそんな複雑なものではなくて単純でした。
今日はサードパーティ云々を無視して今回のアップデートで出来ることを最小限な感じで紹介したいと思います。

手動エビデンスのカスタマイズ

今回出来るようになったことの 1 つ目です。

まず、Audit Manager で何が出来るのかを簡単に説明すると、フレームワークに基づいてアセスメントを実施し、その結果を管理することが出来るサービスです。
そして、それぞれのフレームワークは複数のコントロールで構成されています。
さらに、アセスメント時にはそれぞれのコントロールに対してエビデンスを自動収集したり、手動でアップロードすることが出来ます。

今回のアップデートで手動タイプのエビデンスを使う際に、テキスト入力を受け付けることが出来るようになりました。
これによって、テキスト形式の質問・回答のカスタムコントロールを作成することが出来るようになり、より柔軟なフレームワークを構築することが出来るようになりました。

カスタムコントロール構成時に手動エビデンスでテキストレスポンスを選択するだけ

構成方法は簡単です。
従来どおりカスタムコントロールを作成しますが、エビデンス収集方法は手動で、オプションにテキストレスポンスを選択するだけです。

あとはこのカスタムコントロールを使ってフレームワークを構成し...

そのフレームワークを使ってアセスメントを実施するだけです。

コントロールのエビデンス入力画面で従来の S3 からのインポートの他にテキスト入力が出来るようになっています。

入力方法は次のようにシンプルなテキストエリアが表示されるので入力するだけです。
次のような形式で表示されるため、この場合はコントロール名が設問内容になりそうです。Well Architected Tool と似たようなイメージでしょうか。

エビデンスファインダーでの CSV エクスポート

2 つ目のアップデートはエビデンスファインダーからの CSV エクスポート機能です。
エビデンスファインダーを使うことで特定のフレームワークを使ったアセスメントに対しての、エビデンスを検索したりグルーピングしたり出来ます。

検索結果画面へ次のように CSV エクスポートボタンが追加されています。

まず、エクスポート先に S3 バケットを指定する必要があります。

一点注意があって、そのままデフォルト構成で S3 バケットを作成するだけだと次のようにポリシーのエラーとなります。

Audit Manager は CloudTrail Lake の機能を使って、エビデンスファインダーから CSV ファイルをエクスポートして S3 バケットへ配信する仕組みになっています。
よって、次のドキュメントのポリシー例のように、PubObject アクションを CloudTrail サービスプリンシパルに許可するようなポリシーを構成する必要があります。

ここでは次のようなバケットポリシーを設定しました。
リージョン、バケット名、アカウント ID あたりは環境によって変わります。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudtrail.amazonaws.com"
            },
            "Action": [
                "s3:PutObject*",
                "s3:Abort*"
            ],
            "Resource": [
                "arn:aws:s3:::hoge0619auditoexport",
                "arn:aws:s3:::hoge0619auditoexport/*"
            ],
            "Condition": {
                "StringEquals": {
                    "AWS:SourceArn": "arn:aws:cloudtrail:ap-northeast-1:123456789012:eventdatastore/*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudtrail.amazonaws.com"
            },
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::hoge0619auditoexport",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceArn": "arn:aws:cloudtrail:ap-northeast-1:123456789012:eventdatastore/*"
                }
            }
        }
    ]
}

お、今度はエクスポートに成功しましたね。

ファイルへのアクセスは Audit Manager のダウンロードセンター経由で行うことが出来ます。

わかりにくくて参考にならない気もしますが、ダウンロードした CSV ファイルの例を載せておきますね。

# Execution Time: 2023-06-19T10:46:17.362109273Z Query Statement: SELECT eventData.assessmentId,eventData.awsAccountId,eventData.awsOrganization,json_extract(eventJson, '$.eventData.attributes') as attributes,eventData.complianceCheck,eventData.controlDomainName,eventData.controlId,eventData.controlName,eventData.controlSetId,eventData.dataSource,eventData.description,eventData.eventName,eventData.eventSource,eventData.evidenceAwsAccountId,eventData.evidenceByType,eventData.evidenceFolderId,eventData.evidenceFolderName,eventData.evidenceId,eventData.frameworkName,eventData.frameworkId,eventData.iamId,eventData.manualEvidenceS3ResourcePath,eventData.resourceArn,eventData.resourceType,eventData.resourceComplianceCheck,eventData.service,eventData.serviceCategory,json_extract(eventJson, '$.eventData.time') as eventTime FROM 3503d23a-43f8-489d-8d5d-d7287056716e WHERE eventData.assessmentId = 'e93178bb-7afa-4577-9db3-82b14699474e' AND eventTime >= '2023-06-18 10:40:54.789' AND eventTime <= '2023-06-19 10:40:54.789' AND eventData.resourceComplianceCheck IN ('NON_COMPLIANT','FAILED','WARNING','NOT_APPLICABLE','PASSED','COMPLIANT')
assessmentid,awsaccountid,awsorganization,attributes,compliancecheck,controldomainname,controlid,controlname,controlsetid,datasource,description,eventname,eventsource,evidenceawsaccountid,evidencebytype,evidencefolderid,evidencefoldername,evidenceid,frameworkname,frameworkid,iamid,manualevidences3resourcepath,resourcearn,resourcetype,resourcecompliancecheck,service,servicecategory,eventTime
e93178bb-7afa-4577-9db3-82b14699474e,123456789012,,"{""hoge0619customcontrol"":""-""}",NOT_APPLICABLE,Other,084f8aff-3164-4617-baaa-64e05f591034,hoge0619customcontrol,hoge control set name,Manual,,MANUAL_TEXT,,123456789012,Manual,cf88d573-a487-3752-ae8b-fbb5db97802e,2023-06-19,ff853157-fc5a-4c53-aa40-03ff23c31632,hoge0619framework,92d6de32-e394-4da4-aeed-ba21bd723d1e,,,,,NOT_APPLICABLE,,,"""2023-06-19T09:45:19.000Z"""

さいごに

本日は AWS Audit Manager でテキスト形式の質問・回答による手動エビデンスと、エビデンスファインダーでの CSV エクスポート機能が利用可能になったので使ってみました。

従来は自動でも手動でもある程度固定形式のエビデンスが必要だったのですが、テキストも使えるようになったので柔軟になったというか、実質どんなフレームワークでも作れるようになりそうですね。