Microsoft 365 からデータを取り込む
ベータ版
この機能はベータ版です。使用するには、ワークスペース管理者が Previews ページから Lakeflow Connect for Microsoft 365 Unified Audit Logs を有効にする必要があります。Databricks のプレビューを管理するを参照してください。
宣言型自動化バンドルまたは Databricks ノートブックを使用して、サポートされている 5 つの監査 Log ソース テーブルのいずれに対するマネージド Microsoft 365 統合監査 Log パイプラインも作成できます。
要件
-
取り込みパイプラインを作成するには、まず次の要件を満たす必要があります。
-
ワークスペースでUnity Catalogが有効になっている必要があります。
-
ワークスペースで Serverless コンピュートが有効になっている必要があります。Serverless コンピュートの要件を参照してください。
-
新しい接続を作成するには、メタストアに対する
CREATE CONNECTION特権が必要です。Unity Catalog での特権の管理を参照してください。コネクタが UI ベースのパイプライン オーサリングをサポートしている場合、管理者はこのページのステップを完了することで、接続とパイプラインを同時に作成できます。 ただし、パイプラインを作成するユーザーが API ベースのパイプライン オーサリングを使用している場合、または管理者以外のユーザーである場合、管理者はまずカタログ エクスプローラーで接続を作成する必要があります。 「管理対象取り込みソースへの接続」を参照してください。
-
既存の接続を使用するには、接続オブジェクトに対して
USE CONNECTION権限またはALL PRIVILEGESを持っている必要があります。 -
ターゲットカタログに対する
USE CATALOG権限が必要です。 -
既存のスキーマに対して
USE SCHEMAおよびCREATE TABLE権限を持っているか、ターゲット カタログに対してCREATE SCHEMA権限を持っている必要があります。
-
-
Databricks から認証を構成し、接続を作成します。Microsoft 365 への認証の構成およびMicrosoft 365 統合監査 Logs 接続の作成を参照してください。
-
取り込むソースオブジェクトを選択します。サポートされているオブジェクトについては、サポートされているソーステーブルを参照してください。
コネクターのオプション
Microsoft 365 Unified Audit Logs コネクタは、コネクタ固有のパイプラインオプションを定義しません。接続設定については、接続オプションを参照してください。
取り込みパイプラインの作成
宣言型自動化バンドルまたは Databricks ノートブックを使用してパイプラインを作成します。コネクタがベータ版の間は、パイプラインのチャンネルをPREVIEWに設定してください。
- Declarative Automation Bundles
- Databricks notebook
宣言型オートメーションバンドルを使用して、Microsoft 365 Unified Audit Logs パイプラインをコードとして管理します。バンドルには、パイプラインとジョブの YAML 定義を含めることができ、Databricks CLI を使用して管理され、開発、ステージング、および本番運用のワークスペース間で共有できます。詳細については、「宣言型オートメーションバンドルとは?」をご覧ください。
-
Databricks CLIを使用してバンドルを作成するには:
Bashdatabricks bundle init -
resources/microsoft_365_pipeline.ymlなどのパイプライン定義ファイルを追加します。See パイプライン.ingestion_definition また、 例 を参照してください。 -
パイプラインを 7 日間よりも高い頻度で実行するには、
resources/microsoft_365_job.ymlなどのジョブ定義ファイルを追加します。 -
Databricks CLIを使用してパイプラインをデプロイします:
Bashdatabricks bundle deploy
- 次のノートブックを Databricks ワークスペースにインポートします。
-
Don't edit the setup cells.Edit only the last cell, which creates the パイプライン.See パイプライン.ingestion_definitionand Examples.
-
Optionally configure advanced パイプライン settings.See Common patterns for managed ingestion パイプライン.
-
「 すべて実行 」をクリックします。
例
Microsoft 365 Unified Audit Logs コネクターにより、5つのソーステーブルが default のソーススキーマで利用可能になります。次の例では、Entra ID、Exchange、SharePoint、一般、およびデータ損失防止の監査イベントを取り込みます。
- Declarative Automation Bundles
- Databricks notebook
次のパイプライン定義ファイルは、5つのソーステーブルをすべて取り込みます。
resources:
pipelines:
microsoft_365_pipeline:
name: microsoft_365_pipeline
channel: PREVIEW
catalog: 'main'
target: 'microsoft_365_data'
ingestion_definition:
connection_name: microsoft_365_connection
objects:
- table:
source_schema: 'default'
source_table: 'audit_azure_active_directory'
destination_catalog: 'main'
destination_schema: 'microsoft_365_data'
destination_table: 'audit_azure_active_directory'
- table:
source_schema: 'default'
source_table: 'audit_exchange'
destination_catalog: 'main'
destination_schema: 'microsoft_365_data'
destination_table: 'audit_exchange'
- table:
source_schema: 'default'
source_table: 'audit_sharepoint'
destination_catalog: 'main'
destination_schema: 'microsoft_365_data'
destination_table: 'audit_sharepoint'
- table:
source_schema: 'default'
source_table: 'audit_general'
destination_catalog: 'main'
destination_schema: 'microsoft_365_data'
destination_table: 'audit_general'
- table:
source_schema: 'default'
source_table: 'dlp_all'
destination_catalog: 'main'
destination_schema: 'microsoft_365_data'
destination_table: 'dlp_all'
次のパイプライン仕様では、5つすべてのソーステーブルを取り込みます。
pipeline_name = "microsoft_365_pipeline"
connection_name = "<microsoft-365-connection>"
source_tables = [
"audit_azure_active_directory",
"audit_exchange",
"audit_sharepoint",
"audit_general",
"dlp_all",
]
pipeline_spec = {
"name": pipeline_name,
"channel": "PREVIEW",
"catalog": "main",
"schema": "microsoft_365_pipeline",
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"table": {
"source_schema": "default",
"source_table": source_table,
"destination_catalog": "main",
"destination_schema": "microsoft_365_data",
"destination_table": source_table,
}
}
for source_table in source_tables
],
},
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
dlp_all を取り込むには、Microsoft Entra アプリケーションに ActivityFeed.ReadDlp アプリケーションの権限を付与します。「API 権限の構成」を参照してください。
Declarative Automation Bundles ジョブ定義ファイル
次のジョブ定義では、取り込みパイプラインを毎日実行します。Microsoft は Management Activity API のコンテンツを期間限定で提供しているため、パイプラインを 7 日に 1 回よりも高頻度で実行してください。
- Declarative Automation Bundles
resources:
jobs:
microsoft_365_job:
name: microsoft_365_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: microsoft_365_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.microsoft_365_pipeline.id}
一般的なパターン
高度なパイプライン構成については、マネージド取り込みパイプラインの一般的なパターンを参照してください。
次のステップ
パイプラインの起動、スケジュール設定、およびアラートの設定を行います。一般的なパイプラインのメンテナンス タスクを参照してください。