Amazon Macie がAmazon S3 データセキュリティをモニタリングする方法 - Amazon Macie

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Macie がAmazon S3 データセキュリティをモニタリングする方法

AWS アカウント で Amazon Macie を有効化するときに、Macieは、現在のAWS Identity and Access Management内のアカウントで AWS リージョン (IAM) の サービスにリンクされたロール を作成します。このロールのアクセス許可ポリシーにより、Macie がユーザーに代わって他の AWS のサービス をコールし、AWS リソースをモニタリングすることを許可します。このロールを使用することで、Macie はリージョン内の Amazon Simple Storage Service (Amazon S3) バケットの完全なインベントリを生成および維持し、また Macie はバケットのセキュリティとアクセスコントロールをモニタリングおよび評価します。

ユーザーが組織の Macie 管理者である場合、インベントリには、ユーザーのアカウントおよび組織内のメンバーアカウントによって所有される S3 バケットに関する統計およびその他のデータが含まれます。このデータを用いて、Macie を使用して Amazon S3 環境全体で組織のセキュリティ体制をモニタリングおよび評価できます。詳細については、複数のアカウントの管理を参照してください。

主要コンポーネント

Amazon Macie では、S3 バケットに関するデータを提供および維持し、セキュリティとアクセスコントロールについてバケットをモニタリングおよび評価するために、機能と手法の組み合わせを使用します。

メタデータの収集と統計の計算

バケットインベントリのメタデータと統計を生成および維持するために、Macie は Amazon S3 からバケットとオブジェクトメタデータを直接取得します。バケットごとに、メタデータには次のものが含まれます。

  • バケットの名前、Amazon リソースネーム (ARN)、作成日、暗号化設定、タグ、およびバケットを所有する AWS アカウント のアカウント ID など、バケットに関する一般情報。

  • バケットに適用されるアカウントレベルのアクセス許可設定 (アカウントのブロックパブリックアクセス設定など)。

  • バケットのブロックパブリックアクセス設定や、バケットポリシーまたはアクセスコントロールリスト (ACL) から派生する設定など、バケットのバケットレベルのアクセス許可設定。

  • バケットデータが組織の一部ではない AWS アカウント にレプリケートされるか、それらと共有されるかどうかなど、バケットの共有アクセスとレプリケーション設定。

  • バケット内のオブジェクト数や、暗号化タイプ、ファイルタイプ、ストレージクラス別のオブジェクト数の内訳など、バケット内のオブジェクトのオブジェクト数と設定。

Macie は、この情報を直接ユーザーに提供します。また、Macie はこの情報を使用して統計を計算し、バケットインベントリ全体およびインベントリ内の個別のバケットのセキュリティとプライバシーに関する評価を提供します。たとえば、インベントリ内の合計ストレージサイズとバケットの数、それらのバケット内の合計ストレージサイズとオブジェクトの数、およびバケット内の機密データを検出するために Macie が分析できる合計のストレージサイズとオブジェクトの数を確認できます。

デフォルトでは、メタデータと統計には、マルチパートアップロードが不完全だったために存在するすべてのオブジェクトパーツのデータが含まれます。特定のバケットのオブジェクトメタデータを手動で更新すると、Macie はバケットとバケットインベントリ全体の統計を再計算し、オブジェクトパーツのデータを再計算された値から除外します。Macie が毎日の更新サイクルの一部として Amazon S3 からバケットとオブジェクトメタデータを次回、Macie が取得したときに、Macie はインベントリデータを更新し、オブジェクトパーツのデータを再度含めます。Macie がバケットとオブジェクトのメタデータを取得するタイミングについては、データの更新 を参照してください。

Macie はオブジェクトパーツを分析して機密データを検出することはできないことに注意してください。Amazon S3 はまず、Macie が分析できるように、パーツを 1 つ以上のオブジェクトに組み立てる必要があります。ライフサイクルルールでパーツを自動的に削除する方法など、マルチパートアップロードとオブジェクトパーツについては、Amazon Simple Storage Service ユーザーガイドのマルチパートアップロードを使用したオブジェクトのアップロードとコピーを参照してください。オブジェクトパーツを含むバケットを特定するには、Amazon S3 ストレージレンズの不完全なマルチパートアップロードメトリクスを参照してください。詳細については、Amazon Simple Storage Service ユーザーガイドのストレージのアクティビティと使用状況の評価を参照してください。

