Distribution des informations d’authentification d’Unity Catalog pour l’accès à un système externe

Importante

Cette fonctionnalité est disponible en préversion publique.

Conseil / Astuce

Pour plus d’informations sur la lecture des données Azure Databricks à l’aide de Microsoft Fabric, consultez Utilisez Microsoft Fabric pour lire les données inscrites dans le catalogue Unity.

Cette page décrit comment la fonctionnalité de distribution des informations d’identification du catalogue Unity facilite l’accès aux données dans Azure Databricks par des moteurs de traitement externes.

La distribution automatique des informations d’identification prend en charge les systèmes externes qui se connectent à Unity Catalog en utilisant l’API REST de Unity et le catalogue REST d’Apache Iceberg. Consultez les tables Access Databricks des clients Delta et Accéder aux données Databricks à l’aide de systèmes externes.

En quoi consiste la distribution des informations d’identification d’Unity Catalog ?

La distribution d’informations d’identification fournit des identifiants temporaires à l’aide de l’API REST Unity Catalog. Les identifiants accordés héritent des privilèges de l'entité principale Azure Databricks utilisée pour configurer l'intégration. Il existe deux types de distribution d’informations d’identification :

  • La fourniture des informations d'identification de table permet d’accéder aux données inscrites dans votre metastore Unity Catalog.
  • La diffusion de justificatifs de chemin permet d’accéder à des emplacements externes dans votre metastore du Catalog Unity.

Spécifications

  • L’accès externe doit être configuré sur le metastore avec EXTERNAL USE SCHEMA attribué au principal demandeur. Voir Activation de l'accès aux données externes sur le métastore.
  • L’URL de l’espace de travail doit être accessible au moteur demandeur, y compris les moteurs derrière les listes d’accès IP ou Azure Private Link.
  • Les URL de stockage cloud doivent être accessibles via le pare-feu et les contrôles réseau.

Distribution des informations d’identification de table

Les informations d’identification de table incluent une chaîne de jeton d’accès de courte durée et une URL d’emplacement de stockage cloud que le moteur externe peut utiliser pour accéder aux données de table et aux métadonnées à partir de l’emplacement de stockage cloud.

Types d’accès pris en charge

La distribution des informations d’identification de table prend en charge les types et opérations de table suivants :

Type de table Lire Write Créer
Delta géré Oui Oui* Oui*
Delta externe Oui Oui Oui
Table Iceberg gérée Oui Oui Oui
Delta avec opérations de lecture Iceberg (UniForm) Oui Oui** Non

* La création et l'écriture dans des tables gérées par Unity Catalog depuis les clients Delta sont en version bêta.

** Après avoir écrit en externe dans une table UniForm à partir d’un client Delta, exécutez MSCK REPAIR TABLE pour générer des métadonnées Iceberg.

Remarque

Certains clients prennent en charge l’accès aux tables basées sur Delta Lake, tandis que d’autres nécessitent que vous activiez les lectures Iceberg (UniForm) au niveau des tables. Consultez Lire les tables Delta avec les clients Iceberg.

Demander des identifiants temporaires de table pour l’accès aux données externes

La prise en charge de la distribution des informations d’identification varie selon le client externe. Lorsque cela est possible, le client doit utiliser automatiquement les informations d’identification distribuées lorsqu’une connexion est configurée.

Cette section fournit un exemple d’appel explicite du point terminal de l’API de distribution des informations d’identification. Certains clients externes peuvent vous obliger à définir explicitement des configurations pour accéder aux données et aux métadonnées dans le stockage d’objets cloud qui sauvegardent vos tables de catalogue Unity. Vous pouvez utiliser les valeurs renvoyées par la distribution de justificatifs d'identité pour configurer l'accès.

Remarque

Vous pouvez récupérer une liste de tables qui prennent en charge la distribution d’informations d’identification en appelant l’API ListTables avec l’option include_manifest_capabilities activée. Seules les tables marquées HAS_DIRECT_EXTERNAL_ENGINE_READ_SUPPORT ou HAS_DIRECT_EXTERNAL_ENGINE_WRITE_SUPPORT sont éligibles pour référence dans l’API des informations d’identification des tables temporaires. Consultez GET/api/2.1/unity-catalog/tables.

L’exemple de curl suivant demande explicitement des informations d’identification temporaires pour l’accès aux données externes. Cette requête doit être effectuée par un principal d’espace de travail disposant de suffisamment de privilèges.

curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-table-credentials \
-d '{"table_id": "<string>", "operation": "<READ|READ_WRITE>"}'

Pour plus d’informations, consultez POST /api/2.1/unity-catalog/temporary-table-credentials dans la référence de l’API REST Azure Databricks.

Limites

Les limitations suivantes s’appliquent :

  • Tous les clients externes ne prennent pas en charge la vente d’informations d’identification et la prise en charge peut varier en fonction du stockage d’objets cloud sous-jacent.
  • Seules les tables gérées par le catalogue Unity et les tables externes du catalogue Unity sont prises en charge.
  • Les types de tableaux ou tables suivants avec fonctionnalités activées ne sont pas pris en charge :
    • Tableaux avec des filtres de lignes ou des masques de colonne.
    • Tables partagées à l’aide du partage Delta.
    • Tables fédérées de Lakehouse (tables étrangères).
    • Vues.
    • Vues matérialisées.
    • Tables de streaming des pipelines déclaratifs de Lakeflow Spark.
    • Tables en ligne.
    • Index de recherche vectorielle.
  • L’actualisation des informations d’identification n’est pas prise en charge sur Iceberg 1.9.0. Utilisez la dernière version d’Iceberg pour l’actualisation des informations d’identification.

Distribution des informations d’identification du chemin d’accès

Les informations d’identification émises autorisent l’accès direct à l’emplacement de stockage cloud, délimité au chemin approprié. Ils sont valides pendant une durée limitée et n’accordent pas un accès plus large au-delà de l’emplacement ou de la table défini.

Demander un identifiant de chemin temporaire pour l'accès aux données externes

La prise en charge de la distribution des informations d’identification varie selon le client externe. Lorsque cela est possible, le client doit utiliser automatiquement les informations d’identification distribuées lorsqu’une connexion est configurée.

Cette section fournit un exemple d’appel explicite du point terminal de l’API de distribution des informations d’identification. Certains clients externes peuvent vous obliger à définir explicitement des configurations pour accéder aux données et aux métadonnées dans le stockage d’objets cloud qui sauvegardent vos tables de catalogue Unity. Vous pouvez utiliser les valeurs renvoyées par la distribution de justificatifs d'identité pour configurer l'accès.

L’exemple de curl suivant demande explicitement des informations d’identification temporaires pour l’accès aux données externes. Cette requête doit être effectuée par un principal d’espace de travail disposant de suffisamment de privilèges.

curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-path-credentials \
-d '{"url": "<string>", "operation": <PATH_READ|PATH_READ_WRITE|PATH_CREATE_TABLE>"}'

Pour plus d’informations, consultez Générer un justificatif d'identité de chemin d’accès temporaire dans la référence de l’API REST Azure Databricks.