Ingérer des données depuis Okta
Bêta
Cette fonctionnalité est en version bêta. Pour l'utiliser, un administrateur du workspace doit activer Lakeflow Connect for Okta System Logs depuis la page Previews . Consultez Gérer les aperçus Databricks.
Utilisez les Declarative Automation Bundles ou un Notebook Databricks pour créer un pipeline System Logs d’Okta géré pour la table source system_logs.
Conditions requises
-
Pour créer un pipeline d’ingestion, remplissez d’abord les conditions suivantes :
-
Votre workspace doit être activé pour Unity Catalog.
-
Le compute serverless doit être activé pour votre workspace. Voir les exigences du compute Serverless.
-
Pour créer une nouvelle connexion, vous devez disposer des privilèges
CREATE CONNECTIONsur le métastore. Consultez 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 une création de pipeline basée sur l’API ou ne sont pas des administrateurs, un administrateur doit d’abord créer la connexion dans Catalog Explorer. Consultez Connect to managed ingestion sources.
-
Pour utiliser une connexion existante, vous devez disposer des privilèges
USE CONNECTIONou deALL 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 depuis Databricks et créez une connexion. Consultez Configure authentication to Okta et Create an Okta System Logs connection.
-
Utilisez
default.system_logscomme objet source. Pour plus de détails, consultez la page Tables sources prises en charge.
Options du connecteur
Le connecteur Okta System Logs ne définit pas d'options de pipeline spécifiques au connecteur. Pour les paramètres de connexion, consultez Connection options.
Créer un pipeline d’ingestion
Créez le pipeline à l’aide de Declarative Automation Bundles ou d’un Databricks Notebook. Tant 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 Okta System 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 Workspace de développement, de staging 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 -
Ajoutez un fichier de définition de pipeline, tel que
resources/okta_system_logs_pipeline.yml. Voir pipeline.ingestion_definition et Examples. -
Ajoutez un fichier de définition de job, tel que
resources/okta_system_logs_job.yml, pour planifier le pipeline. -
Déployez le pipeline à l’aide de la CLI Databricks :
Bashdatabricks bundle deploy
- Import the following notebook into your Databricks workspace:
-
Ne modifiez pas les cellules de configuration. Modifiez uniquement la dernière cellule, qui crée le pipeline. Consultez pipeline.ingestion_definition. et Exemples.
-
Vous pouvez également configurer les paramètres avancés du pipeline. Consultez Modèles courants pour les pipelines d’ingestion gérés.
-
Cliquez sur Tout exécuter .
Exemples
Le connecteur Okta System Logs rend la table source system_logs disponible dans le schéma source default.
- Declarative Automation Bundles
- Databricks notebook
Le fichier de définition de pipeline suivant ingère la table system_logs :
resources:
pipelines:
okta_system_logs_pipeline:
name: okta_system_logs_pipeline
channel: PREVIEW
catalog: 'main'
target: 'okta_system_logs_pipeline'
ingestion_definition:
connection_name: okta_system_logs_connection
objects:
- table:
source_schema: 'default'
source_table: 'system_logs'
destination_catalog: 'main'
destination_schema: 'okta_system_logs_data'
destination_table: 'system_logs'
La spécification de pipeline suivante ingère la table system_logs :
pipeline_name = "okta_system_logs_pipeline"
connection_name = "<okta-system-logs-connection>"
pipeline_spec = {
"name": pipeline_name,
"channel": "PREVIEW",
"catalog": "main",
"schema": "okta_system_logs_pipeline",
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "system_logs",
"destination_catalog": "main",
"destination_schema": "okta_system_logs_data",
"destination_table": "system_logs",
}
}
],
},
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Fichier de définition de job Declarative Automation Bundles
La définition de job suivante permet d'exécuter quotidiennement le pipeline d'ingestion :
- Declarative Automation Bundles
resources:
jobs:
okta_system_logs_job:
name: okta_system_logs_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: okta_system_logs_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.okta_system_logs_pipeline.id}
Modèles courants
Pour des 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. Consultez la section Tâches courantes de maintenance des pipelines.