Amazon Web Services ブログ

AWS Backup Audit Manager レポートによるリージョンとアカウント全体のコンプライアンスインサイトの作成

このブログは 2022 年 11 月 27 日に Prashant Srivastava(Cloud Architect)と、 Alberto Sagrado(Security Consultant)、 Samuel Ortega Sancho(Security Consultant)によって執筆された内容を日本語化したものです。原文はこちらを参照してください。

お客様は AWS Backup Audit Manager を使用して、バックアッププランやバックアップボールトの変更などのバックアップアクティビティの継続的なモニタリングを自動化し、日次レポートを生成します。AWS Backup Audit Manager は、バックアップ資産全体のデータ保護コンプライアンスの監査とレポートも提供します。以前は、これらのコンプライアンスおよびバックアップアクティビティレポートは、単一アカウントと単一リージョン、または、単一アカウントとクロスリージョンの形式で生成されるところまでに制限されていました。このため、バックアップ資産のコンプライアンスの全体像を把握するには、独自のツールを使用して、複数の異なるアカウントや、複数リージョンからのレポートをどこか一元的な場所に取得する必要がありました。AWS Backup Audit Manager のクロスアカウントとクロスリージョンのレポート対応により、AWS Organizations 管理アカウントを使用してバックアップアクティビティを監視し、一元的な場所からバックアップのコンプライアンス状態を評価することができるようになりました。このため、異なるアカウントからバックアップレポートを取り込むためのツールを構築する必要がなくなります。代わりに、AWS Backup から生成されたこれらのレポートは、確認と分析の目的で AWS Organizations 管理アカウントに配信されます。また、各アカウントにレポートを保存する機能が失われることはありません。レポートテンプレートが管理アカウントから作成されている場合は、AWS Organizations で複数のアカウントを選択してレポートを生成することもできます。このブログ記事では、AWS Backup コンソールを使用してクロスリージョン、クロスアカウントのレポートを作成する方法を説明します。 図 1 のアーキテクチャ図は、新しい機能を使用して AWS Backup Audit Manager レポートがどのように生成されるかの概要を示しています。

Architecture diagram showing how AWS Backup Audit Manager reports are generated

図 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 で確認できます

Amazon EventBridge configuration

図 2:Amazon EventBridge 設定

ステップ1:AWS コンソールを使用して AWS Backup レポートプランを作成する

1. AWS コンソールにログインし、AWS Backup を検索して、ドロップダウンから「AWS Backup」を選択します。左側のウィンドウの「Backup Audit Manager」 で「レポート」 を選択してレポートプランを作成します。次に「レポートプランの作成」 を選択します。

AWS Backup Screen displaying the Report plans page

図 3:AWS Backup のレポートプラン

2. 新しいレポートプランを作成する際、5 つの異なるレポートタイプを使用できます。

  • バックアップジョブのレポート
  • 復元ジョブレポート
  • コピージョブレポート
  • コントロールコンプライアンスレポート
  • リソースコンプライアンスレポート

3. 必須項目としてレポートテンプレートとレポートプラン名を選択する必要があります。また、レポートプランの説明やタグの追加などのオプションフィールドも含まれています。

AWS Backup Audit Manager Create report plan screen

図 4:AWS Backup Audit Manager の「レポートプランを作成」

4. レポートには 3 つの新しいセクションが含まれています。

  • アカウント:レポートプランを、レポートを起動するアカウントにのみ適用するか、組織内の 1 つ以上のアカウントに適用 するかを選択できます
  • 組織単位 (OU) とアカウント:レポートプランの範囲に含める OU またはアカウントを選択できます。これは、組織内の 1 つ以上のアカウントが選択されている場合にのみ表示されます
  • リージョン: レポートプランの範囲に含める 1 つ以上のリージョンを選択できます

Account selection in the Report plan creation page

図 5:レポートプランでのアカウント選択

組織単位 (OU) とアカウント:Root を選択すると、含まれているすべての OU とアカウントがレポートプランの範囲に追加されます。各 OU は OU ID によって識別され、アカウントはアカウント ID とアカウントの電子メールによって識別されます。

AWS Organizations OUs or Account selection screen

図 6:AWS Organizations の OU  またはアカウントの選択

リージョン:リージョンを選択するとドロップダウンメニューが表示され、特定のリージョンを含めるか、「利用可能なすべてのリージョン」を選択するチェックボックスが表示されます。

AWS Regions selection page

図 7:AWS リージョンの選択

5. 「利用可能なすべてのリージョン」 オプションを選択すると「新しいリージョンを組み込むときに含める Backup Audit Manager」のオプション機能が選択できます。

AWS Regions selection in the Reports plan page

図  8:レポートプランのAWS リージョン選択

6. レポート配信セクションでは、レポートのファイル形式を定義することができます。今回のクロスアカウント、クロスリージョンレポート機能では、CSV 形式のみがサポートされています。既存の Amazon S3 バケットを選択し、必要に応じてオプションのプレフィックスを含める必要があります。

レプリケート先バケットにレポートを配信できるようにするには、バケットポリシーを編集する必要があります。

Report delivery section in the Reports plan page

図 9:レポートプランのレポート配信セクション

7. バケットポリシーが提供され、バケットのアクセス許可セクションにコピーアンドペーストできます。以下は提供されたポリシーの例です。

Amazon S3 Bucket policy in the Report plan page

図 10:レポートプランの Amazon S3 バケットポリシー

ステップ2:スタックを直接起動して CloudFormation テンプレートを展開する

1. AWS マネジメントコンソールにログインし、テンプレートをデプロイするアカウントを作成します。次に「Launch Stach」ボタンを選択します。Launch Stack button

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 ドキュメントを参照してください。

コントールコンプライアンスレポートのサンプル

Control Compliance Sample Report

リソースコンプライアンスレポートのサンプル

Resource Compliance Sample Report

バックアップジョブレポートのサンプル

Backup Job Report Sample

考慮事項

  • 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';
    • リソースコンプライアンスレポートから、コントロール名が「LockVault」であるすべての非準拠の結果を選択します。
      • select * from resource_compliance_report where "Control Name" = 'LockVault' and "Resource Compliance" = 'Non-Compliance';
    • 特定リージョンで失敗したすべてのバックアップジョブを選択します
      • 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 開発者ガイドを参照してください。

翻訳はプロフェッショナルサービス本部の葉山が担当しました。

Prashant Srivastava

Prashant Srivastava

Prashant Srivastava は、AWS プロフェッショナル サービスのクラウド アーキテクトです。彼は、AWS のサービスを使用して革新的なソリューションを構築し、顧客がシンプルなソリューションでビジネス目標を達成できるよう支援することに情熱を注いでいます。余暇には、ウェイトリフティングやバスケットボール、ポッドキャストを聴いたり、飼い犬の散歩を楽しんだりしています。

Alberto Sagrado

Alberto Sagrado

Alberto Sagrado は、EMEA の AWS プロフェッショナル サービス GFS のセキュリティコンサルタントです。彼は常に新しいことを学び、新しい挑戦を深く掘り下げようとしています。余暇に家族や友人と過ごして、食べ物や飲み物を楽しむのが大好きです。

Samuel Ortega Sancho

Samuel Ortega Sancho

Samuel Ortega Sancho は、EMEA の AWS プロフェッショナルサービスチームのセキュリティコンサルタントです。彼は新しい課題に直面した際に、顧客のためにシンプルで再利用可能なソリューションを考案します。常に技術を学び、向上させていきます。仕事以外では、ギターを弾いたり、あらゆる種類の本を読んだり、家族や友人と時間を過ごしたり、犬のルイージと遊んだりするのが好きです。