メインコンテンツまでスキップ

Google Cloud 監査ログ

備考

プレビュー

Lakewatchは プライベートプレビュー段階です。アクセスをリクエストするには、Databricksアカウントチームにお問い合わせください。

概要​

Google Cloud Audit Logsは、Google Cloud プロジェクト、フォルダ、および組織全体の管理者アクティビティ、データアクセス、およびシステムイベントを記録します。Lakewatchは、Auto Loaderを使用してクラウドストレージからGoogle Cloud監査ログを取り込み、組み込みの gcp_audit_log パーサーでデータのスキーマを作成します。これはクラウドストレージソースであり、APIコネクタではありません。

Google Cloud の監査ログをオンボードする​

Google Cloud監査Logsを取り込むには、それ用のクラウドストレージデータソースを作成し、組み込みの gcp_audit_log パーサーを添付して、イベントがスキーマ化された解析済みテーブルに書き込まれるようにします。前提条件、Unity Catalogのアクセス権、および完全なデータソースの設定ステップについては、クラウドストレージを参照してください。

解析されたスキーマとオブザーバブル​

組み込みの gcp_audit_log パーサーは、Google Cloud監査ログを解析されたテーブルにスキーマ化します。すべての解析済みテーブルには、Lakewatch管理の列もあります。

  • lw_id: Lakewatchが主キーとして使用し、増分読み取り間の重複排除をサポートするnull以外の文字列。
  • time: パーサーによって割り当てられたNULL以外のイベントTimestamp。
  • lw_meta:標準のLakewatch処理メタデータ。
  • lw_observablesパーサーのセキュリティ観測可能項目としてマークされたフィールドから抽出された値。

情報については、 パーサーリファレンスを参照してください。

解析済みテーブルスキーマ

gcp_audit_logパーサーは次の列を書き込みます(パーサー定義から生成)。

列

データ型

logName

STRING

severity

STRING

insertId

STRING

resource

STRUCT<type: STRING, labels: VARIANT>

time

TIMESTAMP

receiveTimestamp

TIMESTAMP

labels

VARIANT

operation

STRUCT<id: STRING, producer: STRING, first: BOOLEAN, last: BOOLEAN>

trace

STRING

httpRequest

STRUCT<requestMethod: STRING, requestURL: STRING, requestSize: BIGINT, status: SMALLINT, responseSize: BIGINT, userAgent: STRING, remoteIP: STRING, serverIP: STRING, referer: STRING, latency: STRING, cacheLookup: BOOLEAN, cacheHit: BOOLEAN, cacheValidatedWithOriginServer: BOOLEAN, cacheFillBytes: BIGINT, protocol: STRING>

spanId

STRING

traceSampled

BOOLEAN

sourceLocation

STRUCT<file: STRING, line: BIGINT, function: STRING>

protoPayload

STRUCT<@type: STRING, serviceName: STRING, methodName: STRING, resourceName: STRING, numResponseItems: BIGINT, status: STRUCT<code: INT, message: STRING, details: VARIANT>, authenticationInfo: STRUCT<principalSubject: STRING, serviceAccountKeyName: STRING, principalEmail: STRING, authoritySelector: STRING, thirdPartyPrincipal: VARIANT, serviceAccountDelegationInfo: ARRAY<STRUCT<firstPartyPrincipal: STRUCT<principalEmail: STRING, serviceMetadata: VARIANT>, thirdPartyPrincipal: STRUCT<thirdPartyClaims: VARIANT>, principalSubject: STRING>>>, authorizationInfo: ARRAY<STRUCT<resource: STRING, permission: STRING, granted: BOOLEAN, resourceAttributes: STRUCT<service: STRING, name: STRING, type: STRING, labels: STRING, uid: STRING>>>, requestMetadata: STRUCT<callerIP: STRING, callerSuppliedUserAgent: STRING, callerNetwork: STRING, requestAttributes: VARIANT, destinationAttributes: VARIANT>, resourceLocation: STRUCT<currentLocations: ARRAY<STRING>, originalLocations: ARRAY<STRING>>, request: VARIANT, response: VARIANT, metadata: VARIANT, serviceData: VARIANT>

