Cloud Identity Devices ログを収集する
このドキュメントでは、推奨される方法である Third Party API メソッドを使用して、Cloud Identity Devices ログを Google SecOps に収集する方法について説明します。パーサーは、JSON ログからフィールドを抽出し、deviceType や日付などの特定のフィールドを変換して UDM にマッピングし、デバイスを表す asset_entity を作成して、ハードウェアとメタデータ情報で拡充します。
始める前に
次の前提条件を満たしていることを確認します。
- Google SecOps インスタンス
- サービス アカウントのドメイン全体の委任の設定。サービス アカウントは、次のスコープに対して承認されている必要があります。
https://www.googleapis.com/auth/cloud-identity.devices.readonly
- Google Cloud プロジェクトで次の API が有効になっています。
- Cloud Identity API
- Google Workspace Admin SDK
- Alert Center API
推奨: サードパーティ API フィードを設定する
Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。
- [SIEM 設定] > [フィード] > [新しいフィードを追加]
- Content Hub > Content Packs > Get Started
Google Cloud Identity Devices フィードを設定する方法
- [Google Cloud Compute platform] パックをクリックします。
- [Google Cloud Identity Devices] ログタイプを見つけて、[新しいフィードを追加] をクリックします。
- 次のフィールドに値を指定します。
- ソースタイプ: [サードパーティ API] を選択します。
- OAuth JWT エンドポイント: OAuth トークン エンドポイント(
https://oauth2.googleapis.com/token)を入力します。 - JWT クレーム発行者: サービス アカウントのメールアドレスを入力します(サービス アカウントの JSON キーファイルにあります)。
- JWT クレームのサブジェクト: Workspace コンソールでサービス管理者または特権管理者のロールが付与されているユーザーのメールアドレスを入力します(ドメイン全体の委任を通じてユーザーを偽装します)。
- JWT クレームのオーディエンス: エンドポイント
https://oauth2.googleapis.com/tokenを再度入力します。 - RSA 秘密鍵: サービス アカウントの JSON 鍵ファイルから秘密鍵のすべての内容を貼り付けます(
-----BEGIN PRIVATE KEY-----行と-----END PRIVATE KEY-----行も含む)。
詳細オプション
- フィード名: フィードを識別する事前入力された値。
- アセットの名前空間: フィードに関連付けられた名前空間。
- Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。
- [フィードを作成] をクリックします。
このプロダクト ファミリー内の異なるログタイプに対して複数のフィードを構成する方法については、プロダクト別にフィードを構成するをご覧ください。
代替方法: Cloud Storage を介した取り込み
- Google Cloud コンソールにログインします。
[Cloud Storage バケット] のページに移動します。
[作成] をクリックします。
[バケットの作成] ページでユーザーのバケット情報を入力します。以下のステップでは、操作を完了した後に [続行] をクリックして、次のステップに進みます。
[始める] セクションで、次の操作を行います。
- バケット名の要件を満たす一意の名前を入力します(例: gcp-cloudidentity-devices-logs)。
階層名前空間を有効にするには、展開矢印をクリックして [Optimize for file oriented and data-intensive workloads] セクションを開き、[このバケットで階層的な名前空間を有効にする] を選択します。
バケットラベルを追加するには、展開矢印をクリックして [ラベル] セクションを開きます。
[ラベルを追加] をクリックし、ラベルのキーと値を指定します。
[データの保存場所の選択] セクションで、次の操作を行います。
- ロケーション タイプを選択してください。
ロケーション タイプのメニューを使用して、バケット内のオブジェクト データが永続的に保存されるロケーションを選択します。
クロスバケット レプリケーションを設定するには、[クロスバケット レプリケーションを設定する] セクションを開きます。
[データのストレージ クラスを選択する] セクションで、バケットのデフォルトのストレージ クラスを選択するか、バケットデータのストレージ クラスを自動的に管理する Autoclass を選択します。
[オブジェクトへのアクセスを制御する方法を選択する] セクションで、[公開アクセスの防止を適用する] をオフにして、バケットのオブジェクトの [アクセス制御] モデルを選択します。
[オブジェクト データを保護する方法を選択する] セクションで、次の操作を行います。
- [データ保護] で、バケットに設定するオプションを選択します。
- オブジェクト データの暗号化方法を選択するには、[データ暗号化] というラベルの付いた展開矢印をクリックし、データ暗号化方法を選択します。
[作成] をクリックします。
Cloud Identity デバイスログのエクスポートを構成する
- Google Cloud コンソールにログインします。
- [ロギング>ログルーター] に移動します。
- [シンクを作成] をクリックします。
次の構成パラメータを指定します。
- シンク名: わかりやすい名前を入力します(例:
cloud-identity-devices-logs-sink)。 - シンクの宛先: [Cloud Storage] を選択し、バケットの URI(例:
gs://gcp-cloudidentity-devices-logs/)を入力します。 ログフィルタ:
logName="projects/<your-project-id>/logs/cloudaudit.googleapis.com%2Factivity" resource.type="cloud_identity_device"エクスポート オプションを設定: すべてのログエントリを含めます。
- シンク名: わかりやすい名前を入力します(例:
[作成] をクリックします。
Cloud Storage の権限を構成する
- [IAM と管理] > [IAM] に移動します。
- Cloud Logging サービス アカウントを見つけます。
- バケットに対する roles/storage.admin を付与します。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
createTime |
entity.metadata.creation_timestamp |
createTime の値はタイムスタンプとして解析され、マッピングされます。 |
deviceId |
entity.entity.asset.asset_id |
直接マッピングされます。 |
deviceType |
entity.entity.asset.platform_software.platform |
元の値が MAC_OS または IOS の場合、MAC にマッピングされます。元の値が一致する場合は、WINDOWS、MAC、または LINUX にマッピングされます。それ以外の場合は UNKNOWN_PLATFORM に設定します。 |
encryptionState |
entity.entity.asset.attribute.labels.key |
値は encryptionState に設定されます。ラベルの一部として使用されます。 |
encryptionState |
entity.entity.asset.attribute.labels.value |
直接マッピングされます。ラベルの一部として使用されます。 |
lastSyncTime |
entity.entity.asset.system_last_update_time |
lastSyncTime の値はタイムスタンプとして解析され、マッピングされます。 |
managementState |
entity.entity.asset.attribute.labels.key |
値は managementState に設定されます。ラベルの一部として使用されます。 |
managementState |
entity.entity.asset.attribute.labels.value |
直接マッピングされます。ラベルの一部として使用されます。 |
model |
entity.entity.asset.hardware.model |
直接マッピングされます。 |
name |
entity.entity.asset.product_object_id |
devices/ の後の部分が抽出され、マッピングされます。 |
name |
entity.entity.resource.name |
直接マッピングされます。 |
osVersion |
entity.entity.asset.platform_software.platform_version |
直接マッピングされます。 |
securityPatchTime |
entity.entity.asset.attribute.labels.key |
値は securityPatchTime に設定されます。ラベルの一部として使用されます。 |
securityPatchTime |
entity.entity.asset.attribute.labels.value |
直接マッピングされます。ラベルの一部として使用されます。 |
serialNumber |
entity.entity.asset.hardware.serial_number |
直接マッピングされます。未加工ログの最上位の create_time フィールドからコピーされます。値は ASSET に設定されます。値は GCP Cloud Identity Devices に設定されます。値は Google Cloud Platform に設定されます。未加工ログの最上位の create_time フィールドからコピーされます。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。