Partager via


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 Utiliser Microsoft Fabric pour lire des données inscrites dans le catalogue Unity.

Cette page décrit comment la fonctionnalité de vente des informations d’identification du catalogue Unity prend en charge l’accès aux données dans Azure Databricks à partir de 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. Voir Lire les tables de Databricks depuis les clients Delta et Accéder aux données de 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 informations d’identification accordées héritent des privilèges du principal Azure Databricks utilisé pour configurer l’intégration.

La vente d’informations d’identification de table permet d’accéder aux données inscrites dans votre metastore Unity Catalog.

La distribution d’informations d’identification du chemin d’accès permet d’accéder à des emplacements externes dans votre metastore du catalogue Unity.

Distribution des informations d’identification de table

Pour recevoir des informations d’identification temporaires pour une table, le principal Azure Databricks demandeur (utilisateur, groupe ou principal de service) doit avoir le EXTERNAL USE SCHEMA privilège sur le schéma qui contient la table. Le metastore du catalogue Unity doit également être explicitement activé pour l’accès externe. Voir Activer l'accès aux données externes à Unity Catalog.

Les informations d’identification 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.

Remarque

La distribution des informations d’identification du catalogue Unity table prend en charge les éléments suivants :

  • Accès en lecture seule aux tables Delta gérées par le catalogue Unity.
  • Accès en lecture et écriture aux tables gérées par Unity Catalog.
  • Accès en lecture seule aux tables Delta configurées pour l'exécution de lectures Iceberg.
  • Créez des tables externes du catalogue Unity.
  • Accès en lecture et écriture aux tables externes d’Unity Catalog.

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.

Spécifications

  • Vous devez configurer l’accès externe sur le metastore et accorder EXTERNAL USE SCHEMA au principal configurant la connexion. Voir Activer l'accès aux données externes à Unity Catalog.
  • Pour accéder à l’espace de travail Azure Databricks à l’aide des API Open du catalogue Unity ou des API REST Iceberg, l’URL de l’espace de travail doit être accessible au moteur effectuant la requête. Cela inclut les espaces de travail qui utilisent des listes d’accès IP ou azure Private Link.
  • Pour accéder à l’emplacement de stockage cloud sous-jacent pour les objets de données inscrits dans le catalogue Unity, les URL de stockage générées par l’API d’informations d’identification temporaires du catalogue Unity doivent être accessibles au moteur effectuant la requête. En d’autres termes, le moteur doit être autorisé dans les listes de contrôle d’accès de réseau et de pare-feu pour les comptes de stockage cloud sous-jacents.

Demander des informations d’identification de table temporaires 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_name": "<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

Pour recevoir des informations d’identification temporaires pour un chemin d’accès, le principal Azure Databricks demandeur doit être accordé :

  • Le privilège EXTERNAL USE LOCATION sur l’emplacement externe.
  • Privilège EXTERNAL USE SCHEMA sur le schéma, si vous accédez à une table externe.

Comme pour la vente des informations d’identification de table, le metastore du catalogue Unity doit être explicitement activé pour l’accès externe. Voir Activer l'accès aux données externes à Unity Catalog.

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.

Spécifications

  • Le metastore du catalogue Unity doit avoir un accès externe activé, et le principal demandeur doit être accordé EXTERNAL USE LOCATION. Si vous accédez à une table externe, elles doivent également être accordées EXTERNAL USE SCHEMA. Voir Activer l'accès aux données externes à Unity Catalog.
  • Le moteur externe doit être en mesure d’atteindre l’URL de l’espace de travail Azure Databricks. Cela s’applique aux espaces de travail à l’aide de listes d’accès IP ou d’Azure Private Link.
  • Les URL de stockage cloud générées par l’API de distribution d’informations d’identification doivent être accessibles au moteur externe. Vérifiez que le moteur est autorisé par le pare-feu et les contrôles d’accès réseau sur les comptes de stockage cloud sous-jacents.

Demander des informations d’identification de chemin d’accès 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 des informations d’identification de chemin d’accès temporaire dans la référence de l’API REST Azure Databricks.