Partager via


Privilèges et objets sécurisables dans le metastore Hive

S’applique à :case marquée oui Databricks SQL coche pour oui 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_name

    Contrôle l’accès à l’ensemble du catalogue de données.

  • { SCHEMA | DATABASE } schema_name

    Contrôle l’accès à un schéma.

  • FUNCTION function_name

    Contrôle l’accès à une fonction nommée.

  • [ TABLE ] table_name

    Contrôle l’accès à une table managée ou externe.

  • VIEW view_name

    Contrô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 des privilèges utilisateur sur une table, l’utilisateur ne peut pas voir la table en tentant de répertorier toutes les tables du schéma. Si vous refusez des privilèges utilisateur sur un schéma, l’utilisateur ne peut pas voir que le schéma existe en tentant de répertorier tous les schémas du catalogue.

Types de privilèges

Le tableau suivant indique les privilèges associés aux divers objets sécurisables.

Type de privilège FONCTION ANONYME N’IMPORTE QUEL FICHIER CATALOG SCHEMA FONCTION TABLE AFFICHAGE
CRÉER Oui Oui
MODIFIER Oui Oui Oui Oui
READ_METADATA Oui Oui Oui Oui
SELECT Oui Oui Oui Oui Oui Oui Oui
UTILISATION 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, INSERTou 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ège MODIFY a pour effet d’octroyer le privilège MODIFY 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ège READ_METADATA a pour effet d’octroyer le privilège READ_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 SELECT sur la table, la vue ou la fonction, ainsi que USAGE 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ège SELECT a pour effet d’octroyer le privilège SELECT 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

    Fichiers COPY INTO régis directement 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`;