Privilégios e objetos protegíveis no Unity Catalog
Aplica-se a:Databricks SQL Databricks Runtime 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_nameControla o acesso a todo o catálogo de dados.
CLEAN ROOM
clean_room_nameControla o acesso a uma sala limpa.
CONNECTION
connection_nameControla o acesso à conexão.
EXTERNAL LOCATION
location_nameControla o acesso a um local externo.
FUNCTION
function_nameControla o acesso a uma função definida pelo usuário ou a um modelo registrado MLflow.
MATERIALIZED VIEW
view_nameControla 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_nameControla o acesso a um esquema.
[ STORAGE | SERVICE ] CREDENTIAL
credential_nameControla o acesso a uma credencial.
As palavras-chave
STORAGE
eSERVICE
( Databricks Runtime 15.4 e posterior) são opcionais.SHARE
share_nameControla o acesso de um compartilhamento a um destinatário.
TABLE
table_nameControla 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_nameControla 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_nameControla 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`;