Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 SCHEMAattribué 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 tables configurées pour permettre des lectures Iceberg partagent cette exigence. Consultez Lire les tables Delta avec les clients Iceberg.
- Les clients de lecteur Delta Lake peuvent uniquement lire les tables sauvegardées par Delta Lake et doivent prendre en charge tous les protocoles lecteur ou enregistreur activés sur la table. Consultez les protocoles et la compatibilité des fonctionnalités Delta Lake.
- Les tables externes qui n’utilisent pas Delta Lake ne fournissent pas de garanties transactionnelles.
- 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.