Partilhar via


Privilégios e objetos protegíveis no Unity Catalog

Aplica-se a:Marque SimDatabricks SQL Marque Sim Databricks Runtime Marque Sim Unity Catalog apenas

Um privilégio é um direito concedido a um comitente para operar em um objeto protegível no metastore. O modelo de privilégio e os objetos protegíveis diferem dependendo se você estiver usando um metastore do Unity Catalog ou o metastore herdado do Hive. Este artigo descreve o modelo de privilégio para o Unity Catalog. Se você estiver usando o metastore do Hive, consulte Privilégios e objetos protegíveis no metastore do Hive.

Para obter informações detalhadas sobre como gerenciar privilégios no Unity Catalog, consulte Manage privileges in Unity Catalog.

Nota

Este artigo refere-se aos privilégios do Catálogo Unity e ao modelo de herança no Modelo de Privilégios versão 1.0. Se você criou seu metastore do Unity Catalog durante a visualização pública (antes de 25 de agosto de 2022), talvez esteja em um modelo de privilégio anterior que não suporta o modelo de herança atual. Você pode atualizar para o Modelo de Privilégios versão 1.0 para obter herança de privilégios. Consulte Atualizar para herança de privilégios.

Objetos com capacidade de segurança

Um objeto com capacidade de segurança é um objeto definido no metastore do Catálogo do Unity no qual os privilégios podem ser concedidos a um principal. Para obter uma lista completa de objetos protegíveis do Unity Catalog e os privilégios que podem ser concedidos neles, consulte Privilégios e objetos protegíveis do Unity Catalog.

Para gerenciar privilégios em qualquer objeto, você deve ser seu proprietário ou ter o privilégio MANAGE no objeto, bem como USE CATALOG no catálogo pai do objeto e USE SCHEMA em seu esquema pai.

Sintaxe

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
  }

Você também pode especificar SERVER em vez de CONNECTION e DATABASE em vez de SCHEMA.

Parâmetros

  • CATALOG catalog_name

    Controla o acesso a todo o catálogo de dados.

  • CLEAN ROOM clean_room_name

    Controla o acesso a uma sala limpa.

  • CONNECTION connection_name

    Controla o acesso à conexão.

  • EXTERNAL LOCATION location_name

    Controla o acesso a um local externo.

  • FUNCTION function_name

    Controla o acesso a uma função definida pelo usuário ou a um modelo registrado MLflow.

  • MATERIALIZED VIEW view_name

    Controla o acesso a uma visão materializada.

  • METASTORE

    Controla o acesso ao metastore do Unity Catalog anexado ao espaço de trabalho. Ao gerenciar privilégios em um metastore, você não inclui o nome do metastore em um comando SQL. O Unity Catalog concederá ou revogará o privilégio no metastore anexado ao seu espaço de trabalho.

  • SCHEMA schema_name

    Controla o acesso a um esquema.

  • [ STORAGE | SERVICE ] CREDENTIAL credential_name

    Controla o acesso a uma credencial.

    As palavras-chave STORAGE e SERVICE (Marque Sim Databricks Runtime 15.4 e posterior) são opcionais.

  • SHARE share_name

    Controla o acesso de um compartilhamento a um destinatário.

  • TABLE table_name

    Controla o acesso a uma tabela gerenciada ou externa. Se a tabela não puder ser encontrada, o Azure Databricks gerará um erro de TABLE_OR_VIEW_NOT_FOUND .

  • VIEW view_name

    Controla o acesso a uma vista. Se o modo de exibição não puder ser encontrado, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND .

  • VOLUME volume_name

    Controla o acesso a um volume. Se o volume não puder ser encontrado, o Azure Databricks gerará um erro.

Tipos de privilégios

Para obter uma lista de tipos de privilégio, consulte Privilégios do catálogo Unity e objetos protegíveis.

Exemplos

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