バケットのセキュリティとプライバシーのモニタリング

インベントリ内のバケットレベルのデータの精度を確保するために、Macie は、Amazon S3 データで発生する可能性のある特定の AWS CloudTrail イベントをモニタリングして分析します。関連するイベントが発生すると、Macie は適切なインベントリデータを更新します。

例えば、バケットのパブリックアクセスブロック設定を有効にすると、Macie はバケットのパブリックアクセス設定に関するすべてのデータを更新します。同様に、バケットにバケットポリシーを追加したり、バケットのバケットポリシーを更新したりすると、Macie はポリシーを分析し、インベントリ内の関連データを更新します。

Macie は、次の CloudTrail イベントのデータをモニタリングおよび分析します。

  • Account-level events (アカウントレベルのイベント) — DeletePublicAccessBlock および PutPublicAccessBlock

  • Bucket-level events (バケットレベルのイベント) — CreateBucket、DeleteAccountPublicAccessBlock、DeleteBucket、DeleteBucketEncryption、DeleteBucketPolicy、DeleteBucketPublicAccessBlock、DeleteBucketReplication、DeleteBucketTagging、PutAccountPublicAccessBlock、PutBucketAcl、PutBucketEncryption、PutBucketPolicy、PutBucketPublicAccessBlock、PutBucketReplication、PutBucketTagging、および PutBucketVersioning

追加の CloudTrail イベントのモニタリングを有効にしたり、前のイベントのモニタリングを無効にしたりすることはできません。前のイベントの対応するオペレーションの詳細については、Amazon Simple Storage Service API リファレンスを参照してください。

ヒント

オブジェクトレベルのイベントをモニタリングするには、Amazon GuardDuty の Amazon S3 保護機能を使用することをお勧めします。この機能は、オブジェクトレベルの Amazon S3 データイベントをモニタリングし、悪意のあるアクティビティや疑わしいアクティビティについてそれらを分析します。詳細については、Amazon GuardDuty ユーザーガイドAmazon GuardDuty での Amazon S3 の保護を参照してください。

バケットセキュリティとアクセスコントロールの評価

バケットレベルのセキュリティとアクセスコントロールを評価するために、Macie は自動化された論理ベースの推論を使用して、バケットに適用されるリソースベースのポリシーを分析します。Macie は、バケットに適用されるアカウントレベルおよびバケットレベルのアクセス許可設定も分析します。この分析では、アカウントとバケットに対するバケットポリシー、バケットレベル ACL、およびブロックパブリックアクセス設定を考慮します。

リソースベースのポリシーでは 、Macie はZelkova を使用します。Zelkova は、AWS Identity and Access Management (IAM) ポリシーを論理ステートメントに変換し、決定問題に対して汎用および特殊な論理ソルバー (充足可能性モジュロ理論) のスイートを実行する自動推論エンジンです。Macie は、ポリシーが許可する動作のクラスの特徴を明確にするためのより具体的なクエリを使用して、Zelkova を繰り返しポリシーに適用します。Zelkova が使用するソルバーの性質の詳細については、充足可能性モジュロ理論を参照してください。

重要

バケットに対して前のタスクを実行するには、Macie はバケットへのアクセスを許可されている必要があります。バケットのアクセス許可設定により、Macie がバケットまたはバケットのオブジェクトのメタデータを取得するのを妨げるようにしている場合、Macie はバケットの名前や作成日など、バケットに関する情報のサブセットのみを提供できます。Macie はバケットに対して追加のタスクを実行できません。詳細については、Macie が S3 バケットおよびオブジェクトにアクセスすることを許可するを参照してください。

データの更新

AWS アカウント で Amazon Macie を有効化するときに、Macie は、S3 バケットとオブジェクトのメタデータを Amazon S3 から直接取得します。その後、Macie は、毎日の更新サイクルの一部として、バケットとオブジェクトメタデータを直接 Amazon S3 から毎日自動的に取得します。

