Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Conseil / Astuce
Pour plus d’informations sur la lecture des données Azure Databricks à l’aide de Microsoft Fabric, consultez Microsoft Fabric avec Azure Databricks.
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 distribution des informations d’identification pour les tables permet d’accéder aux données enregistrées dans votre metastore Unity Catalog.
- La distribution des informations d’identification pour les chemins permet d’accéder aux emplacements externes définis dans votre metastore Unity Catalog.
Spécifications
- L’accès externe doit être configuré au niveau du metastore, avec le privilège
EXTERNAL USE SCHEMAaccordé 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 pour les tables
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 pour les tables prend en charge les types de tables et opérations suivants :
| Type de table | Lire | Write | Créer |
|---|---|---|---|
| Delta managé | Oui | Oui* | Oui* |
| Delta externe | Oui | Oui | Oui |
| Table Iceberg gérée | Oui | Oui | Oui |
| Table Iceberg étrangère | Oui | Non | Non |
| Delta avec lectures Iceberg (UniForm) | Oui | Oui** | Non |
* La création et l’écriture de tables managées Unity Catalog depuis des clients Delta sont en version préliminaire publique.
** 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 Lake avec les clients Iceberg à l’aide de UniForm.
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.
- 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 d’OpenSharing.
- Vues.
- Vues matérialisées.
- Tables de streaming des pipelines Lakeflow.
- Tables en ligne.
- Index de recherche par IA.
- 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 pour les chemins
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.
Distribution des informations d’identification pour les volumes
Importante
Cette fonctionnalité est disponible en préversion publique.
La distribution des informations d’identification pour les volumes permet aux moteurs externes d’accéder aux fichiers stockés dans les volumes Unity Catalog via des informations d’identification temporaires et limitées. Le principal requérant doit disposer de EXTERNAL USE SCHEMA sur le schéma contenant le volume, en plus de READ VOLUME pour l’accès en lecture, ou de READ VOLUME et WRITE VOLUME pour l’accès en écriture. Découvrez quels sont les volumes du catalogue Unity ?.
Unity Catalog valide les autorisations et retourne des informations d’identification de stockage cloud à courte durée et limitées liées au chemin de stockage du volume. Les informations d’identification expirent automatiquement et n’accordent pas l’accès au-delà du volume spécifié.
Spécifications
- L’accès externe doit être activé sur le metastore. Voir Activation de l'accès aux données externes sur le métastore.
- Le principal requérant doit disposer de
EXTERNAL USE SCHEMAsur le schéma contenant le volume, en plus deREAD VOLUMEpour l’accès en lecture, ou deREAD VOLUMEetWRITE VOLUMEpour l’accès en écriture. - Le moteur externe doit être en mesure d’atteindre l’URL de l’espace de travail.
- Les URL de stockage cloud doivent être accessibles via le pare-feu et les contrôles réseau.
Demander un identifiant temporaire pour un volume afin d’accéder à des données externes
L’exemple de curl suivant demande explicitement des informations d’identification temporaires pour l’accès aux données externes.
curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.0/unity-catalog/temporary-volume-credentials \
-d '{"volume_id": "<volume-id>", "operation": "<READ_VOLUME|WRITE_VOLUME>"}'
Vous pouvez également utiliser le Kit de développement logiciel (SDK) Azure Databricks Python :
from databricks.sdk.service.catalog import VolumeOperation
creds = w.temporary_volume_credentials.generate_temporary_volume_credentials(
volume_id=volume_id,
operation=VolumeOperation.READ_VOLUME,
)
Pour plus d’informations, consultez POST /api/2.0/unity-catalog/temporary-volume-credentials dans la référence de l’API REST Azure Databricks.
Limites
- Les volumes managés sont pris en charge uniquement pour l’accès en lecture. Les volumes externes prennent en charge l’accès en lecture et en écriture.