Amazon Web Services (AWS) サービス ログ コネクタは、CloudTrail 管理ログとデータ ログ用のレガシ コネクタと、S3 バケットからログをプルすることによって次の AWS サービスからログを取り込むことができる新しいバージョンの 2 つのバージョンで利用できます (AWS ドキュメントへのリンク)。
- Amazon Virtual Private Cloud (VPC) - VPC フローログ
- Amazon GuardDuty - 所見
- AWS CloudTrail - 管理とデータ イベント
- AWS CloudWatch - CloudWatch ログ
このタブでは、次の 2 つの方法のいずれかを使用して AWS S3 コネクタを構成する方法について説明します。
[前提条件]
Microsoft Sentinel ワークスペースへの書き込みアクセス許可が必要です。
Microsoft Sentinel の コンテンツ ハブ からアマゾン ウェブ サービス ソリューションをインストールします。 詳細については、「Microsoft Sentinel のあらかじめ用意されたコンテンツの検出と管理」を参照してください。
PowerShell と AWS CLI をマシンにインストールします (自動セットアップのみ)。
- PowerShell のインストール手順
- AWS CLI のインストール手順 (AWS ドキュメントから)
選択した AWS サービスのログで、Microsoft Sentinel で受け入れられる形式が使用されていることを確認します。
- Amazon VPC: ヘッダー付きの GZIP 形式ファイル .csv。区切り文字: スペース。
- Amazon GuardDuty: json-line と GZIP の形式。
- AWS CloudTrail: ファイルはGZIP形式で.jsonです。
- CloudWatch: ヘッダーのない GZIP 形式の .csv ファイル。 ログをこの形式に変換する必要がある場合は、この CloudWatch ラムダ関数を使用できます。
自動セットアップ
オンボード プロセスを簡略化するために、Microsoft Sentinel には、コネクタの AWS 側のセットアップ (必要な AWS リソース、資格情報、アクセス許可) を 自動化する PowerShell スクリプト が用意されています。
スクリプトは次のようになります。
OIDC Web ID プロバイダーを作成して、AWS に対して Microsoft Entra ID ユーザーを認証します。 Web ID プロバイダーが既に存在する場合、スクリプトは Microsoft Sentinel を対象ユーザーとして既存のプロバイダーに追加します。
OIDC で認証されたユーザーに特定の S3 バケットと SQS キュー内のログへのアクセス権を付与するために、必要最小限のアクセス許可を持つ IAM 想定ロール を作成します。
指定した AWS サービスがその S3 バケットにログを送信し、その SQS キューに通知メッセージを送信できるようにします。
必要に応じて、この目的で S3 バケットとその SQS キューを作成します。
必要な IAM アクセス許可ポリシーを構成し、上記で作成した IAM ロールに適用します。
Azure Government クラウドの場合、特殊化されたスクリプトによって異なる OIDC Web ID プロバイダーが作成され、それに IAM が引き受けたロールが割り当てられます。
インストラクション
コネクタを設定するスクリプトを実行するには、次の手順に従います。
Microsoft Sentinel のナビゲーション メニューから、 [データ コネクタ] を選択します。
データ コネクタ ギャラリーから Amazon Web Services S3 を選択します。
コネクタが表示されない場合は、Microsoft Sentinel の コンテンツ ハブ からアマゾン ウェブ サービス ソリューションをインストールします。
コネクタの詳細ペインで、[コネクタ ページを開く] を選択します。
[構成] セクションの [1] の下。AWS 環境を設定し、PowerShell スクリプトを使用して [セットアップ] を展開します (推奨)。
画面の指示に従って 、AWS S3 セットアップスクリプト (リンクはメインセットアップスクリプトとヘルパースクリプトを含む zip ファイルをダウンロードします) をコネクタページからダウンロードして抽出します。
注
AZURE Government クラウドに AWS ログを取り込むには、代わりにこの特殊な AWS S3 Gov セットアップ スクリプトをダウンロードして抽出します。
スクリプトを実行する前に、PowerShell コマンド ラインから
aws configure
コマンドを実行し、プロンプトに従って関連情報を入力します。 AWS コマンドラインインターフェイス | 構成の基本(AWS ドキュメントより)を参照してください。詳細については、次に、スクリプトを実行します。 コネクタ ページ ([Run script to set up the environment]\(スクリプトを実行して環境を設定する\) からコマンドをコピーし、コマンド ラインに貼り付けます。
このスクリプトでは、ワークスペース ID の入力を求められます。 この ID はコネクタ ページに表示されます。 それをコピーし、スクリプトのプロンプトに貼り付けます。
スクリプトの実行が完了したら、スクリプトの出力から ロール ARN と SQS URL を コピーし (下の最初のスクリーンショットの例を参照)、コネクタ ページの 2 の下にあるそれぞれのフィールドに貼り付けます 。接続を追加します (下の 2 番目のスクリーンショットを参照)。
変換先テーブル ドロップダウン リストからデータ型を選択してください。 これにより、この接続を確立して収集する AWS サービスのログと、取り込まれたデータを格納する Log Analytics テーブルがコネクタに通知されます。 [接続の追加] を選択します。
注
スクリプトの実行が完了するまでに最大 30 分かかる場合があります。
手動セットアップ
このコネクタをデプロイするには、自動セットアップ スクリプトを使用することをお勧めします。 何らかの理由でこの利便性を活用したくない場合は、次の手順に従ってコネクタを手動で設定します。
「 Aws ログを Microsoft Sentinel に収集するようにアマゾン ウェブ サービス環境を設定する」の説明に従って、AWS 環境を設定します。
AWS コンソールで、次の手順を実行します。
ID およびアクセス管理 (IAM) サービスを入力し、ロールの一覧に移動します。 上記で作成したロールを選択します。
ARN をクリップボードにコピーします。
Simple Queue Service を入力し、作成した SQS キューを選択し、キューの URL をクリップボードにコピーします。
Microsoft Azure Sentinel で、ナビゲーション メニューから [データ コネクタ] を選択します。
データ コネクタ ギャラリーから Amazon Web Services S3 を選択します。
コネクタが表示されない場合は、Microsoft Sentinel の コンテンツ ハブ からアマゾン ウェブ サービス ソリューションをインストールします。 詳細については、「Microsoft Sentinel のあらかじめ用意されたコンテンツの検出と管理」を参照してください。
コネクタの詳細ペインで、[コネクタ ページを開く] を選択します。
[2. 接続の追加] で:
- 2 ステップ前にコピーした IAM ロール ARN を、ロールを追加するフィールドに貼り付けてください。
- 最後の手順でコピーした SQS キューの URL を SQS URL フィールドに貼り付けます。
- 変換先テーブル ドロップダウン リストからデータ型を選択してください。 これにより、この接続を確立して収集する AWS サービスのログと、取り込まれたデータを格納する Log Analytics テーブルがコネクタに通知されます。
- [接続の追加] を選択します。
既知の問題とトラブルシューティング
既知の問題
異なる種類のログを同じ S3 バケットに格納できますが、同じパスに格納しないでください。
各 SQS キューは、1 種類のメッセージを指している必要があります。 GuardDuty の結果 と VPC フロー ログを取り込む場合は、種類ごとに個別のキューを設定します。
1 つの SQS キューは、S3 バケット内のパスを 1 つだけ提供できます。 複数のパスにログを格納する場合、各パスには専用の SQS キューが必要です。
トラブルシューティング
Amazon Web Services S3 コネクタに関する問題のトラブルシューティングを行う方法について説明します。
ラムダ関数を使用して書式設定された CloudWatch イベントを S3 に送信する (省略可能)
CloudWatch ログが、ヘッダーなしで GZIP 形式のファイル .csv Microsoft Sentinel で受け入れられていない場合は、AWS 内の ソース コードを表示 するラムダ関数ビューを使用して、CloudWatch イベントを受け入れられた形式で S3 バケットに送信します。
Lambda 関数は、Python 3.9 ランタイムと x86_64 アーキテクチャを使用します。
ラムダ関数をデプロイするには:
AWS マネジメントコンソールで、Lambda サービスを選択します。
[ 関数の作成] を選択します。
関数の名前を入力し、ランタイムとして [Python 3.9] を選択し、アーキテクチャとして [x86_64] を選択します。
[ 関数の作成] を選択します。
[Choose a layer](レイヤーの選択) で、レイヤーを選択し、[Add](追加) を選択します。
[Permissions](アクセス許可) を選択し、[Execution role](実行ロール) で [Role name](ロール名) を選択します。
[Permissions policies](アクセス許可ポリシー) で、[Add permissions](アクセス許可の追加)>[Attach policies](ポリシーのアタッチ) の順に選択します。
AmazonS3FullAccess ポリシーと CloudWatchLogsReadOnlyAccess ポリシーを検索してアタッチします。
関数に戻り、[Code](コード) を選択し、[Code source](コード ソース) の下にコード リンクを貼り付けます。
パラメーターの既定値は、環境変数を使用して設定されます。 必要に応じて、これらの値をコード内で直接手動で調整できます。
[Deploy](デプロイ) を選択し、[Test](テスト) を選択します。
必須フィールドを入力してイベントを作成します。
[Test](テスト) を選択して、S3 バケットにイベントがどのように表示されるかを確認します。
次のステップ
このドキュメントでは、AWS リソースに接続してログを Microsoft Sentinel に取り込む方法について説明しました。 Microsoft Sentinel の詳細については、次の記事を参照してください。
- データと潜在的な脅威を可視化する方法について説明します。
- Microsoft Sentinel を使用して脅威の検出を開始しましょう。
- ワークブックを使用して データを監視します。