また、次のいずれかが発生したときに、Macie は Amazon S3 から直接バケットメタデータも取得します。

  • インベントリデータを更新するには、Amazon Macie コンソールの更新 The refresh button, which is a button that contains an empty, dark gray circle with an arrow を選択します。データは最短で 5 分ごとに更新できます。

  • ユーザーは DescribeBuckets リクエストを Amazon Macie API にプログラムで送信していて、前の 5 分以内に DescribeBuckets リクエストを送信していません。

  • Macie は関連する AWS CloudTrail イベントを検出しています。

特定のバケットの最新のオブジェクトメタデータを手動で更新することを選択した場合、Macie はそのデータも取得できます。これは、バケットを最近作成したり、過去 24 時間にバケットのオブジェクトに重要な変更を行った場合に役立ちます。バケットのオブジェクトメタデータを手動で更新するには、コンソールのS3バケットバケット詳細パネルオブジェクト統計セクションで更新( The refresh button, which is a button that contains an empty, dark gray circle with an arrow ) を選択します。この機能は、30,000 個以下のオブジェクトを含むバケットで使用できます。

Macie がバケットまたはオブジェクトメタデータを取得するたびに、Macie はインベントリ内の関連データをすべて自動的に更新します。Macie がバケットのセキュリティやプライバシーに影響を与える違いを検出すると、Macie は直ちに変更の評価と分析を開始します。分析が完了すると、Macie はインベントリ内の関連データを更新します。違いによってバケットのセキュリティやプライバシーが低下した場合、Macie は適切な ポリシーの調査結果を作成して、必要に応じて確認および修正を行います。

Macie が毎日の更新サイクルの一部として、アカウントのバケットとオブジェクトメタデータの両方を最後に取得したタイミングを判断するには、コンソールの 最終更新 フィールドを参照できます。このフィールドは、概要ダッシュボードとS3 バケットページ、およびバケット詳細パネルに表示されます。(Amazon Macie API を使用してインベントリデータをクエリする場合、lastUpdated フィールドに、この情報が表示されます。) ユーザーが組織の Macie 管理者である場合、最終更新 フィールドには、Macie が組織内のアカウントのデータを取得した最も早い日時が示されます。

まれに、特定の条件下で、レイテンシーやその他の問題により、Macie がバケットとオブジェクトメタデータを取得するのを妨げることがあります。また、バケットインベントリへの変更または個別のバケットのアクセス許可設定とポリシーについて Macie が受け取る通知を遅らせる可能性があります。たとえば、CloudTrail イベントで配信の問題が発生すると、遅延が発生する可能性があります。このような場合、Macie は、次回 (24 時間以内) 毎日の更新を実行するときに、新しいデータと更新されたデータを分析します。

追加の考慮事項

