Privilèges et objets sécurisables dans Unity Catalog
S’applique à : Databricks SQL Databricks Runtime Unity Catalog uniquement
Un privilège est un droit accordé à un principal pour opérer sur un objet sécurisable dans le metastore. Le modèle de privilèges et les objets sécurisables diffèrent selon que vous utilisez un metastore Unity Catalog ou le metastore Hive hérité. Cet article décrit le modèle de privilèges pour Unity Catalog. Si vous utilisez le metastore Hive, consultez privilèges et objets sécurisables dans le metastore Hive.
Pour plus d’informations sur la gestion des privilèges dans le catalogue Unity, consultez Gérer les privilèges dans le catalogue Unity.
Remarque
Cet article fait référence aux privilèges Unity Catalog et au modèle d’héritage dans Privilege Model version 1.0. Si vous avez créé votre metastore Unity Catalog pendant la phase de préversion publique (avant le 25 août 2022), il est possible que vous utilisiez un modèle de privilèges plus ancien qui ne prend pas en charge le modèle d’héritage actuel. Vous pouvez mettre à niveau la version 1.0 du modèle de privilèges pour bénéficier de l’héritage de privilèges. Consultez Mise à niveau avec l’héritage des privilèges.
Objets sécurisables
Un objet sécurisable est un objet défini dans Unity Catalog sur lequel des privilèges peuvent être accordés à un principal. Pour obtenir la liste complète des objets sécurisables du catalogue Unity et des privilèges qui peuvent être accordés sur eux, consultez les privilèges du catalogue Unity et les objets sécurisables.
Pour gérer des privilèges sur un objet quelconque, vous devez en être le propriétaire.
Syntaxe
securable_object
{ CATALOG [ catalog_name ] |
CONNECTION connection_name |
CLEAN ROOM clean_room_name |
EXTERNAL LOCATION location_name |
FUNCTION function_name |
METASTORE |
SCHEMA schema_name |
SHARE share_name |
[ STORAGE | SERVICE ] CREDENTIAL credential_name |
[ TABLE ] table_name |
MATERIALIZED VIEW view_name |
VIEW view_name |
VOLUME volume_name
}
Vous pouvez aussi spécifier SERVER
au lieu de CONNECTION
et DATABASE
au lieu de SCHEMA
.
Paramètres
CATALOG
catalog_nameContrôle l’accès à l’ensemble du catalogue de données.
CLEAN ROOM
clean_room_nameContrôle l’accès à une salle blanche.
CONNECTION
nom_connexionContrôle l’accès à la connexion.
EXTERNAL LOCATION
location_nameContrôle l’accès à un emplacement externe.
FUNCTION
function_nameContrôle l’accès à une fonction définie par l’utilisateur ou à un modèle inscrit MLflow.
MATERIALIZED VIEW
view_nameContrôle l’accès à une vue matérialisée.
METASTORE
Contrôle l’accès au metastore Unity Catalog attaché à l’espace de travail. Lorsque vous gérez des privilèges sur un metastore, vous n’incluez pas le nom du metastore dans une commande SQL. Unity Catalog accorde ou révoque le privilège sur le metastore attaché à votre espace de travail.
SCHEMA
schema_nameContrôle l’accès à un schéma.
[ STORAGE | SERVICE ] CREDENTIAL
credential_nameContrôle l’accès à des informations d’identification.
Les mots clés
STORAGE
etSERVICE
( Databricks Runtime 15.4 et versions ultérieures) sont facultatifs.SHARE
share_nameContrôle l’accès sur un partage à un destinataire.
TABLE
table_nameContrôle l’accès à une table managée ou externe. Si la table est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND.
VIEW
view_nameContrôle l’accès à une vue. Si la vue est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND.
VOLUME
volume_nameContrôle l’accès à un volume. Si le volume est introuvable, Azure Databricks déclenche une erreur.
Types de privilèges
Pour obtenir la liste des types de privilèges, consultez Privilèges Unity Catalog et objets sécurisables.
Exemples
-- Grant a privilege to the user alf@melmak.et
> GRANT SELECT ON TABLE t TO `alf@melmak.et`;
-- Revoke a privilege from the general public group.
> REVOKE USE SCHEMA ON SCHEMA some_schema FROM `alf@melmak.et`;