AWS Key Management Service ログを収集する
このドキュメントでは、AWS Key Management Service(KMS)ログを Google Security Operations に取り込む方法について説明します。AWS KMS は、データの暗号化に使用する暗号鍵の作成と制御を可能にするフルマネージド サービスです。この統合は、暗号鍵の使用状況のモニタリングと監査に役立ちます。
始める前に
次の前提条件を満たしていることを確認します。
- Google SecOps インスタンス
- AWS への特権アクセス
Amazon S3 と IAM を構成する
- バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
- 後で使用するために、バケットの名前とリージョンを保存します。
- IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
- 作成した [ユーザー] を選択します。
- [セキュリティ認証情報] タブを選択します。
- [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
- [ユースケース] として [サードパーティ サービス] を選択します。
- [次へ] をクリックします。
- 省略可: 説明タグを追加します。
- [アクセスキーを作成] をクリックします。
- [CSV ファイルをダウンロード] をクリックして、[アクセスキー] と [シークレット アクセスキー] を保存し、後で使用できるようにします。
- [完了] をクリックします。
- [権限] タブを選択します。
- [権限ポリシー] セクションで、[権限を追加] をクリックします。
- [権限を追加] を選択します。
- [ポリシーを直接アタッチする] を選択します。
- AmazonS3FullAccess ポリシーを検索して選択します。
- [次へ] をクリックします。
- [権限を追加] をクリックします。
AWS KMS 用に CloudTrail を構成する方法
- AWS Management Console にログインします。
- 検索バーに「CloudTrail」と入力し、サービスリストから [CloudTrail] を選択します。
- [トレイルを作成] をクリックします。
- [Trail name](例: KMS-Activity-Trail)を指定します。
- [組織内のすべてのアカウントで有効にする] チェックボックスをオンにします。
- 前に作成した S3 バケット URI(形式は
s3://your-log-bucket-name/
)を入力するか、新しい S3 バケットを作成します。 - SSE-KMS が有効になっている場合は、[AWS KMS Alias] の名前を指定するか、[既存の AWS KMS 鍵] を選択します。
- その他の設定はデフォルトのままにします。
- [次へ] をクリックします。
- [イベントタイプ] で [管理イベント] と [データイベント] を選択します。
- [次へ] をクリックします。
- [Review and create] で設定を確認します。
- [トレイルを作成] をクリックします。
- 省略可: 新しいバケットを作成した場合は、次のプロセスに進みます。
- S3 に移動します。
- 新しく作成したログバケットを特定して選択します。
- フォルダ [AWSLogs] を選択します。
- [Copy S3 URI] をクリックして保存します。
フィードを設定する
Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。
- [SIEM 設定] > [フィード]
- [Content Hub] > [Content Packs]
[SIEM 設定] > [フィード] でフィードを設定する
このプロダクト ファミリー内で異なるログタイプに対して複数のフィードを構成するには、プロダクトごとにフィードを構成するをご覧ください。
1 つのフィードを設定する手順は次のとおりです。
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで、[単一フィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: AWS KMS Logs)。
- [ソースタイプ] として [Amazon S3] を選択します。
- [ログタイプ] として [AWS KMS] を選択します。
- [次へ] をクリックします。
次の入力パラメータの値を指定します。
- リージョン: Amazon S3 バケットが配置されているリージョン。
- S3 URI: バケット URI。
s3://your-log-bucket-name/
your-log-bucket-name
は、実際の S3 バケットの名前に置き換えます。
- URI is a: バケット構造に応じて、[ディレクトリ] または [サブディレクトリを含むディレクトリ] を選択します。
Source deletion options: 取り込みの設定に応じて削除オプションを選択します。
アクセスキー ID: S3 バケットから読み取る権限を持つユーザーのアクセスキー。
シークレット アクセスキー: S3 バケットから読み取る権限を持つユーザーのシークレット キー。
アセットの名前空間: アセットの名前空間。
Ingestion labels: このフィードのイベントに適用されるラベル。
[次へ] をクリックします。
[Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
コンテンツ ハブからフィードを設定する
次のフィールドに値を指定します。
- リージョン: Amazon S3 バケットが配置されているリージョン。
- S3 URI: バケット URI。
s3://your-log-bucket-name/
your-log-bucket-name
は、実際の S3 バケットの名前に置き換えます。
- URI is a: バケット構造に応じて、[ディレクトリ] または [サブディレクトリを含むディレクトリ] を選択します。
- Source deletion options: 取り込みの設定に応じて削除オプションを選択します。
アクセスキー ID: S3 バケットから読み取る権限を持つユーザーのアクセスキー。
シークレット アクセスキー: S3 バケットから読み取る権限を持つユーザーのシークレット キー。
詳細オプション
- フィード名: フィードを識別する事前入力された値。
- ソースタイプ: Google SecOps にログを収集するために使用される方法。
- Asset Namespace: フィードに関連付けられた名前空間。
- Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
data.detail.awsRegion | principal.location.country_or_region | 未加工ログの data.detail.awsRegion フィールドから直接マッピングされます。 |
data.detail.eventCategory | security_result.category_details | 未加工ログの data.detail.eventCategory フィールドから直接マッピングされます。 |
data.detail.eventName | metadata.product_event_type | 未加工ログの data.detail.eventName フィールドから直接マッピングされます。このフィールドは、eventName が「Decrypt」または「Encrypt」の場合は event_type が「USER_RESOURCE_ACCESS」、eventName が「GenerateDataKey」の場合は event_type が「USER_RESOURCE_CREATION」、それ以外の場合は event_type が「GENERIC_EVENT」というロジックに基づいて metadata.event_type の値を決定します。 |
data.detail.requestID | additional.fields.key | 値は、パーサーコードで「requestID」にハードコードされます。 |
data.detail.requestID | additional.fields.value.string_value | 未加工ログの data.detail.requestID フィールドから直接マッピングされます。 |
data.detail.requestParameters.encryptionAlgorithm | security_result.detection_fields.key | 値は、パーサーコードで「encryptionAlgorithm」にハードコードされます。 |
data.detail.requestParameters.encryptionAlgorithm | security_result.detection_fields.value | 未加工ログの data.detail.requestParameters.encryptionAlgorithm フィールドから直接マッピングされます。 |
data.detail.resources.ARN | target.resource.id | 未加工ログの data.detail.resources.ARN フィールドから直接マッピングされます。 |
data.detail.resources.type | target.resource.resource_subtype | 未加工ログの data.detail.resources.type フィールドから直接マッピングされます。 |
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated | principal.user.attribute.labels.key | 値は、パーサーコードで「mfaAuthenticated」にハードコードされます。 |
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated | principal.user.attribute.labels.value | 未加工ログの data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated フィールドから直接マッピングされます。 |
data.detail.userIdentity.sessionContext.sessionIssuer.principalId | principal.user.userid | 未加工ログの data.detail.userIdentity.sessionContext.sessionIssuer.principalId フィールドから直接マッピングされます。 |
data.detail.userIdentity.sessionContext.sessionIssuer.userName | principal.user.user_display_name | 未加工ログの data.detail.userIdentity.sessionContext.sessionIssuer.userName フィールドから直接マッピングされます。 |
data.detail.userIdentity.type | principal.user.attribute.roles.name | 未加工ログの data.detail.userIdentity.type フィールドから直接マッピングされます。 |
data.id | metadata.product_log_id | 未加工ログの data.id フィールドから直接マッピングされます。 |
data.time | metadata.event_timestamp.seconds | 未加工ログの data.time フィールドから解析されたタイムスタンプの秒の値。 |
なし | metadata.event_type | このフィールドは、data.detail.eventName の値に基づいてパーサー ロジックによって導出されます。eventName が「Decrypt」または「Encrypt」の場合、event_type は「USER_RESOURCE_ACCESS」になります。eventName が「GenerateDataKey」の場合、event_type は「USER_RESOURCE_CREATION」になります。それ以外の場合、event_type は「GENERIC_EVENT」になります。 |
なし | metadata.log_type | 値は、パーサーコードで「AWS_KMS」にハードコードされます。 |
なし | metadata.product_name | 値は、パーサーコードで「AWS Key Management Service」にハードコードされます。 |
なし | metadata.vendor_name | 値は、パーサーコードで「AMAZON」にハードコードされます。 |
なし | principal.asset.attribute.cloud.environment | 値は、パーサーコードで「AMAZON_WEB_SERVICES」にハードコードされます。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。