Privilèges et objets sécurisables dans le metastore Hive
S’applique à : Databricks SQL Databricks Runtime
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 le metastore Hive hérité. Si vous utilisez Unity Catalog, consultez Privilèges et objets sécurisables dans Unity Catalog.
Objets sécurisables dans le metastore Hive
Un objet sécurisable est un objet défini dans le metastore 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 ou l’administrateur.
Syntaxe
securable_object
{ ANY FILE |
CATALOG [ catalog_name ] |
{ SCHEMA | DATABASE } schema_name |
FUNCTION function_name |
[ TABLE ] table_name |
VIEW view_name
}
Paramètres
ANY FILE
Contrôle l’accès au système de fichiers sous-jacent.
CATALOG
catalog_nameContrôle l’accès à l’ensemble du catalogue de données.
{ SCHEMA | DATABASE }
schema_nameContrôle l’accès à un schéma.
FUNCTION
function_nameContrôle l’accès à une fonction nommée.
[ TABLE ]
table_nameContrôle l’accès à une table managée ou externe.
VIEW
view_nameContrôle l’accès aux vues SQL.
Modèle d’héritage
Les objets sécurisables dans le metastore Hive sont hiérarchiques et les privilèges sont hérités vers le bas. Cela signifie que l’octroi ou le refus d’un privilège sur le CATALOG
autorise ou refuse automatiquement le privilège à tous les schémas dans le catalogue. De même, les privilèges accordés sur un objet de schéma sont hérités par tous les objets de ce schéma. Ce modèle est vrai pour tous les objets sécurisables.
Si vous refusez à un utilisateur des privilèges sur une table, cet utilisateur ne peut pas voir celle-ci en tentant d’afficher la liste de toutes les tables dans le schéma. Si vous refusez à un utilisateur des privilèges sur un schéma, cet utilisateur ne peut pas voir que le schéma existe en tentant d’afficher la liste de tous les schémas dans le catalogue.
Types de privilèges
Le tableau suivant indique les privilèges associés aux divers objets sécurisables.
Type de privilège | ANONYMOUS FUNCTION | ANY FILE | CATALOG | SCHEMA | FUNCTION | TABLE | VIEW |
---|---|---|---|---|---|---|---|
CREATE | Oui | Oui | |||||
MODIFY | Oui | Oui | Oui | Oui | |||
READ_METADATA | Oui | Oui | Oui | Oui | |||
SELECT | Oui | Oui | Oui | Oui | Oui | Oui | Oui |
USAGE | Oui | Oui |
ALL PRIVILEGES
Permet d’accorder ou de révoquer tous les privilèges applicables à l’élément sécurisable et à ses objets enfant sans les spécifier explicitement. Cela s’étend à tous les privilèges disponibles au moment où les vérifications des autorisations sont effectuées.
CREATE
Créer des objets dans le catalogue ou le schéma.
MODIFY
COPY INTO, UPDATEDELETE, INSERT ou MERGE INTO la table.
Si l’objet sécurisable est le
hive_metastore
ou un schéma au sein de celui-ci, l’octroi du privilègeMODIFY
a pour effet d’octroyer le privilègeMODIFY
sur l’ensemble des tables et affichages actuels et futurs au sein de l’objet sécurisable.READ_METADATA
Découvrir l’objet sécurisable dans SHOW et interroger l’objet dans DESCRIBE
Si l’objet sécurisable est le catalogue
hive_metastore
ou un schéma au sein de celui-ci, l’octroi du privilègeREAD_METADATA
a pour effet d’octroyer le privilègeREAD_METADATA
sur l’ensemble des tables et affichages actuels et futurs au sein de l’objet sécurisable.READ FILES
Interroger les fichiers directement à l’aide des informations d’identification de stockage ou de l’emplacement externe.
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, l’affichage ou la fonction, ainsi que du privilègeUSAGE
sur le schéma et le catalogue de l’objet.Si l’objet sécurisable est le
hive_metastore
ou un schéma au sein de celui-ci, l’octroi du privilègeSELECT
a pour effet d’octroyer le privilègeSELECT
sur l’ensemble des tables et affichages actuels et futurs au sein de l’objet sécurisable.USAGE
Obligatoire, mais pas suffisant pour référencer des objets dans un catalogue ou un schéma. Le principal doit également disposer de privilèges sur les objets sécurisables individuels.
WRITE FILES
Copier (COPY INTO) directement dans des fichiers régis par les informations d’identification de stockage ou l’emplacement externe.
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 USAGE ON SCHEMA some_schema FROM `alf@melmak.et`;