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.
Ajoutez des tables de catalogue Unity en tant que ressources Databricks Apps afin que votre application puisse interroger et modifier les données stockées dans Unity Catalog avec la gouvernance et le contrôle d’accès. Les tables de catalogue Unity fournissent un stockage de données structuré avec des autorisations affinées, afin que votre application puisse lire et écrire des données en toute sécurité sans informations d’identification de codage en dur.
Exigences relatives aux privilèges
Pour accéder à un tableau Unity Catalog, le principal de service de l'application doit avoir le privilège USE CATALOG sur le catalogue parent, le privilège USE SCHEMA sur le schéma parent et le privilège SELECT ou MODIFY sur la table. Lorsque vous ajoutez la ressource de table, Azure Databricks accorde automatiquement ces privilèges au principal de service de l’application.
Pour que cet octroi automatique réussisse, l’un des éléments suivants doit être vrai pour chaque privilège :
-
Pour
USE CATALOG: tous les utilisateurs de compte ont leUSE CATALOGprivilège sur le catalogue ou vous disposez duMANAGEprivilège sur le catalogue. -
Pour
USE SCHEMA: tous les utilisateurs de compte ont leUSE SCHEMAprivilège sur le schéma ou vous disposez duMANAGEprivilège sur le schéma. -
Pour
SELECTouMODIFY: soit tous les utilisateurs du compte disposent des privilègesSELECTouMODIFYsur la table, soit vous disposez du privilègeMANAGEsur la table.
Consultez Privilèges Unity Catalog et objets sécurisables.
Ajouter une ressource de table de catalogue Unity
Avant d’ajouter une table en tant que ressource, passez en revue les prérequis des ressources d’application.
- Lorsque vous créez ou modifiez une application, accédez à l’étape Configurer .
- Dans la section Ressources de l’application , cliquez sur + Ajouter une ressource.
- Sélectionnez la table UC comme type de ressource.
- Choisissez une table de catalogue Unity dans les tables disponibles dans votre espace de travail. La table doit déjà exister dans le catalogue Unity.
- Sélectionnez le niveau d’autorisation approprié pour votre application :
- Sélectionnez: Octroie à l’application l’autorisation d’interroger et de lire des données à partir de la table. Cela est approprié pour les applications qui doivent uniquement lire des données.
-
Modifier: Octroie à l’application l’autorisation d’insérer, de mettre à jour et de supprimer des données dans la table. Cette autorisation inclut
SELECTimplicitement , afin que l’application puisse également lire des données.
- (Facultatif) Spécifiez une clé de ressource personnalisée, c’est-à-dire la façon dont vous référencez la table dans la configuration de votre application. La clé par défaut est
table.
Note
MODIFY n’est pas disponible pour tous les types de tables. Par exemple, les vues ne prennent pas en charge le privilège MODIFY. Si la table ne prend pas en charge MODIFY, seul SELECT est disponible.
Variables d’environnement
Lorsque vous déployez une application avec une ressource de table Unity Catalog, Azure Databricks expose le nom complet de la table à trois niveaux via des variables d’environnement que vous pouvez référencer à l’aide du valueFrom champ.
Exemple de configuration :
env:
- name: UC_TABLE_NAME
valueFrom: table # Use your custom resource key if different
Utilisation de la table dans votre application :
import os
from databricks.sdk import WorkspaceClient
# Access the table name
table_name = os.getenv("UC_TABLE_NAME")
# Initialize workspace client
w = WorkspaceClient()
# Query the table using a SQL warehouse resource
result = w.statement_execution.execute_statement(
warehouse_id=os.getenv("DATABRICKS_WAREHOUSE_ID"), # Requires a SQL warehouse resource
statement=f"SELECT * FROM {table_name} LIMIT 10"
)
Pour plus d’informations, consultez Utiliser des variables d’environnement pour accéder aux ressources.
Supprimer une ressource de table de catalogue Unity
Lorsque vous supprimez une ressource de table Unity Catalog d’une application, le principal de service de l’application perd les SELECT, MODIFY, et ALL PRIVILEGES accords sur la table. Azure Databricks tente également de révoquer des autorisations hiérarchiques de catalogue et de schéma. La table elle-même reste inchangée et continue d’être disponible pour d’autres utilisateurs et applications disposant d’autorisations appropriées.
Meilleures pratiques
Tenez compte des éléments suivants lorsque vous utilisez des ressources de table de catalogue Unity :
- Accordez des autorisations minimales. Utilisez
SELECTsauf si votre application doit écrire des données dans la table. - Combinez des ressources de table avec une ressource SQL Warehouse lorsque votre application doit exécuter des requêtes SQL sur la table.
- Utilisez des ressources de table distinctes pour différentes tables plutôt que d’accorder un accès au niveau du schéma étendu, afin de pouvoir appliquer le principe de privilège minimum.
- Envisagez d’utiliser des volumes de catalogue Unity pour les données non structurées et les tables De catalogue Unity pour les données structurées.