Partager via


Privilèges et objets sécurisables dans Unity Catalog

S’applique à :coche pour oui Databricks SQL coche marquée oui Databricks Runtime coche pour oui 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 du catalogue Unity pendant la version préliminaire 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 les privilèges sur n’importe quel objet, vous devez être son propriétaire ou avoir le MANAGE privilège sur l’objet, ainsi que USE CATALOG sur le catalogue parent de l’objet et USE SCHEMA sur son schéma parent.

Syntaxe

securable_object
  { CATALOG [ catalog_name ] |
    CONNECTION connection_name |
    CLEAN ROOM clean_room_name |
    EXTERNAL LOCATION location_name |
    EXTERNAL METADATA metadata_name |
    FUNCTION function_name |
    METASTORE |
    PROCEDURE procedure_name |
    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_name

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

  • CONNECTION nom_connexion

    Contrôle l’accès à la connexion.

  • EXTERNAL LOCATION location_name

    Contrôle l’accès à un emplacement externe.

  • EXTERNAL METADATA metadata_name

    Contrôle l’accès à un objet de métadonnées externe à utiliser dans une configuration de traçabilité de données personnalisée.

  • FUNCTION function_name

    Contrôle l’accès à une fonction définie par l’utilisateur ou à un modèle inscrit MLflow.

  • MATERIALIZED VIEW view_name

    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.

  • PROCEDURE procedure_name

    Contrôle l’accès à une procédure définie par l’utilisateur.

    Si la procédure est introuvable, Azure Databricks génère une erreur.

  • SCHEMA schema_name

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

  • [ STORAGE | SERVICE ] CREDENTIAL credential_name

    Contrôle l’accès à des informations d’identification.

    Les mots clés STORAGE et SERVICE (indiqués par une coche « oui » dans Databricks Runtime 15.4 et versions ultérieures) sont facultatifs.

  • SHARE share_name

    Contrôle l’accès sur un partage à un destinataire.

  • TABLE table_name

    Contrô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_name

    Contrô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_name

    Contrô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`;