Cloud Identity Device Users のログを収集する

以下でサポートされています。

このドキュメントでは、Cloud Storage を使用して Cloud Identity Device Users のログを Google Security Operations にエクスポートする方法について説明します。パーサーは、まず JSON 形式の Cloud Identity Device Users ログからデータを抽出し、タイムスタンプを標準形式に変換します。次に、未加工のログデータの特定のフィールドを、ユーザー エンティティ、アセットとの関係、管理やパスワードの状態などの追加のユーザー属性の統合データモデル(UDM)の対応するフィールドにマッピングします。

始める前に

  • プロジェクトで Google Cloud Identity が有効になっていることを確認します。 Google Cloud
  • Google SecOps インスタンスがあることを確認します。
  • Google Cloud Identity と Cloud Logging への特権アクセス権があることを確認します。

Cloud Storage バケットを作成する

  1. Google Cloud コンソールにログインします。
  2. [Cloud Storage バケット] のページに移動します。

    [バケット] に移動

  3. [作成] をクリックします。

  4. [バケットの作成] ページでユーザーのバケット情報を入力します。以下のステップでは、操作を完了した後に [続行] をクリックして、次のステップに進みます。

    1. [始める] セクションで、次の操作を行います。

      1. バケット名の要件を満たす一意の名前を入力します(例: gcp-cloudidentity-users-logs)。
      2. 階層名前空間を有効にするには、展開矢印をクリックして [Optimize for file oriented and data-intensive workloads] セクションを開き、[このバケットで階層的な名前空間を有効にする] を選択します。

      3. バケットラベルを追加するには、展開矢印をクリックして [ラベル] セクションを開きます。

      4. [ラベルを追加] をクリックし、ラベルのキーと値を指定します。

    2. [データの保存場所の選択] セクションで、次の操作を行います。

      1. ロケーション タイプを選択してください。
      2. ロケーション タイプのメニューを使用して、バケット内のオブジェクト データが永続的に保存されるロケーションを選択します。

      3. クロスバケット レプリケーションを設定するには、[クロスバケット レプリケーションを設定する] セクションを開きます。

    3. [データのストレージ クラスを選択する] セクションで、バケットのデフォルトのストレージ クラスを選択します。あるいは、Autoclass を選択して、バケットデータのストレージ クラスを自動的に管理します。

    4. [オブジェクトへのアクセスを制御する方法を選択する] セクションで、[なし] を選択して公開アクセスの防止を適用し、バケットのオブジェクトの [アクセス制御モデル] を選択します。

    5. [オブジェクト データを保護する方法を選択する] セクションで、次の操作を行います。

      1. [データ保護] で、バケットに設定するオプションを選択します。
      2. オブジェクト データの暗号化方法を選択するには、[データ暗号化] というラベルの付いた展開矢印をクリックし、データの暗号化方法を選択します。
  5. [作成] をクリックします。

Cloud Identity Device Users ログのエクスポートを構成する

  1. Google Cloud コンソールにログインします。
  2. [ロギング] > [ログルーター] に移動します。
  3. [シンクを作成] をクリックします。
  4. 次の構成パラメータを指定します。

    • シンク名: わかりやすい名前を入力します(例: Cloudidentity-Users-Sink)。
    • シンク デスティネーション: [Cloud Storage Storage] を選択し、バケットの URI(gs://gcp-cloudidentity-users-logs など)を入力します。
    • ログフィルタ:

      logName="projects/<your-project-id>/logs/cloudaudit.googleapis.com%2Factivity"
      resource.type="cloud_identity_user"
      
    • エクスポート オプションを設定する: すべてのログエントリを含めます。

  5. [作成] をクリックします。

Cloud Storage の権限を構成する

  1. [IAM と管理] > [IAM] に移動します。
  2. Cloud Logging サービス アカウントを見つけます。
  3. バケットに対する roles/storage.admin を付与します。

Cloud Identity Device Users のログを取り込むように Google SecOps でフィードを構成する

  1. [SIEM 設定] > [フィード] に移動します。
  2. [新しく追加] をクリックします。
  3. [フィード名] フィールドに、フィードの名前を入力します(例: Cloud Identity DU Logs)。
  4. [Source type] として [Google Cloud Storage] を選択します。
  5. [Log type] として [GCP Cloud Identity Device Users] を選択します。
  6. [Chronicle Service Account] フィールドの横にある [Get Service Account] をクリックします。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。

    • ストレージ バケット URI: Cloud Storage バケットの URL(gs://gcp-cloudidentity-users-logs など)。
    • URI Is A: [サブディレクトリを含むディレクトリ] を選択します。
    • Source deletion options: 必要に応じて削除オプションを選択します。

    • Asset namespace: アセットの名前空間

    • Ingestion labels: このフィードのイベントに適用されるラベル。

  9. [次へ] をクリックします。

  10. [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
collection_time.nanos timestamp.nanos ログフィールドから直接マッピングされます。イベントのタイムスタンプ(ナノ秒単位)。
collection_time.seconds timestamp.seconds ログフィールドから直接マッピングされます。イベント タイムスタンプを秒単位で表します。
createTime entity.metadata.creation_timestamp date フィルタによって解析された後、ログフィールドから直接マッピングされます。ユーザーの作成タイムスタンプを表します。
managementState entity.additional.fields.value.string_value ログフィールドから直接マッピングされます。ユーザーの管理状態を表します。
name entity.entity.resource.name ログフィールドから直接マッピングされます。デバイス ユーザーの完全なリソース名を表します。
passwordState entity.additional.fields.value.string_value ログフィールドから直接マッピングされます。ユーザーのパスワードの状態を表します。このフィールドは、passwordState フィールドが未加工ログに存在する場合にのみマッピングされます。
userEmail entity.entity.user.email_addresses ログフィールドから直接マッピングされます。ユーザーのメールアドレスを表します。
entity.additional.fields.key パーサー内で定数値 Management State に設定します。このフィールドは、managementState 値のコンテキストを提供するために使用されます。
entity.additional.fields.key パーサー内で定数値 Password State に設定します。このフィールドは、passwordState 値のコンテキストを提供するために使用され、passwordState が未加工ログに存在する場合にのみ存在します。
entity.entity.user.product_object_id grok フィルタを使用して name フィールドから抽出され、deviceuser_id 部分がキャプチャされます。デバイス ユーザーの一意の識別子を表します。
entity.metadata.collected_timestamp.nanos コピー元: collection_time.nanos。ログが収集されたタイムスタンプを表します。
entity.metadata.collected_timestamp.seconds コピー元: collection_time.seconds。ログが収集されたタイムスタンプを表します。
entity.metadata.entity_type パーサー内で定数値 USER に設定します。
entity.metadata.product_name パーサー内で定数値 GCP Cloud Identity Device Users に設定します。
entity.metadata.vendor_name パーサー内で定数値 Google Cloud Platform に設定します。
relations.entity.asset.product_object_id grok フィルタを使用して name フィールドから抽出され、device_id 部分がキャプチャされます。デバイスの一意の識別子を表します。
relations.entity_type パーサー内で定数値 ASSET に設定します。
relations.relationship パーサー内で定数値 MEMBER に設定します。

変更点

2022-10-01

バグの修正:

  • フィールド firstSyncTimelastSyncTime のマッピングを削除しました。
  • passwordState が空でないことを確認する条件を追加しました。

2022-04-21

機能強化:

  • relationships.entity_type の値を ASSET に、relations.relationship の値を MEMBER に変更しました
  • firstSyncTimelastSyncTime のマッピングを additional.fields から entity.metadata.interval に変更しました

2022-04-13

  • 新しく作成されたパーサー。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。