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

Google ワークスペース 監査アクティビティ

備考

プレビュー

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

Lakewatchは、Google ワークスペースのアプリケーションやサービスから監査アクティビティを取り込むためのAPIコネクタを提供します。この記事では、前提条件、設定手順、コネクターのスキーマ、およびLakewatchパーサーの監視対象について説明します。

前提条件​

コネクタには以下が必要です。

  1. Serverless Lakeflow Spark Declarative Pipelinesがワークスペースで有効になっています。

  2. Unity Catalog、Unity Catalog接続を作成または使用する権限付き。「接続のパーミッション」を参照してください。

  3. レポート 権限を持つGoogle ワークスペース管理者アカウント。スーパー管理者はすでにこの権限を持っています。そうでない場合は、 レポート を含む カスタム管理者ロールを作成 し、接続を許可するアカウントに ロールを割り当て てください。 レポート は、権限リストの レポート の下にリストされます。

    • Vault の監査アクティビティを取り込むには、同じカスタムロールの Vault の下で Google Vault Access All Logs 権限を含めます。
  4. Admin SDK APIを有効にし、OAuth資格情報を作成できるGoogle Cloudプロジェクトへのアクセス。

  5. Google ワークスペースの各アプリケーションで必要となる、サポート対象のエディション。Lakewatchは、これらのアプリケーションを結合されたactivitiesテーブルに書き込みます:

    • ドライブとKeepのアクティビティには、BusinessまたはEnterpriseエディションが必要です。Admin SDK Reports APIリファレンスを参照してください。
    • Access Transparencyアクティビティには、Frontline Plus、Enterprise Plus、Education Standard、Education Plus、またはEnterprise Essentials Plusが必要です。Access Transparencyを参照してください。
    • Vaultアクティビティを使用するには、Google Vaultアドオンライセンスが必要です。Google Vaultライセンスを参照してください。

既知の制限事項​

  • コネクタは、Admin SDK Reports APIから監査アクティビティを取り込みます。メールボックスのコンテンツ、Googleドライブのファイル、またはその他のGoogle ワークスペースリソースは取り込みません。
  • 履歴のルックバックは179日を超えることはできません。Googleは、監査アクティビティレポートを180日間保持します。取り込む期間の選択を参照してください。
  • コネクタはOAuthユーザーマシン間 (U2M) 認証をサポートします。OAuth M2M、ユーザー名とパスワードの認証、およびAPIキー認証はサポートされていません。
  • Googleでは、GoogleアカウントとOAuthクライアントの組み合わせごとに、更新トークンを100個までに制限しています。別のトークンを作成すると、最も古いトークンは無効になります。

取り込み用に Google ワークスペース を設定する​

Google Cloud プロジェクトを作成し、OAuth 同意画面を設定し、Admin SDK API を有効にして、OAuth クライアントの認証情報を作成します。生成されたクライアント ID とシークレットを使用して、Databricks で Unity Catalog の接続を作成します。情報については、「Google ワークスペース APIs の有効化」と「アクセス認証情報の作成」を参照してください。

Google Cloudプロジェクトを作成または選択する​

  1. Google Cloud コンソールにログインします。
  2. ページ上部でプロジェクト ピッカーを開きます。既存のプロジェクトを選択するか、 プロジェクトを作成 をクリックして新しいプロジェクトを作成します。
  3. プロジェクトを作成する場合は、分かりやすい プロジェクト名 を入力し、 ロケーション を選択して、 [作成] をクリックします。プロジェクトの作成には数秒かかります。
  4. 左側のナビゲーション・メニューで、 クラウドの概要 > ダッシュボード に移動します。
  5. 選択または作成したプロジェクトがページの上部に表示されていることを確認します。表示されていない場合は、プロジェクトピッカーを開いて選択します。

