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 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

  • CATALOGcatalog_name

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

  • CLEAN ROOMclean_room_name

    Contrôle l’accès à une salle blanche.

  • CONNECTIONnom_connexion

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

  • EXTERNAL LOCATIONlocation_name

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

  • FUNCTIONfunction_name

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

  • MATERIALIZED VIEWview_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.

  • SCHEMAschema_name

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

  • [ STORAGE | SERVICE ] CREDENTIALcredential_name

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

    Les mots clés STORAGE et SERVICE (coche marquée oui Databricks Runtime 15.4 et versions ultérieures) sont facultatifs.

  • SHAREshare_name

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

  • TABLEtable_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.

  • VIEWview_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.

  • VOLUMEvolume_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`;