Amazon Web Services (AWS) サービス ログ コネクタは、CloudTrail 管理とデータ ログのレガシ コネクタと、S3 バケットからログをプルすることで次の AWS サービスからログを取り込む新しいバージョンの 2 つのバージョンで利用できます (AWS ドキュメントへのリンク)。
- Amazon Virtual Private Cloud (VPC) - VPC フロー ログ
- Amazon GuardDuty - 検出結果
- AWS CloudTrail - 管理イベントとデータイベント
- AWS CloudWatch - CloudWatch ログ
S3コネクタタブでは、AWS S3コネクタの設定方法を2つの方法のいずれかで説明しています。
前提条件
Microsoft Sentinel ワークスペースに対する書き込みアクセス許可が必要です。
Microsoft Sentinelの Content Hub から Amazon Web Services ソリューションをインストールします。 詳細については、「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側のセットアップを自動化するPowerShellスクリプトを提供しました。必要なAWSリソース、認証情報、権限も含まれています。
スクリプト:
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ウェブアイデンティティプロバイダーを作成し、そのプロバイダーにIAMの役割を割り当てます。
手順
スクリプトを実行してコネクタを設定するには、次の手順に従います。
Microsoft Sentinel ナビゲーション メニューで、[データ コネクタ] を選択します。
データ コネクタ ギャラリーから [Amazon Web Services S3 ] を選択します。
コネクタが表示されない場合は、Microsoft Sentinelの Content Hub から Amazon Web Services ソリューションをインストールします。
コネクタの詳細ウィンドウで、[コネクタ ページを 開く] を選択します。
Configuration セクションの 1. AWS 環境を設定する で、PowerShell スクリプトを使用してセットアップする(推奨) を展開します。
画面の指示に従って、コネクタ ページからAWS S3 セットアップ スクリプトをダウンロードして展開します(このリンクからは、メインのセットアップ スクリプトとヘルパー スクリプトを含む zip ファイルがダウンロードされます)。
注:
AWS ログをAzure Governmentクラウドに取り込むには、代わりにこの特殊な AWS S3 Gov セットアップ スクリプトをダウンロードして抽出します。
スクリプトを実行する前に、PowerShell コマンド ラインから
aws configureコマンドを実行し、プロンプトに従って関連情報を入力します。 AWS コマンド ライン インターフェイスを参照してください。 |詳細については、(AWS ドキュメントから) 構成の基本を参照してください。次に、スクリプトを実行します。 コネクタ ページ ([スクリプトを実行して環境を設定する] の下) からコマンドをコピーし、コマンド ラインに貼り付けます。
このスクリプトでは、ワークスペース ID の入力を求められます。 この ID はコネクタ ページに表示されます。 それをコピーし、スクリプトのプロンプトに貼り付けます。
スクリプトの実行が終わったら、スクリプトの出力から Role ARN と SQS URL をコピーし、それぞれの項目にコネクターページの2の下に貼り付けます 。つながりを加えましょう。
[ 変換先テーブル ] ドロップダウン リストからデータ型を選択します。 これにより、この接続を収集するために確立されている AWS サービスのログと、取り込まれたデータを格納する Log Analytics テーブルがコネクタに通知されます。 次に、[ 接続の追加] を選択します。
注:
スクリプトの実行が完了するまでに最大 30 分かかる場合があります。
手動セットアップ
このコネクタをデプロイするには、自動セットアップ スクリプトを使用することをお勧めします。 何らかの理由でこの利便性を利用したくない場合は、次の手順に従ってコネクタを手動で設定します。
「aws ログを収集してMicrosoft Sentinelするように Amazon Web Services 環境を設定する」の説明に従って AWS 環境を設定します。
AWS コンソールで、次の手順を実行します。
ID とアクセス管理 (IAM) サービスを入力し、[ロール] の一覧に移動します。 上記で作成したロールを選択します。
ARN をクリップボードにコピーします。
Simple Queue Service を入力し、作成した SQS キューを選択し、キューの URL をクリップボードにコピーします。
Microsoft Sentinelで、ナビゲーション メニューから [データ コネクタ] を選択します。
データ コネクタ ギャラリーから [Amazon Web Services S3 ] を選択します。
コネクタが表示されない場合は、Microsoft Sentinelの Content Hub から Amazon Web Services ソリューションをインストールします。 詳細については、「Microsoft Sentinel のすぐに使えるコンテンツを確認して管理する」を参照してください。
コネクタの詳細ウィンドウで、[コネクタ ページを 開く] を選択します。
2. 接続を追加の下:
- AWS IAMコンソールからコピーしたIAMロールARNを 「追加する役割 」欄に貼り付けます。
- AWS Simple Queue ServiceコンソールからコピーしたSQSキューURLを SQS URL フィールドに貼り付けます。
- [ 変換先テーブル ] ドロップダウン リストからデータ型を選択します。 これにより、この接続を収集するために確立されている AWS サービスのログと、取り込まれたデータを格納する Log Analytics テーブルがコネクタに通知されます。
- [ 接続の追加] を選択します。
既知の問題とトラブルシューティング
既知の問題
異なる種類のログを同じ S3 バケットに格納できますが、同じパスに格納しないでください。
各 SQS キューは、1 種類のメッセージを指す必要があります。 GuardDuty の結果 と VPC フロー ログを取り込む場合は、種類ごとに個別のキューを設定します。
単一の SQS キューは、S3 バケット内の 1 つのパスのみを提供できます。 複数のパスにログを格納する場合、各パスには専用の SQS キューが必要です。
トラブルシューティング
トラブルシューティングの手順については、「 Amazon Web Services S3コネクタの問題のトラブルシューティング」をご覧ください。
ラムダ関数を使用して書式設定された CloudWatch イベントを S3 に送信する (省略可能)
CloudWatchのログがMicrosoft Sentinelで認められていないフォーマット(ヘッダーなしのGZIP形式のファイル .csv)でない場合は、AWS内でソースコードを閲覧するラムダ関数を使って、ヘッダーなしのGZIP形式でCloudWatchイベントをS3バケットに送信 .csv してください。
ラムダ関数は、Python 3.12 ランタイムとx86_64 アーキテクチャを使用します。
ラムダ関数をデプロイするには:
AWS Management Console で、ラムダ サービスを選択します。
[ 関数の作成] を選択します。
関数の名前を入力し、ランタイムとして Python 3.12 を選択し、アーキテクチャとして x86_64 します。
[ 関数の作成] を選択します。
レイヤーを選択 で、レイヤーを選択し、追加 を選択します。
[ アクセス許可] を選択し、[ 実行ロール] で [ ロール名] を選択します。
[ アクセス許可ポリシー] で、[ アクセス許可の追加>アタッチ ポリシー] を選択します。
AmazonS3FullAccess ポリシーと CloudWatchLogsReadOnlyAccess ポリシーを検索してアタッチします。
関数に戻り、[コード] を選択し、[ コード ソース] の下にコード リンク を貼り付けます。
パラメーターの既定値は、環境変数を使用して設定されます。 必要に応じて、これらの値をコード内で直接手動で調整できます。
[ デプロイ] を選択し、[ テスト] を選択します。
必要なフィールドに入力してイベントを作成します。
[ テスト ] を選択して、S3 バケットにイベントがどのように表示されるかを確認します。