Ingérer des données depuis Microsoft 365
Bêta
Cette fonctionnalité est en version bêta. Pour l’utiliser, un administrateur du workspace doit activer Lakeflow Connect pour Microsoft 365 Unified Audit Logs à partir de la page Aperçus . Consultez Gérer les aperçus Databricks.
Utilisez des Bundles d'automatisation déclarative ou un Databricks notebook pour créer un pipeline géré Microsoft 365 Unified Audit Logs pour l'une des cinq tables sources de Log d'audit prises en charge.
Prérequis
-
Pour créer un pipeline d'ingestion, remplissez d'abord les conditions suivantes :
-
Your workspace must be enabled for Unity Catalog.
-
Le Serverless compute doit être activé pour votre workspace. Voir les exigences relatives au Serverless compute.
-
Pour créer une connexion, vous devez disposer des privilèges
CREATE CONNECTIONsur le métastore. Voir Gérer les privilèges dans Unity Catalog.Si le connecteur prend en charge la création de pipelines basée sur l'interface utilisateur, un administrateur peut créer la connexion et le pipeline en même temps en effectuant les étapes de cette page. Cependant, si les utilisateurs qui créent des pipelines utilisent la création de pipelines basée sur les API ou ne sont pas des administrateurs, un administrateur doit d'abord créer la connexion dans Catalog Explorer. Consultez Se connecter à des sources d'ingestion gérées.
-
Pour utiliser une connexion existante, vous devez disposer des privilèges
USE CONNECTIONouALL PRIVILEGESsur l’objet de connexion. -
Vous devez disposer des privilèges
USE CATALOGsur le catalogue cible. -
Vous devez disposer des privilèges
USE SCHEMAetCREATE TABLEsur un schéma existant, ou du privilègeCREATE SCHEMAsur le catalogue cible.
-
-
Configurez l’authentification auprès de Databricks et créez une connexion. Consultez Configurer l’authentification pour Microsoft 365 et Créer une connexion Microsoft 365 Unified Audit Logs.
-
Choisissez les objets sources à ingérer. Pour connaître les objets pris en charge, consultez Tables sources prises en charge.
Options du connecteur
Le connecteur Microsoft 365 Unified Audit Logs ne définit pas d’options de pipeline spécifiques au connecteur. Pour les paramètres de connexion, consultez Options de connexion.
Créer un pipeline d’ingestion
Créez le pipeline avec des Declarative Automation Bundles ou un Databricks notebook. Pendant que le connecteur est en version bêta, définissez le canal de distribution du pipeline sur PREVIEW.
- Declarative Automation Bundles
- Databricks notebook
Utilisez les Declarative Automation Bundles pour gérer les pipelines Microsoft 365 Unified Audit Logs en tant que code. Les bundles peuvent contenir des définitions YAML de pipelines et de jobs, sont gérés à l’aide de la CLI Databricks et peuvent être partagés dans les workspaces de développement, de pré-production et de production. Pour plus d'informations, consultez What are Declarative Automation Bundles?.
-
Créer un bundle à l’aide de la CLI Databricks :
Bashdatabricks bundle init -
Ajouter un fichier de définition de pipeline, tel que
resources/microsoft_365_pipeline.yml. Voir pipeline.ingestion_definition et les exemples. -
Ajoutez un fichier de définition de job, tel que
resources/microsoft_365_job.yml, pour exécuter le pipeline plus fréquemment qu'tous les sept jours. -
Déployer le pipeline à l'aide de la CLI Databricks :
Bashdatabricks bundle deploy
- Importez le notebook suivant dans votre Workspace Databricks :
-
Ne modifiez pas les cellules de configuration. Modifiez uniquement la dernière cellule, qui crée le pipeline. Voir pipeline.ingestion_definition et Exemples.
-
Optionally configure advanced pipeline settings. See Common patterns for managed ingestion pipelines.
-
Cliquez sur Tout exécuter .
Exemples
Le connecteur Microsoft 365 Unified Audit Logs met cinq tables source à disposition dans le schéma source default. Les exemples suivants ingèrent les événements d’audit Entra ID, Exchange, SharePoint, généraux et de prévention des pertes de données.
- Declarative Automation Bundles
- Databricks notebook
Le fichier de définition de pipeline suivant ingère les cinq tables sources :
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'
La spécification de pipeline suivante ingère les cinq tables sources :
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)
Pour ingérer dlp_all, accordez l’autorisation d’application ActivityFeed.ReadDlp à l’application Microsoft Entra. Voir Configurer les autorisations de l’API.
Fichier de définition de job Declarative Automation Bundles
La définition de job suivante exécute le pipeline d'ingestion quotidiennement. Exécutez le pipeline plus fréquemment que tous les sept jours, car Microsoft met le contenu de l'API Management Activity à disposition pendant une durée limitée.
- 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}
Motifs courants
Pour les configurations de pipeline avancées, consultez Modèles courants pour les pipelines d’ingestion managés.
Étapes suivantes
start, planifiez et configurez des alertes sur votre pipeline. Voir Tâches de maintenance courantes du pipeline.