GitHub監査Logs
プレビュー
Lakewatchは プライベート プレビュー段階です。アクセスをリクエストするには、Databricksアカウントチームにお問い合わせください。
Lakewatchは、GitHubから組織の監査ログを取り込むためのAPIコネクターを提供しています。この記事では、前提条件、設定手順、コネクタスキーマ、およびLakewatchパーサーの監視対象について説明します。
前提条件
コネクターには以下が必要です。
- ServerlessLakeflow Spark Declarative Pipelinesがワークスペースでオンになっていること。
- Unity Catalogと、Unity Catalog接続を作成または使用する権限。接続権限を参照してください。
- 監査ログの取り込み元となる組織にアクセスできるGitHubアカウント。
- GitHub アカウントの開発者設定で OAuth アプリを作成するための権限。
既知の制限事項
audit_logsテーブルは、組織アカウントでのみ利用可能です。- GitHub Freeプランでは、
github.comの監査ログ履歴は90日間に制限されています。 - 履歴のルックバックは180日を超えてはなりません。取り込む期間を選択するを参照してください。
- コネクタは、長期間有効な OAuth ユーザーマシン間 (U2M) アクセストークンのみをサポートします。OAuth アプリが有効期限付きのユーザーアクセストークンを発行する場合、トークンの有効期限が切れるとインジェストが失敗します。
- GitHubは、GitHub組織またはエンタープライズ設定でIPアドレスの表示が有効になっている場合にのみ、監査イベントにアクターのIPアドレスを含めます。
取り込み用にGitHubを構成する
-
GitHub アカウントにサインインします。
-
任意のページの右上隅にあるプロフィール写真をクリックして、ユーザーナビゲーションメニューを開きます。
-
設定 をクリックします。
-
開発者設定 をクリックします。
-
OAuth アプリ セクションで、 新しい OAuth アプリ をクリックします。
-
アプリケーション名 フィールドに、覚えやすいアプリケーション名を入力します。
-
Homepage URL フィールドに、DatabricksインスタンスのプライマリURLを入力します。たとえば、
https://my-databricks-account.cloud.databricks.com。オプションで、アプリケーションの説明を入力します。 -
認可コールバック URL を以下に設定します。
https://<your_workspace_domain>/login/oauth/lakehousefederation.html例えば:
https://my-databricks-account.cloud.databricks.com/login/oauth/lakehousefederation.html -
「 アプリケーションを登録する 」をクリックします。これにより、アプリケーションの詳細ページに移動します。
-
クライアントID をメモします。Unity Catalog接続を作成するときに必要になります。
-
新しいクライアントシークレットの生成 をクリックして、アプリケーションのクライアントシークレットを生成します。
-
生成された [ クライアントシークレット ] をメモします。この値は1回のみ表示されます。
Lakewatch UIから接続を作成するときに、上で収集した クライアントID と クライアントシークレット を入力します。GitHub Enterprise Serverの場合は、オプションの エンタープライズドメイン も入力します。リクエストされたスコープを承認するために、GitHubにリダイレクトされます。
情報については、GitHub取り込み用のOAuth U2Mを構成するをご覧ください。
次のステップ
上記の設定を完了した後、Lakewatch UIでGitHubコネクタを使用してデータソースを作成します。手順については、 API コネクター を参照してください。
コネクターとLakewatchのスキーマ
Lakewatchは、GitHubコネクタのdefaultソーススキーマから次のソーステーブルを取り込みます。
ソーステーブル | GitHubデータ | 組み込みのLakewatchパーサー |
|---|---|---|
| ユーザー、インテグレーション、システムによって実行された組織のアクション |
|
コネクターは、ソーステーブルをデータソースの未加工の宛先に書き込みます。データソースの構成時に構文解析済みの宛先を設定しない限り、組み込みパーサーはパーサーの名前に基づいた個別の構文解析済みテーブルを書き込みます。
Lakewatch管理列
コネクタは、各生ソース行に次の列を追加します。
lw_id: Lakewatchがプライマリキーとして使用する非Null文字列。コネクターは、ソースの@timestampおよび_document_idフィールドから、安定した時間ソート可能なIDを導き出します。time: ソース@timestamp値から変換された null 以外の UTC Timestamp(GitHub はこれを Unix エポックミリ秒としてレポートします)。コネクタは、増分取り込みのカーソルフィールドとしてtimeを使用します。
解析されたテーブルはlw_idを前方に伝搬します。パーサーは解析された time 列も割り当て、以下を追加します:
lw_meta: 標準のLakewatch処理メタデータ。lw_observables:パーサーでセキュリティ監視対象としてマークされたフィールドから抽出された値。
情報については、 パーサー リファレンスを参照してください。
生コネクタテーブルスキーマ
コネクタは、一般的なGitHub監査イベントフィールドを型付きカラムに抽出し、完全なソースイベントを payload に保持します。
スキーマ
列 | データ型 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
フィールドの定義については、GitHub監査ログAPIを参照してください。
パーサーの観測対象
github_audit_lfc パーサーは、完全なソースイベントを payload の VARIANT に保持し、次のフィールドを lw_observables に抽出します。
可観測項目
フィールド | 可観測項目 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|