Amazon Web Services ブログ
AWS Backup Audit Manager レポートによるリージョンとアカウント全体のコンプライアンスインサイトの作成
このブログは 2022 年 11 月 27 日に Prashant Srivastava(Cloud Architect)と、 Alberto Sagrado(Security Consultant)、 Samuel Ortega Sancho(Security Consultant)によって執筆された内容を日本語化したものです。原文はこちらを参照してください。
図 1:AWS Backup Audit Manager レポートの生成方法を示すアーキテクチャ図
注: AWS Backup を使用する際のコンプライアンスの責任は、データの機密性や組織のコンプライアンス目標、適用される法律と規制によって決まります。このブログは、規制や認証を満たすための包括的なアプローチではなく、コンプライアンスの管理を簡素化するのに役立つ可能性のある新機能を説明することを目的としています。
AWS Backup Audit Manager レポートを分析するためのサンプルレポートソリューションを展開するチュートリアル
サンプルソリューションは、AWS CloudFormation を使用して AWS Backup Audit Manager のクロスアカウント、クロスリージョンレポートを分析するために必要な Amazon Athena テーブルの作成を自動化します。CloudFormation テンプレートには、生成されたレポートファイルを使用してレポートソリューションを作成するために必要なリソースが含まれています。Amazon S3 でレポートが生成されたら、Amazon Athena クエリを実行してデータを分析します。
CloudFormation テンプレートは、次のリソースを作成します。
- レポートの送信先バケットに新しいファイルが挿入されたときにイベントを取得する Amazon EventBridge ルール。このルールは AWS Lambda 関数にイベントを送信します
- イベントを処理し、AWS Glue テーブルに新しいパーティションを作成する AWS Lambda 関数
- AWS Glue データカタログとテーブル、レポートの種類ごとに 1 つのテーブル(バックアップジョブとコピージョブ、復元ジョブ、コンプライアンスの制御、リソースコンプライアンス)
- 生成された Glue テーブルに対してクエリを実行するための Amazon Athena
前提条件
- クロスアカウントレポートを作成するには、AWS Organizations 管理アカウントでログインする必要があります。
- クロスアカウントレポートを実行するには、AWS Backup の「設定」 ページで「クロスアカウントモニタリング
」を有効にする必要があります。 - EventBridge 通知がオンになっている組織のセキュリティ標準に準拠した Amazon S3 バケット。この設定は S3 バケット > プロパティ > Amazon EventBridge で確認できます
図 2:Amazon EventBridge 設定
ステップ1:AWS コンソールを使用して AWS Backup レポートプランを作成する
1. AWS コンソールにログインし、AWS Backup を検索して、ドロップダウンから「AWS Backup」を選択します。左側のウィンドウの「Backup Audit Manager」 で「レポート」 を選択してレポートプランを作成します。次に「レポートプランの作成」 を選択します。
図 3:AWS Backup のレポートプラン
2. 新しいレポートプランを作成する際、5 つの異なるレポートタイプを使用できます。
- バックアップジョブのレポート
- 復元ジョブレポート
- コピージョブレポート
- コントロールコンプライアンスレポート
- リソースコンプライアンスレポート
3. 必須項目としてレポートテンプレートとレポートプラン名を選択する必要があります。また、レポートプランの説明やタグの追加などのオプションフィールドも含まれています。
図 4:AWS Backup Audit Manager の「レポートプランを作成」
4. レポートには 3 つの新しいセクションが含まれています。
- アカウント:レポートプランを、レポートを起動するアカウントにのみ適用するか、組織内の 1 つ以上のアカウントに適用 するかを選択できます
- 組織単位 (OU) とアカウント:レポートプランの範囲に含める OU またはアカウントを選択できます。これは、組織内の 1 つ以上のアカウントが選択されている場合にのみ表示されます
- リージョン: レポートプランの範囲に含める 1 つ以上のリージョンを選択できます
図 5:レポートプランでのアカウント選択
組織単位 (OU) とアカウント:Root を選択すると、含まれているすべての OU とアカウントがレポートプランの範囲に追加されます。各 OU は OU ID によって識別され、アカウントはアカウント ID とアカウントの電子メールによって識別されます。
図 6:AWS Organizations の OU またはアカウントの選択
リージョン:リージョンを選択するとドロップダウンメニューが表示され、特定のリージョンを含めるか、「利用可能なすべてのリージョン」を選択するチェックボックスが表示されます。
図 7:AWS リージョンの選択
5. 「利用可能なすべてのリージョン」 オプションを選択すると「新しいリージョンを組み込むときに含める Backup Audit Manager」のオプション機能が選択できます。
図 8:レポートプランのAWS リージョン選択
6. レポート配信セクションでは、レポートのファイル形式を定義することができます。今回のクロスアカウント、クロスリージョンレポート機能では、CSV 形式のみがサポートされています。既存の Amazon S3 バケットを選択し、必要に応じてオプションのプレフィックスを含める必要があります。
レプリケート先バケットにレポートを配信できるようにするには、バケットポリシーを編集する必要があります。
図 9:レポートプランのレポート配信セクション
7. バケットポリシーが提供され、バケットのアクセス許可セクションにコピーアンドペーストできます。以下は提供されたポリシーの例です。
図 10:レポートプランの Amazon S3 バケットポリシー
ステップ2:スタックを直接起動して CloudFormation テンプレートを展開する
1. AWS マネジメントコンソールにログインし、テンプレートをデプロイするアカウントを作成します。次に「Launch Stach」ボタンを選択します。
2. AWS マネジメントコンソール の右上よりリージョンを選択します。サンプルの CloudFormation テンプレートのデフォルトリージョンは us-east-1 です。ソリューションを展開する場所にリージョンを変更してください。
3. スタック名と展開用の以下パラメータを指定します。残りのパラメーターは既定のままとし、変更しないでください。
パラメータには、AWS ドキュメントの命名規則に従った入力検証があります。
Parameter | Value | Description |
BackupJobsReportPlanName | <値を入力> | AWS Backup コンソールで作成したバックアップジョブレポートプラン名 |
ControlComplianceReportPlanName | <値を入力> | AWS Backup コンソールで作成したコントロールコンプライアンスレポートプラン名 |
CopyJobsReportPlanName | <値を入力> | AWS Backup コンソールで作成したコピージョブレポートプラン名 |
ParamDatabaseName | <値を入力> | 作成する Glue データベース名(このテンプレートによって作成されたすべてのバックアップレポートテーブルが含まれます) **ハイフンを含めることはできません** |
ResourceComplianceReportPlanNam | <値を入力> | AWS Backup コンソールで作成したリソースコンプライアンスレポートプラン名 |
RestoreJobsReportPlanName | <値を入力> | AWS Backup コンソールで作成した復元ジョブレポートプラン名 |
CustomPrefixInS3Reports | <値を入力> | レポート作成時にカスタムプレフィックスが設定されている場合は、ここに含めてください |
ReportsBucketName | <値を入力> | AWS Backup コンソールのレポートで設定されたバケット名 |
4.リストされている Capabilities 項目を読んで同意し、「スタックの作成」を選択します。
5. CREATE_COMPLETE ステータスが表示されたら、テンプレートが正常に展開されたことを意味します
AWS Backup Audit Manager レポートテンプレートのセットアップに関連するさまざまなユースケース
レポートテンプレートは、AWS Organizations 内のさまざまなアカウントタイプから設定できます。レポートテンプレートが設定されている場所に応じて、生成されるレポートのスコープが変わる可能性があります。違いについては、次のセクションで説明します。
管理アカウント
- 管理アカウントからレポートプランを作成する場合、OU 内のすべての OU とアカウントを含むレポートプランを起動できます。コンソールを使用する場合は、管理アカウントで Amazon S3 バケットを選択する必要がありますが、CloudFormation を使用すると管理アカウントまたは他のアカウント(例:監査アカウント) で Amazon S3 バケットを使用できます。これにより、監査アカウントまたはセキュリティ アカウントのすべてのバックアップ レポートを一元化できます。
非管理アカウント、AWS Organizations の一部
- 非管理アカウントからレポートプランを作成する場合、OU 内のすべてのアカウントを含むクロスアカウントレポートプランを起動することはできず、レポートプランが起動されたアカウントのみを起動することができます。
非メンバーアカウント、スタンドアロンアカウント
- これらのアカウントは組織の一部ではないため、他のアカウントを含むクロスアカウントレポートプランを起動することはできず、レポートプランが起動されたアカウントのみを起動することができます。
その他のポイント
- レポートは、50 MB のしきい値に達すると、より小さなサイズのファイルに分割されます。
- 管理アカウントのみがクロスリージョン、クロスアカウントレポートを作成できます。
- クロスアカウント、クロスリージョンの新しいフローには、デフォルトでアカウントとリージョンに存在するすべてのフレームワークが含まれます。
クロスアカウント、クロスリージョンレポートの構造
以下は、コンプライアンスレポートがどのように正確に表示されるかを示すいくつかの抜粋ですが、行サイズの制限で、すべてのフィールドが表示されるわけではないことに注意してください。組織のジョブレポートには、管理アカウントのレポートプランでのみ使用できる追加の列 PathToRoot と AccountId を除き、通常のジョブレポートと同じ列があります。
AWS Backup Audit Manager レポートの詳細については、AWS ドキュメントを参照してください。
コントールコンプライアンスレポートのサンプル
リソースコンプライアンスレポートのサンプル
バックアップジョブレポートのサンプル
考慮事項
- AWS Backup サービスが組織レベルでアクティブ化されていることを確認する必要があります。この設定は AWS Organizations > サービス > AWS Backup > 信頼されたアクセス にあります
- ファイル形式に関して、新旧のファイル形式を同じフォルダに入れると、Athena クエリが壊れてしまい、それぞれのレポートに異なるテーブルが作成されてしまいます。そのため、新しい形式でのレポートが作成されたら、新しい Amazon S3 バケットを作成することをお勧めします。
- バックアップ計画のプレフィックス。レポートプランの作成時にプレフィックスが定義されている場合は、CloudFormation テンプレートでパラメーターを変更する必要があります。
Amazon Athena でのクエリ実行
集計されたレポートデータに対して実行するクエリとして、OU 全体またはシンプルなリージョンにおけるジョブの失敗や非準拠コントロールなどを特定する例を説明します。
- クエリの例
- 特定リージョンのコントロールコンプライアンスレポートから、すべての非準拠結果を選択します(この例のリージョンは ‘us-east-1’ です)
select * from control_compliance_report where "aws region" = 'us-east-1' and "control compliance status" = 'NON_COMPLIANT';
- 特定リージョンおよび特定 pathtoroot のコントロールコンプライアンスレポートからすべての非準拠結果を選択します(この例のリージョンは ‘us-east-1’ です)
select * from control_compliance_report where "aws region" = 'us-east-1' and "control compliance status" = 'NON_COMPLIANT' and "pathtoroot" = 'OrganizationId/RootId/OuId';
- 特定リージョンのコントロールコンプライアンスレポートから、すべての非準拠結果を選択します(この例のリージョンは ‘us-east-1’ です)
-
- リソースコンプライアンスレポートから、コントロール名が「LockVault」であるすべての非準拠の結果を選択します。
select * from resource_compliance_report where "Control Name" = 'LockVault' and "Resource Compliance" = 'Non-Compliance';
- リソースコンプライアンスレポートから、コントロール名が「LockVault」であるすべての非準拠の結果を選択します。
-
- 特定リージョンで失敗したすべてのバックアップジョブを選択します
select * from backup_job_report where “job_status” = 'FAILED' and "aws region" = 'eu-west-1'
- 特定リージョンで失敗したすべてのバックアップジョブを選択します
-
- 特定リージョンで失敗したすべての復元ジョブを選択します
select * from restore_job_report where “job_status” = 'FAILED' and "aws region" = 'eu-west-1'
- 特定リージョンで失敗したすべての復元ジョブを選択します
-
- 特定のリージョンで中止されたすべてのコピー ジョブを選択します
select * from backup_job_report where “job_status” = 'ABORTED' and "aws region" = 'eu-west-1'
- 特定のリージョンで中止されたすべてのコピー ジョブを選択します
クリーンアップ
ステップ1:S3 バケットのコンテンツを削除する
- CloudFormation スタックを削除するために、S3 バケットのコンテンツを削除する必要があります
ステップ2:CloudFormation スタックを削除する
- AWS コンソールで、CloudFormation > スタック > スタックの詳細に移動し、「削除」を選択します
まとめ
このブログ記事では、AWS Backup Audit Manager の新しいクロスアカウント、クロスリージョンレポート機能を紹介しました。バックアップ資産の監査が重要である理由を説明し、AWS Backup がグローバル組織全体のデータ保護コンプライアンスを維持するためにどのように役立つかを説明しました。次に、クロスアカウント、クロスリージョンのレポートがどのように構成され、どのようなレポート構造になっているかを詳しく説明しました。また、ソリューションを迅速に展開するための CloudFormation テンプレートのサンプルと、Amazon S3 内のデータを直接分析するために、集計レポートに対して実行できるいくつかの Athena クエリも含まれています。サンプルの CloudFormation テンプレートと Athena クエリは、お客様の特定の要件に合わせてカスタマイズすることができます。
このブログ記事を読んでいただきありがとうございます。AWS Backup の詳細については、AWS Backup 開発者ガイドを参照してください。
翻訳はプロフェッショナルサービス本部の葉山が担当しました。