Cloud Logging

このドキュメントでは、Cloud Logging を Google Security Operations SOAR と統合する方法について説明します。

統合バージョン: 1.0

始める前に

この統合を使用するには、 Google Cloud サービス アカウントが必要です。既存のサービス アカウントを使用することも、新しいサービス アカウントを作成することもできます。

サービス アカウントを作成する

サービス アカウントの作成については、サービス アカウントを作成するをご覧ください。

サービス アカウントを使用して Google Cloudに対する認証を行う場合は、JSON でサービス アカウント キーを作成し、統合パラメータを構成するときに、ダウンロードした JSON ファイルのコンテンツを指定できます。

セキュリティ上の理由から、サービス アカウント キーではなく、ワークロード ID のメールアドレスを使用することをおすすめします。ワークロード ID の詳細については、ワークロードの ID をご覧ください。

Cloud Logging を Google SecOps SOAR と統合する

Cloud Logging の統合には、次のパラメータが必要です。

パラメータ 説明
Workload Identity Email Optional

ワークロード ID のクライアント メールアドレス。

このパラメータまたは User's Service Account パラメータのいずれかを構成できます。

ワークロード ID のメールアドレスを使用してサービス アカウントの権限を借用するには、サービス アカウントに Service Account Token Creator ロールを付与します。ワークロード ID とその使用方法の詳細については、ワークロードの ID をご覧ください。

User's Service Account Optional

サービス アカウント キーの JSON ファイルの内容。

このパラメータまたは Workload Identity Email パラメータのいずれかを構成できます。

このパラメータを構成するには、サービス アカウントの作成時にダウンロードしたサービス アカウント キーの JSON ファイルの内容全体を指定します。

認証方法としてサービス アカウントを使用する方法については、サービス アカウントの概要をご覧ください。

Quota Project ID Optional

Google Cloud API と課金に使用する Google Cloud プロジェクト ID。このパラメータを使用するには、サービス アカウントに Service Usage Consumer ロールを付与する必要があります。

統合は、このパラメータ値をすべての API リクエストに付加します。

このパラメータの値を設定しない場合、統合は Google Cloud サービス アカウントから割り当てプロジェクト ID を取得します。

Organization ID Optional

統合で使用する組織 ID。

このパラメータの値を設定しない場合、インテグレーションは Google Cloud サービス アカウントからプロジェクト ID を取得します。

Project ID Optional

統合で使用するプロジェクト ID。

このパラメータの値を設定しない場合、インテグレーションは Google Cloud サービス アカウントからプロジェクト ID を取得します。

Verify SSL 必須

選択すると、統合によって Cloud Logging への接続用の SSL 証明書が有効かどうかが検証されます。

デフォルトで選択されています。

Google SecOps で統合を構成する手順については、統合を構成するをご覧ください。

必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスの構成とサポートの詳細については、複数のインスタンスのサポートをご覧ください。

操作

Cloud Logging インテグレーションには、次のアクションが含まれます。

クエリを実行

クエリを実行アクションを使用して、Cloud Logging でカスタムクエリを実行します。

このアクションは Google SecOps エンティティに対しては実行されません。

アクション入力

[Execute Query] アクションには、次のパラメータが必要です。

パラメータ 説明
Project ID Optional

統合で使用するプロジェクト ID。

このパラメータの値を設定しない場合、インテグレーションは Google Cloud サービス アカウントからプロジェクト ID を取得します。

Organization ID Optional

統合で使用する組織 ID。

このパラメータの値を設定しない場合、インテグレーションは Google Cloud サービス アカウントからプロジェクト ID を取得します。

Query 必須

ログを検索するクエリ。

Time Frame Optional

結果を取得する期間。

Custom を選択した場合は、Start Time パラメータも構成します。

値は次のいずれかになります。

  • Last Hour
  • Last 6 Hours
  • Last 24 Hours
  • Last Week
  • Last Month
  • Custom
デフォルト値は Last Hour です。
Start Time Optional

結果を取得する開始時刻。

Time Frame パラメータに Custom オプションを選択した場合、このパラメータは必須です。

このパラメータを構成するには、ISO 8601 形式を使用します。

End Time Optional

結果を取得する終了時刻。

このパラメータの値を設定せず、Time Frame パラメータに Custom オプションを選択した場合、アクションは終了時刻として現在の時刻を使用します。

このパラメータを構成するには、ISO 8601 形式を使用します。

Max Results To Return Optional

返される結果の最大件数です。

デフォルト値は 50 です。

アクションの出力

[Execute Query] アクションでは、次の出力が提供されます。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、[Execute Query] アクションを使用した場合に受信する JSON 結果の出力について説明しています。

[{
    "protoPayload": {
        "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
        "authenticationInfo": {
            "principalEmail": "system:clouddns"
        },
        "authorizationInfo": [
            {
                "granted": true,
                "permission": "io.k8s.coordination.v1.leases.update",
                "resource": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock"
            }
        ],
        "methodName": "io.k8s.coordination.v1.leases.update",
        "requestMetadata": {
            "callerIp": "192.0.2.6",
            "callerSuppliedUserAgent": "clouddns-leader-election"
        },
        "resourceName": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock",
        "serviceName": "k8s.io",
        "status": {
            "code": 0
        }
    },
    "insertId": "ID",
    "resource": {
        "type": "k8s_cluster",
        "labels": {
            "cluster_name": "CLUSTER_NAME",
            "project_id": "PROJECT_ID",
            "location": "us-central1"
        }
    },
    "timestamp": "2024-09-18T09:46:38.647428Z",
    "labels": {
        "authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"system:clouddns\" of ClusterRole \"system:clouddns-role\" to User \"system:clouddns\"",
        "authorization.k8s.io/decision": "allow"
    },
    "logName": "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity",
    "operation": {
        "id": "ID",
        "producer": "k8s.io",
        "first": true,
        "last": true
    },
    "receiveTimestamp": "2024-09-18T09:46:39.063264993Z"
}]
出力メッセージ

[Execute Query] アクションでは、次の出力メッセージが表示されます。

出力メッセージ メッセージの説明

Successfully executed query "QUERY" in Cloud Logging.

No results were found for the provided query.

アクションが成功しました。
Error executing action "Execute Query". Reason: ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、クエリの実行アクションを使用する場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_success True または False

Ping

Ping アクションを使用して、Cloud Logging への接続をテストします。

このアクションは Google SecOps エンティティに対しては実行されません。

アクション入力

なし

アクションの出力

[Ping] アクションでは、次の出力が提供されます。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
出力メッセージ

Ping アクションでは、次の出力メッセージが表示されます。

出力メッセージ メッセージの説明
Successfully connected to the Cloud Logging server with the provided connection parameters! アクションが成功しました。
Failed to connect to the Cloud Logging server! Error is ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Ping アクションを使用した場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_success True または False

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