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.
Important
Cette fonctionnalité est disponible en préversion publique.
Azure Databricks fournit un accès aux tables du catalogue Unity à l’aide de l’API REST Unity et du catalogue REST Apache Iceberg.
Un administrateur de metastore doit activer l’accès aux données externes pour chaque metastore auquel vous devez accéder en externe. L’utilisateur ou le principal de service qui configure la connexion doit avoir le EXTERNAL USE SCHEMA privilège pour chaque schéma où il doit effectuer des opérations prises en charge : lecture à partir de tables gérées ou création, lecture et écriture dans des tables externes.
L’API REST Unity prend en charge les lectures directes pour les tables Delta. Le catalogue REST Iceberg permet les lectures pour les tables Delta, ainsi que les lectures et écritures pour les tables Iceberg. Consultez Accéder aux données de Databricks à l’aide de systèmes externes.
Activer l’accès aux données externes sur le metastore
Pour permettre aux moteurs externes d’accéder aux données dans un metastore, un administrateur de metastore doit activer l’accès aux données externes pour le metastore. Cette option est désactivée par défaut pour empêcher l’accès externe non autorisé.
Pour activer l’accès aux données externes, procédez comme suit :
- Dans un espace de travail Azure Databricks attaché au metastore, cliquez sur
Catalogue.
- Cliquez sur
Icône d’engrenage en haut du volet Catalogue et sélectionnez Metastore.
- Sous l’onglet Détails, activez Accès aux données externes.
Remarque
Ces options sont affichées uniquement pour les utilisateurs suffisamment privilégiés. Si vous ne voyez pas ces options, vous n’avez pas les autorisations nécessaires pour activer l’accès aux données externes pour un metastore.
Accorder des privilèges de catalogue Unity principal
Les clients externes qui se connectent à Azure Databricks ont besoin d’une autorisation à partir d’un principal suffisamment privilégié.
Azure Databricks prend en charge OAuth et les jetons d’accès personnels (PAT) pour l’authentification. Consultez Autoriser l’accès aux ressources Azure Databricks.
Le responsable qui demande les identifiants temporaires doit avoir :
Privilège
EXTERNAL USE SCHEMAsur le schéma conteneur ou son catalogue parent.Ce privilège doit toujours être accordé explicitement. Seul le propriétaire du catalogue parent peut l’accorder. Pour éviter l’exfiltration accidentelle,
ALL PRIVILEGESn’inclut pas le privilègeEXTERNAL USE SCHEMAet les propriétaires de schéma n’ont pas ce privilège par défaut.Autorisation
SELECTau niveau de la table,USE CATALOGau niveau de son catalogue parent etUSE SCHEMAau niveau de son schéma parent.Si vous créez des tables externes, le principal doit également avoir le
CREATE TABLEprivilège sur le schéma et les privilèges etCREATE EXTERNAL TABLElesEXTERNAL USE LOCATIONprivilèges sur l’emplacement externe cible.EXTERNAL USE LOCATIONdoit toujours être accordé explicitement. Seuls les utilisateurs disposant duMANAGEprivilège sur l’emplacement externe peuvent l’accorder. Pour éviter l’exfiltration accidentelle,ALL PRIVILEGESn’inclut pas leEXTERNAL USE LOCATIONprivilège et les propriétaires d’emplacement n’ont pas ce privilège par défaut.
L’exemple de syntaxe suivant illustre l’octroi de EXTERNAL USE SCHEMA à un utilisateur :
GRANT EXTERNAL USE SCHEMA ON SCHEMA catalog_name.schema_name TO `user@company.com`
L’exemple de syntaxe suivant illustre l’octroi de EXTERNAL USE LOCATION à un utilisateur :
GRANT EXTERNAL USE LOCATION ON EXTERNAL LOCATION external_location_name TO `user@company.com`
En supposant que l’utilisateur dispose des autorisations nécessaires pour lire toutes les tables souhaitées dans le schéma, aucune autorisation supplémentaire n’est nécessaire. Si vous devez accorder des autorisations supplémentaires pour lire des tables, consultez Privilèges Unity Catalog et objets sécurisables.