列

データ型

logName

STRING

severity

STRING

insertId

STRING

resource

STRUCT<type: STRING, labels: VARIANT>

time

TIMESTAMP

receiveTimestamp

TIMESTAMP

labels

VARIANT

operation

STRUCT<id: STRING, producer: STRING, first: BOOLEAN, last: BOOLEAN>

trace

STRING

httpRequest

STRUCT<requestMethod: STRING, requestURL: STRING, requestSize: BIGINT, status: SMALLINT, responseSize: BIGINT, userAgent: STRING, remoteIP: STRING, serverIP: STRING, referer: STRING, latency: STRING, cacheLookup: BOOLEAN, cacheHit: BOOLEAN, cacheValidatedWithOriginServer: BOOLEAN, cacheFillBytes: BIGINT, protocol: STRING>

spanId

STRING

traceSampled

BOOLEAN

sourceLocation

STRUCT<file: STRING, line: BIGINT, function: STRING>

protoPayload

STRUCT<@type: STRING, serviceName: STRING, methodName: STRING, resourceName: STRING, numResponseItems: BIGINT, status: STRUCT<code: INT, message: STRING, details: VARIANT>, authenticationInfo: STRUCT<principalSubject: STRING, serviceAccountKeyName: STRING, principalEmail: STRING, authoritySelector: STRING, thirdPartyPrincipal: VARIANT, serviceAccountDelegationInfo: ARRAY<STRUCT<firstPartyPrincipal: STRUCT<principalEmail: STRING, serviceMetadata: VARIANT>, thirdPartyPrincipal: STRUCT<thirdPartyClaims: VARIANT>, principalSubject: STRING>>>, authorizationInfo: ARRAY<STRUCT<resource: STRING, permission: STRING, granted: BOOLEAN, resourceAttributes: STRUCT<service: STRING, name: STRING, type: STRING, labels: STRING, uid: STRING>>>, requestMetadata: STRUCT<callerIP: STRING, callerSuppliedUserAgent: STRING, callerNetwork: STRING, requestAttributes: VARIANT, destinationAttributes: VARIANT>, resourceLocation: STRUCT<currentLocations: ARRAY<STRING>, originalLocations: ARRAY<STRING>>, request: VARIANT, response: VARIANT, metadata: VARIANT, serviceData: VARIANT>

パーサーの観測可能値

パーサーは、次のフィールドを lw_observables に抽出します(パーサー定義から生成)。

フィールド

可観測項目

httpRequest.requestURL

url

httpRequest.remoteIP

ip

httpRequest.serverIP

ip

httpRequest.referer

url

protoPayload.authenticationInfo.principalEmail

email

protoPayload.authenticationInfo.serviceAccountDelegationInfo[].firstPartyPrincipal.principalEmail

email

protoPayload.requestMetadata.callerIP

ip

フィールド

可観測項目

httpRequest.requestURL

url

httpRequest.remoteIP

ip

httpRequest.serverIP

ip

httpRequest.referer

url

protoPayload.authenticationInfo.principalEmail

email

protoPayload.authenticationInfo.serviceAccountDelegationInfo[].firstPartyPrincipal.principalEmail

email

protoPayload.requestMetadata.callerIP

ip

ネストされたキー名に一致することで、次のVARIANTフィールドが観測可能なものとしてスキャンされます。次の表に、それぞれから抽出された観測可能なタイプを示します。

フィールド

スキャンされる観測可能なタイプ

protoPayload.request

domain、email、ip、 username

protoPayload.response

domain、email、ip、 username

protoPayload.metadata

domain、email、ip、 username

フィールド

スキャンされる観測可能なタイプ

protoPayload.request

domain、email、ip、 username

protoPayload.response

domain、email、ip、 username

protoPayload.metadata

domain、email、ip、 username