Google Cloud アプリを構成する​

  1. 上部の検索バーで、 OAuth同意画面 を検索して選択します。

  2. OAuth 同意画面 ページで、 起動 をクリックします。

  3. ブランディング ページで、以下を入力し、残りのフィールドは空白のままにします。

    • アプリ名 : アプリの名前。
    • ユーザーサポートEメール : あなたのEメールアドレス。
    • オーディエンス : 内部 を選択します。
    • 開発者の連絡先情報 : あなたのEメールアドレス。
  4. 保存して続行 をクリックします。

  5. データアクセス ページで、 スコープの追加または削除 をクリックします。

  6. スコープの手動追加 で、https://www.googleapis.com/auth/admin.reports.audit.readonlyを入力します。

  7. 「 テーブルに追加 」をクリックし、「 更新 」をクリックします。

  8. 保存 をクリックします。

Admin SDK API を有効にする​

  1. 上部の検索バーで Admin SDK API を検索して選択します。
  2. 管理SDK API ページで、 有効 をクリックします。

OAuth認証情報を作成する​

  1. 上部の検索バーで、 API & サービス を検索して選択します。
  2. 左側のナビゲーションメニューで、 認証情報 をクリックします。
  3. 資格情報を作成 をクリックします。
  4. OAuth クライアント ID を選択します。
  5. アプリケーションタイプ に、 Webアプリケーション を選択し、クライアントの 名前 を入力します。
  6. 「 承認済みリダイレクトURI 」で、「 URIの追加 」をクリックします。
  7. https://<workspace-url>/login/oauth/http.htmlと入力します。<workspace-url>をDatabricksワークスペースのhost nameに置き換えます。
  8. 作成 をクリックします。
  9. ダイアログで、 クライアント ID と クライアント シークレット を記録します。これらの値を使用して、Unity Catalog 接続を作成します。
ヒント

Lakewatch UI で接続を作成する際は、上記で取得した クライアントID と クライアント シークレット を入力し、 Google にログイン をクリックして、要求された権限を付与します。

情報については、 Google ワークスペース ソースの設定を参照してください。

次のステップ​

上記の設定が完了したら、Lakewatch UIでGoogle Workspaceコネクタを使用してデータソースを作成します。手順については、APIコネクターを参照してください。


コネクターとLakewatchのスキーマ​

Lakewatchは、サポートされているすべてのGoogle ワークスペースアプリケーションの監査アクティビティをactivitiesという名前の単一のテーブルに結合します。

ソーステーブル

Google ワークスペースデータ

組み込みのLakewatchパーサー

activities

サポートされているすべての Google ワークスペース アプリケーションの監査アクティビティを組み合わせています

google_workspace_reports

ソーステーブル

Google ワークスペースデータ

組み込みのLakewatchパーサー

activities

サポートされているすべての Google ワークスペース アプリケーションの監査アクティビティを組み合わせています

google_workspace_reports

コネクターは、ソーステーブルをデータソースの未加工宛先に書き込みます。データソースを構成するときに解析済み宛先を設定しない限り、組み込みパーサーはパーサー名で名前が付けられた個別の解析済みテーブルに書き込みます。

Lakewatch管理列​

コネクターは、各未処理ソース行に次の列を追加します。

  • lw_id: Lakewatchが主キーの一部として使用するNULL以外の文字列。コネクターは、timeと、ソースアクティビティのIDとイベントフィールドの安定したハッシュから、安定した時間順に並べ替え可能なIDを導き出します。activitiesテーブルは、lw_idとapplicationを複合主キーとして使用します。
  • time:id.timeから解析されたNullでないTimestamp。このコネクタは、増分取り込みのカーソルフィールドとしてtimeを使用します。

解析されたテーブルは lw_id を引き継ぎます。パーサーは解析された time 列を割り当て、以下を追加します。

  • lw_meta:標準のLakewatch処理メタデータ。
  • lw_observables:パーサーでセキュリティ監視対象としてマークされたフィールドから抽出された値。

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

未処理コネクターテーブルスキーマ​

