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.
Notes
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 préversion publique (avant le 25 août 2022), effectuez une mise à niveau vers Privilege Model version 1.0 en suivant Mise à niveau vers 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 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 |
EXTERNAL LOCATION location_name |
FUNCTION function_name |
METASTORE |
SCHEMA schema_name |
SHARE share_name |
STORAGE 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.
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.
MATERIALIZED VIEW
view_nameImportant
Cette fonctionnalité est disponible en préversion publique. Pour vous inscrire et obtenir un accès, remplissez ce formulaire.
Contrô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.
REGISTERED MODEL
Contrôle l’accès à un modèle inscrit MLflow.
SCHEMA
schema_nameContrôle l’accès à un schéma.
STORAGE CREDENTIAL
credential_nameContrôle l’accès à des informations d’identification de stockage.
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.
Modèle d’héritage
Les objets sécurisables dans Unity Catalog sont hiérarchiques et les privilèges sont hérités vers le bas. Cela signifie que l’obtention d’un privilège sur un catalogue accorde automatiquement le privilège à tous les schémas actuels et futurs au sein du catalogue. De même, les privilèges accordés sur un schéma sont hérités par toutes les tables et vues actuelles et futures de ce schéma.
Par exemple, si vous accordez le privilège SELECT
sur un schéma à un utilisateur, l’utilisateur reçoit automatiquement le privilège SELECT
sur toutes les tables, vues et vues matérialisées actuelles et futures dans le schéma.
Types de privilèges
Le tableau suivant indique quels privilèges Unity Catalog sont associés aux objets sécurisables Unity Catalog.
Élément sécurisable | Privilèges |
---|---|
Metastore | CREATE CATALOG , CREATE CONNECTION , CREATE EXTERNAL LOCATION , CREATE PROVIDER , CREATE RECIPIENT , CREATE SHARE , CREATE STORAGE CREDENTIAL , SET SHARE PERMISSION , USE MARKETPLACE ASSETS , USE PROVIDER , USE RECIPIENT , USE SHARE |
Catalogue | ALL PRIVILEGES , APPLY TAG , BROWSE , CREATE SCHEMA , USE CATALOG Tous les utilisateurs ont USE CATALOG sur le catalogue main par défaut.Les types de privilèges suivants s’appliquent aux objets sécurisables dans un catalogue. Vous pouvez accorder ces privilèges au niveau du catalogue pour les appliquer aux objets pertinents actuels et futurs dans le catalogue. CREATE FUNCTION , CREATE TABLE , CREATE MODEL , CREATE VOLUME , CREATE FOREIGN CATALOG , READ VOLUME , REFRESH , WRITE VOLUME , EXECUTE , MODIFY , SELECT , USE SCHEMA |
schéma | ALL PRIVILEGES , APPLY TAG , CREATE FUNCTION , CREATE TABLE , CREATE MODEL , CREATE VOLUME , CREATE MATERIALIZED VIEW , USE SCHEMA Les types de privilèges suivants s’appliquent aux objets sécurisables au sein d’un schéma. Vous pouvez accorder ces privilèges au niveau du schéma pour les appliquer aux objets actuels et futurs pertinents dans le schéma. EXECUTE , MODIFY , SELECT , READ VOLUME , REFRESH , WRITE VOLUME |
Table | ALL PRIVILEGES , APPLY TAG , MODIFY , SELECT |
Vue matérialisée | ALL PRIVILEGES , APPLY TAG , REFRESH , SELECT |
Affichage | ALL PRIVILEGES , APPLY TAG , SELECT |
Volume | ALL PRIVILEGES , READ VOLUME , WRITE VOLUME |
Emplacement externe | ALL PRIVILEGES , BROWSE , CREATE EXTERNAL TABLE , CREATE EXTERNAL VOLUME , READ FILES , WRITE FILES , CREATE MANAGED STORAGE |
Informations d’identification de stockage | ALL PRIVILEGES , CREATE EXTERNAL LOCATION , CREATE EXTERNAL TABLE , READ FILES , WRITE FILES |
Connexion | ALL PRIVILEGES , CREATE FOREIGN CATALOG , USE CONNECTION |
Fonction | ALL PRIVILEGES , EXECUTE |
Modèle inscrit | ALL PRIVILEGES , APPLY TAG , EXECUTE |
Partager | SELECT (peut être octroyé à RECIPIENT ) |
Recipient | None |
Fournisseur | Aucune |
APPLY TAG
Appliquez et modifiez des balises sur un objet.
ALL PRIVILEGES
Permet d’accorder ou de révoquer tous les privilèges applicables à l’objet sécurisable et à ses objets enfants sans les spécifier explicitement. Cela s’étend à tous les privilèges disponibles au moment où les vérifications des autorisations sont effectuées. Il n’accorde pas à l’utilisateur chaque privilège applicable de manière individuelle au moment de l’octroi.
Quand
ALL PRIVILEGES
est révoqué, seul le privilègeALL PRIVILEGES
lui-même est révoqué. Les utilisateurs conservent tous les autres privilèges qui leur ont été accordés de manière séparée.BROWSE
Important
Cette fonctionnalité est disponible en préversion publique.
Affichez les métadonnées d’un objet en utilisant Catalog Explorer, le navigateur de schémas, les résultats de la recherche, le graphique de traçabilité,
information_schema
et l’API REST. L’utilisateur n’a pas besoin du privilègeUSE CATALOG
sur le catalogue parent ni du privilègeUSE SCHEMA
sur le schéma parent.CREATE CATALOG
Créez des catalogues dans un metastore Unity Catalog.
CREATE CONNECTION
Créer des connexions étrangères dans un metastore Unity Catalog.
CREATE EXTERNAL LOCATION
Créez un emplacement externe à l’aide des informations d’identification de stockage. Lorsqu’il est appliqué à des informations d’identification de stockage, permet à un utilisateur de créer un emplacement externe à l’aide des informations d’identification de stockage. Ce privilège doit également être accordé à un utilisateur sur le metastore pour lui permettre de créer un emplacement externe dans ce metastore.
CREATE EXTERNAL TABLE
Créer des tables externes à l’aide des informations d’identification de stockage ou d’un emplacement externe.
CREATE EXTERNAL VOLUME
Créez des volumes externes en utilisant l’emplacement externe.
CREATE FOREIGN CATALOG
Créez des catalogues sur une connexion étrangère. Chaque catalogue étranger expose ensuite les schémas disponibles dans le système cible fédéré.
CREATE FUNCTION
Créez une fonction dans un schéma. L’utilisateur requiert également le privilège
USE CATALOG
sur le catalogue et le privilègeUSE SCHEMA
sur le schéma.CREATE MANAGED STORAGE
Permet à un utilisateur de spécifier un emplacement pour stocker des tables managées au niveau du catalogue ou du schéma, en remplaçant le stockage racine par défaut pour le metastore Unity Catalog.
CREATE MATERIALIZED VIEW
Permet à un utilisateur de créer une vue matérialisée dans le schéma. Étant donné que les privilèges sont hérités,
CREATE MATERIALIZED VIEW
peut également être accordé sur un catalogue, ce qui permet à un utilisateur de créer une table ou de l’afficher dans n’importe quel schéma existant ou futur dans le catalogue.L’utilisateur doit également disposer des privilèges
USE CATALOG
etUSE SCHEMA
respectivement sur son catalogue parent et sur son schéma parent.CREATE MODEL
Permet à un utilisateur de créer un modèle inscrit MLflow dans le schéma. Étant donné que les privilèges sont hérités,
CREATE MODEL
peut également être octroyé sur un catalogue. Cela permet à un utilisateur de créer un modèle inscrit dans n’importe quel schéma existant ou futur dans le catalogue.L’utilisateur doit également disposer du privilège
USE CATALOG
sur son catalogue parent etUSE SCHEMA
sur son schéma parent.CREATE PROVIDER
(Pour les destinataires de données Delta Sharing) Créez un fournisseur dans un metastore Unity Catalog.
CREATE RECIPIENT
(Pour les fournisseurs de données Delta Sharing) Créez un destinataire dans un metastore Unity Catalog.
CREATE SCHEMA
Créez un schéma dans un catalogue. L’utilisateur doit également disposer du privilège
USE CATALOG
sur le catalogue.CREATE SHARE
(Pour les fournisseurs de données Delta Sharing) Créez un partage dans un metastore Unity Catalog.
CREATE STORAGE CREDENTIAL
Créez des informations d'identification de stockage dans un metastore d'Unity Catalog.
CREATE TABLE
Créez une table ou une vue dans un schéma. L’utilisateur requiert également le privilège
USE CATALOG
sur le catalogue et le privilègeUSE SCHEMA
sur le schéma. Pour créer une table externe, l’utilisateur a également besoin du privilège sur l’emplacement externeCREATE EXTERNAL TABLE
ou des informations d’identification de stockage.CREATE VOLUME
Créez un volume dans un schéma. L’utilisateur requiert également le privilège
USE CATALOG
sur le catalogue et le privilègeUSE SCHEMA
sur le schéma. Pour créer un volume externe, l’utilisateur a également besoin du privilègeCREATE EXTERNAL VOLUME
sur l’emplacement externe.EXECUTE
Invoquez une fonction définie par l’utilisateur. L’utilisateur requiert également le privilège
USE CATALOG
sur le catalogue et le privilègeUSE SCHEMA
sur le schéma.MODIFY
COPY INTO, UPDATEDELETE, INSERT ou MERGE INTO la table.
READ FILES
Interroger les fichiers directement à l’aide des informations d’identification de stockage ou de l’emplacement externe.
READ VOLUME
Interrogez les fichiers dans le volume.
REFRESH
Permet à un utilisateur d’actualiser une vue matérialisée si l’utilisateur a également
USE CATALOG
sur son catalogue parent etUSE SCHEMA
sur son schéma parent. L’utilisateur requiert également le privilègeUSE CATALOG
sur le catalogue et le privilègeUSE SCHEMA
sur le schéma.SELECT
Interroger une table ou un affichage, appeler une fonction définie par l’utilisateur ou une fonction anonyme, ou sélectionner
ANY FILE
. L’utilisateur a besoin du privilègeSELECT
sur la table, la vue ou la fonction, ainsi que du privilègeUSE CATALOG
sur le catalogue de l’objet etUSE SCHEMA
sur le schéma de l’objet.SET SHARE PERMISSION
Dans Delta Sharing, cette autorisation, combinée avec
USE SHARE
etUSE RECIPIENT
(ou la propriété du destinataire), donne à un utilisateur fournisseur la possibilité d’accorder à un destinataire l’accès à un partage. Combinée àUSE SHARE
, elle donne la possibilité de transférer la propriété d’un partage à un autre utilisateur, groupe ou principal de service.USE CATALOG
Obligatoire, mais pas suffisant pour référencer des objets dans un catalogue. Le principal doit également disposer de privilèges sur les objets sécurisables individuels. Non requis pour un utilisateur souhaitant lire les métadonnées d’un objet à l’aide du privilège
BROWSE
.USE CONNECTION
Obligatoire pour lire les métadonnées sur une connexion étrangère ou sur toutes les connexions étrangères quand elles sont utilisées sur le metastore.
USE MARKETPLACE ASSETS
Activé par défaut pour tous les metastores Unity Catalog. Dans la Place de marché Databricks, ce privilège permet à l’utilisateur d’obtenir un accès instantané ou de demander l’accès aux produits de données partagés dans un référencement de la Place de marché. Permet également à un utilisateur d’accéder au catalogue en lecture seule créé lorsqu’un fournisseur partage un produit de données. Sans ce privilège, l’utilisateur aurait besoin des privilèges
CREATE CATALOG
etUSE PROVIDER
ou du rôle d’administrateur de metastore. Cela vous permet de limiter le nombre d’utilisateurs dotés de ces autorisations puissantes.USE PROVIDER
Dans Delta Sharing, elle donne un accès utilisateur destinataire en lecture seule à tous les fournisseurs dans un metastore destinataire et à leurs partages. Combiné au privilège
CREATE CATALOG
, ce privilège permet à un utilisateur destinataire, qui n’est pas un administrateur de metastore, de monter un partage en tant que catalogue. Cela vous permet de limiter le nombre d’utilisateurs disposant du rôle d’administrateur de metastore puissant.USE RECIPIENT
Dans Delta Sharing, elle donne à un utilisateur fournisseur un accès en lecture seule à tous les destinataires d’un metastore de fournisseur et à leurs partages. Cela permet à un utilisateur fournisseur qui n’est pas administrateur de metastore d’afficher les détails du destinataire, l’état d’authentification du destinataire et la liste des partages que le fournisseur a partagés avec le destinataire.
Dans la Place de marché Databricks, les utilisateurs fournisseurs ont la possibilité d’afficher les annonces et les demandes des consommateurs dans la console fournisseur.
USE SCHEMA
Obligatoire, mais pas suffisant pour référencer des objets dans un schéma. Le principal doit également disposer de privilèges sur les objets sécurisables individuels. Non requis pour un utilisateur souhaitant lire les métadonnées d’un objet à l’aide du privilège
BROWSE
.USE SHARE
Dans Delta Sharing, elle donne un accès utilisateur fournisseur en lecture seule à tous les partages définis dans un metastore fournisseur. Cela permet à un utilisateur fournisseur qui n’est pas administrateur de metastore de répertorier les partages et les ressources (tables et notebooks) dans un partage, ainsi que les destinataires du partage.
Dans la Place de marché Databricks, les utilisateurs fournisseurs peuvent afficher des détails sur les données partagées dans une annonce.
WRITE FILES
Copier (COPY INTO) directement dans des fichiers régis par les informations d’identification de stockage ou l’emplacement externe.
WRITE VOLUME
Utilisez COPY INTO pour copier directement les fichiers dans un volume.
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`;