Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
SQL do Databricks
Databricks Runtime
Um privilégio é um direito concedido a uma entidade de segurança para operar em um objeto protegível no metastore.
O modelo de privilégio e os objetos protegíveis diferem dependendo se você está usando um metastore do Catálogo Unity ou o metastore do Hive herdado. Este artigo descreve o modelo de privilégio para o metastore do Hive herdado. Se você estiver usando o Catálogo do Unity, consulte Privilégios e objetos protegíveis no Unity Catalog.
Objetos protegíveis no metastore do Hive
Um objeto protegível é um objeto definido no metastore, no qual os privilégios podem ser concedidos a uma entidade de segurança.
Para gerenciar privilégios em qualquer objeto, você deve ser o proprietário dele ou um administrador.
Sintaxe
securable_object
{ ANY FILE |
CATALOG [ catalog_name ] |
{ SCHEMA | DATABASE } schema_name |
FUNCTION function_name |
[ TABLE ] table_name |
VIEW view_name
}
Parâmetros
ANY FILEControla o acesso ao sistema de arquivos subjacente.
CATALOGcatalog_nameControla o acesso ao catálogo de dados inteiro.
{ SCHEMA | DATABASE }schema_nameControla o acesso a um esquema.
FUNCTIONfunction_nameControla o acesso a uma função nomeada.
[ TABLE ]table_nameControla o acesso a uma tabela gerenciada ou externa.
VIEWnome_da_exibiçãoControla o acesso aos modos de exibição do SQL.
Modelo de herança
Os objetos protegíveis no metastore do Hive são hierárquicos e os privilégios são herdados para baixo. Isso significa que conceder ou negar um privilégio no CATALOG concede ou nega automaticamente o privilégio a todos os esquemas no catálogo. Da mesma forma, os privilégios concedidos em um objeto de esquema são herdados por todos os objetos nesse esquema. Este padrão é verdadeiro para todos os objetos protegíveis.
Se você negar privilégios de usuário em uma tabela, o usuário não poderá ver a tabela tentando listar todas as tabelas no esquema. Se você negar privilégios de usuário em um esquema, o usuário não poderá ver que o esquema existe tentando listar todos os esquemas no catálogo.
Tipos de privilégio
A tabela a seguir mostra quais privilégios estão associados a quais objetos protegíveis.
| Tipo de privilégio | FUNÇÃO ANÔNIMA | QUALQUER ARQUIVO | CATALOG | SCHEMA | FUNÇÃO | TABLE | VISUALIZAR |
|---|---|---|---|---|---|---|---|
| CRIAR | Sim | Sim | |||||
| MODIFICAR | Sim | Sim | Sim | Sim | |||
| READ_METADATA | Sim | Sim | Sim | Sim | |||
| SELECT | Sim | Sim | Sim | Sim | Sim | Sim | Sim |
| USO | Sim | Sim |
ALL PRIVILEGESUsado para conceder ou revogar todos os privilégios aplicáveis ao protegível e seus objetos filho sem especificá-los explicitamente. Isso se expande para todos os privilégios disponíveis no momento em que as verificações de permissões são feitas.
CREATECriar objetos no catálogo ou no esquema.
MODIFYCOPY INTO, UPDATEDELETE, INSERTou MERGE INTO a tabela.
Se o securable_object for o
hive_metastoreou um esquema dele, concederMODIFYconcederáMODIFYem todas as tabelas e exibições atuais e futuras no objeto protegível.READ_METADATADescobrir o objeto protegível em SHOW e interrogar o objeto em DESCRIBE
Se o objeto protegível for o
hive_metastorecatálogo ou um esquema dentro dele, concederREAD_METADATAconcederáREAD_METADATAem todas as tabelas e exibições atuais e futuras no objeto protegível.READ FILESConsultar arquivos diretamente usando a credencial de armazenamento ou a localização externa.
SELECTConsultar uma tabela ou exibição, invoque uma função definida pelo usuário ou anônima ou selecionar
ANY FILE. O usuário precisaSELECTna tabela, exibição ou função, bem comoUSAGEno esquema e catálogo do objeto.Se o objeto protegível for o
hive_metastoreou um esquema dentro dele, concederSELECTconcederáSELECTem todas as tabelas e exibições atuais e futuras no objeto protegível.USAGEÉ necessário, mas não suficiente para fazer referência a todos os objetos em um catálogo ou esquema. A entidade de segurança também precisa ter privilégios nos objetos protegíveis individuais.
WRITE FILESRealize COPY INTO diretamente em arquivos governados pela credencial de armazenamento ou localização externa.
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 USAGE ON SCHEMA some_schema FROM `alf@melmak.et`;