activities テーブルは、イベントごとに1行を書き込みます。各行には、イベントのタイプ、名前、ステータス、リソースID、アプリケーション固有のパラメーターが含まれ、アクター、IPアドレス、イベント時間などの共有アクティビティの詳細も一緒に含まれます。アプリケーション固有のパラメーターは、 VARIANTとして保存されます。

スキーマ

列

データ型

lw_id

STRING

application

STRING

time

TIMESTAMP

kind

STRING

etag

STRING

id

STRUCT<time: STRING, uniqueQualifier: STRING, applicationName: STRING, customerId: STRING>

actor

STRUCT<profileId: STRING, email: STRING, callerType: STRING, key: STRING, applicationInfo: STRUCT<oauthClientId: STRING, applicationName: STRING, impersonation: BOOLEAN>>

ownerDomain

STRING

ipAddress

STRING

isAgenticAction

BOOLEAN

networkInfo

STRUCT<ipAsn: ARRAY<INT>, regionCode: STRING, subdivisionCode: STRING>

type

STRING

name

STRING

status

STRING

resourceIds

ARRAY<STRING>

parameters

VARIANT

userDeviceInfo

VARIANT

resourceDetails

VARIANT

列

データ型

lw_id

STRING

application

STRING

time

TIMESTAMP

kind

STRING

etag

STRING

id

STRUCT<time: STRING, uniqueQualifier: STRING, applicationName: STRING, customerId: STRING>

actor

STRUCT<profileId: STRING, email: STRING, callerType: STRING, key: STRING, applicationInfo: STRUCT<oauthClientId: STRING, applicationName: STRING, impersonation: BOOLEAN>>

ownerDomain

STRING

ipAddress

STRING

isAgenticAction

BOOLEAN

networkInfo

STRUCT<ipAsn: ARRAY<INT>, regionCode: STRING, subdivisionCode: STRING>

type

STRING

name

STRING

status

STRING

resourceIds

ARRAY<STRING>

parameters

VARIANT

userDeviceInfo

VARIANT

resourceDetails

VARIANT

フィールドの定義については、Admin SDK Reports APIアクティビティリソースを参照してください。

パーサーの観測対象​

google_workspace_reportsパーサーは、入れ子になったオブジェクトをVARIANTとして書き込み、以下のフィールドをlw_observablesに抽出します。

可観測項目

フィールド

可観測項目

actor.email

email

actor.profileId

actor_id

ownerDomain

domain

ipAddress

ip

フィールド

可観測項目

actor.email

email

actor.profileId

actor_id

ownerDomain

domain

ipAddress

ip

パーサーは、パラメーター名によってparametersをスキャンします。マッチングでは大文字と小文字が区別されません。

可観測項目

パラメーター名

可観測項目

user_email、email_monitor_dest_email、group_email、affected_email_address、email_forwarding_destination_address、grantee_email、recipient_email、organizer_email、guardians、impacted_users、invited_emails、previous_email、previous_course_owner、target_user、owner、assignee_email、new_assignee_email、 group_id

email

domain_name、domain_alias、secondary_domain_name、 link_domain

domain

web_address、remote_ews_url、task_creation_point_url、task_origin_space、target_uri、 source_uri

url

email_log_search_smtp_sender_ip、email_log_search_smtp_recipient_ip、ip_address、 actor_ip_address

ip

apk_sha256_hash

hash

パラメーター名

可観測項目

user_email、email_monitor_dest_email、group_email、affected_email_address、email_forwarding_destination_address、grantee_email、recipient_email、organizer_email、guardians、impacted_users、invited_emails、previous_email、previous_course_owner、target_user、owner、assignee_email、new_assignee_email、 group_id

email

domain_name、domain_alias、secondary_domain_name、 link_domain

domain

web_address、remote_ews_url、task_creation_point_url、task_origin_space、target_uri、 source_uri

url

email_log_search_smtp_sender_ip、email_log_search_smtp_recipient_ip、ip_address、 actor_ip_address

ip

apk_sha256_hash

hash