Amazon Macie を使用して Amazon S3 データのセキュリティ体制をモニタリングおよび評価する場合は、次の点に注意してください。

  • インベントリデータは、現在の AWS リージョン 内の S3 バケットにのみ適用されます。追加のリージョンのデータにアクセスするには、追加の各リージョンで Macie を有効化して使用します。

  • ユーザーが組織の Macie 管理者である場合は、現在のリージョンでそのアカウントで Macie が有効になっている場合にのみ、メンバーアカウントのインベントリデータにアクセスできます。

  • バケットのアクセス許可設定により、Macie がバケットまたはバケットのオブジェクトに関する情報を取得することを妨げた場合、Macie はバケットのデータのセキュリティとプライバシーを評価およびモニタリングしたり、バケットに関する詳細情報を提供したりできません。  

    この場合、バケットを特定しやすくするために、Macie は次の処理を行います。

    • バケットインベントリに、Macie はバケットの警告アイコン A red triangle with a red exclamation point in it を表示します。バケットの詳細では、Macie は以下のフィールドとデータのサブセットのみを表示します: バケットを所有する AWS アカウント のアカウント ID、バケットの名前、Amazon リソースネーム (ARN)、作成日、リージョン、および毎日の更新サイクルの一部として Macie がバケットとオブジェクトメタデータの両方を最後に取得した日時。Amazon Macie API を使用してインベントリデータをクエリする場合、Macie はバケットのエラーコードとメッセージを提供し、バケットのほとんどのプロパティの値が null になります。

    • 概要ダッシュボードで、バケットはパブリックアクセス暗号化 、および 共有 統計で 不明の値を持ちます。(Amazon Macie API を使用して統計のクエリを行う場合、バケットはこれらの統計で unknown の値を持ちます。) さらに、Macie は、ストレージ および オブジェクト 統計でのデータの計算時にそのバケットを除外します。

    問題を調査するには、Amazon S3 内のバケットのポリシーとアクセス許可の設定を確認します。たとえば、バケットには制限があるバケットポリシーが設定されている場合があります。詳細については、Macie が S3 バケットおよびオブジェクトにアクセスすることを許可するを参照してください。

  • アクセス権とアクセス許可に関するデータは、アカウントレベルおよびバケットレベルの設定に限定されます。バケット内の特定のオブジェクトへのアクセス権を判断するオブジェクトレベルの設定は反映されません。たとえば、バケット内の特定のオブジェクトに対してパブリックアクセスが有効になっている場合、Macie はバケットまたはバケットのオブジェクトがパブリックアクセス可能であることをレポートしません。

    オブジェクトレベルのオペレーションをモニタリングし、潜在的なセキュリティリスクを特定するには、Amazon GuardDuty の Amazon S3 保護機能を使用することをお勧めします。この機能は、オブジェクトレベルの Amazon S3 データイベントをモニタリングし、悪意のあるアクティビティや疑わしいアクティビティについてそれらを分析します。詳細については、Amazon GuardDuty ユーザーガイドAmazon GuardDuty での Amazon S3 の保護を参照してください。

  • 特定のバケットのオブジェクトメタデータを手動で更新すると、Macie は、オブジェクトに適用される暗号化統計で一時的に 不明をレポートします。Macie が次回 (24 時間以内) 毎日のデータ更新を実行するときに、Macie はオブジェクトの暗号化メタデータを再評価し、統計の定量データを再度レポートします。

  • 特定のバケットのオブジェクトメタデータを手動で更新すると、Macie はマルチパートアップロードが不完全だったためにバケットに含まれるすべてのオブジェクトパーツのデータを一時的に除外します。Macie が次回 (24 時間以内) 毎日のデータ更新を実行するときに、Macie はバケットオブジェクトの数とストレージサイズの値を再計算し、パーツのデータをそれらの計算に含めます。

  • まれに、Macie がバケットがパブリックアクセス可能かどうか、共有されているかどうか、または新しいオブジェクトのサーバー側の暗号化が必要であるかどうかを判断できない場合があります。たとえば、一時的な問題により、Macie が必要なデータを取得して分析することを妨げる可能性があります。あるいは、Macie は 1 つ以上のポリシーステートメントが外部エンティティへのアクセスを許可するかどうかを完全には判断できない場合があります。これらのケースでは、Macie はインベントリ内の関連する統計とフィールドで 不明をレポートします これらのケースを調査するには、Amazon S3 内のバケットのポリシーとアクセス許可の設定を確認します。

また、アカウントで Macie を有効にした後にバケットのセキュリティまたはプライバシーが低下した場合にのみ、Macie はポリシーの調査結果を生成することに注意してください。たとえば、Macie を有効にした後に、バケットのパブリックアクセスブロック設定を無効にした場合、Macie は Policy:IAMUser/S3BlockPublicAccessDisabled 調査結果をバケットで生成します。ただし、Macie を有効にしてから、パブリックアクセスブロック設定が引き続き無効になっているときに、パブリックアクセスブロック設定がバケットで無効になった場合、Macie は Policy:IAMUser/S3BlockPublicAccessDisabled 調査結果をバケットで生成しません。

さらに、Macie がバケットのセキュリティとプライバシーを評価するときに、アクセスログを調べたり、アカウントのユーザー、ロール、その他の関連する設定を分析したりすることはありません。代わりに、Macie は、potential (潜在的な) セキュリティリスクを示す主要な設定についてデータを分析してレポートします。たとえば、ポリシーの調査結果が、バケットがパブリックアクセス可能であることを示している場合、それは必ずしも外部エンティティがバケットにアクセスしたことを意味するわけではありません。同様に、ポリシーの調査結果が、バケットが組織外の AWS アカウント と共有されていることを示している場合、Macie はこのアクセスが意図され、安全であるかどうかを判断しません。代わりに、これらの調査結果は、外部エンティティがバケットのデータにアクセスできる可能性があることを示しており、意図しないセキュリティリスクになる可能性があります。