Privilégios e objetos protegíveis no Catálogo Unity
Aplica-se a:SQL do DatabricksDatabricks Runtime somente Catálogo do Unity
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 do Catálogo Unity. Se você estiver usando o metastore do Hive, consulte Privilégios e objetos protegíveis no metastore do Hive
Observação
Este artigo refere-se aos privilégios do Catálogo do Unity e ao modelo de herança no Modelo de Privilégios versão 1.0. Se você criou sua metastore do Catálogo do Unity durante a visualização pública (antes de 25 de agosto de 2022), atualize para o Modelo de Privilégio versão 1.0 seguindo Atualizar para herança de privilégios.
Objetos protegíveis
Um objeto protegível é um objeto definido no metastore do Unity Catalog, 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.
Sintaxe
securable_object
{ CATALOG [ catalog_name ] |
CONNECTION connection_name |
EXTERNAL LOCATION location_name |
FUNCTION function_name |
METASTORE |
SCHEMA schema_name |
SHARE share_name |
STORAGE 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 ao catálogo de dados inteiro.
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.
MATERIALIZED VIEW
view_nameImportante
Esse recurso está em uma versão prévia.
Controla o acesso a uma exibição materializada.
METASTORE
Controla o acesso ao metastore do Unity Catalog anexado ao workspace. Ao gerenciar privilégios em um metastore, você não inclui o nome do metastore em um comando SQL. O Unity Catalog concede ou revoga o privilégio no metastore anexado ao workspace.
REGISTERED MODEL
Controla o acesso a um modelo registrado MLflow.
SCHEMA
schema_nameControla o acesso a um esquema.
STORAGE CREDENTIAL
credential_nameControla o acesso a uma credencial de armazenamento.
SHARE
share_nameControla o acesso em 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 TABLE_OR_VIEW_NOT_FOUND.
VIEW
view_nameControla o acesso a uma exibição. Se a exibição não puder ser encontrada, 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.
Modelo de herança
Os objetos protegíveis no Unity Catalog são hierárquicos e os privilégios são herdados para baixo. Isso significa que a concessão de um privilégio no catálogo ou esquema concede automaticamente o privilégio a todos os esquemas atuais e futuros no catálogo. Da mesma forma, os privilégios concedidos em um esquema são herdados por todas as tabelas e exibições atuais e futuras nesse esquema.
Por exemplo, se você conceder o privilégio SELECT
em um esquema a um usuário, o usuário receberá automaticamente o privilégio SELECT
em todas as tabelas atuais e futuras, exibições e exibições materializadas no esquema.
Tipos de privilégio
A tabela a seguir mostra quais privilégios do Unity Catalog estão associados a quais objetos protegíveis do Unity Catalog.
Protegível | Privilégios |
---|---|
Metastore | CREATE CATALOG , CREATE CONNECTION , CREATE EXTERNAL LOCATION , CREATE PROVIDER , CREATE RECIPIENT , CREATE SHARE , CREATE STORAGE CREDENTIAL , SET SHARE PERMISSION , USE MARKETPLACE ASSETS , USE PROVIDER , USE RECIPIENT , USE SHARE |
Catálogo | ALL PRIVILEGES , APPLY TAG , BROWSE , CREATE SCHEMA , USE CATALOG Todos os usuários têm USE CATALOG no catálogo main por padrão.Os tipos de privilégio a seguir se aplicam a objetos protegíveis em um catálogo. Você pode conceder esses privilégios no nível do catálogo para aplicá-los aos objetos atuais e futuros relevantes no catálogo. CREATE FUNCTION , CREATE TABLE , CREATE MODEL , CREATE VOLUME , CREATE FOREIGN CATALOG , READ VOLUME , REFRESH , WRITE VOLUME , EXECUTE , MODIFY , SELECT , USE SCHEMA |
Esquema | ALL PRIVILEGES , APPLY TAG , CREATE FUNCTION , CREATE TABLE , CREATE MODEL , CREATE VOLUME , CREATE MATERIALIZED VIEW , USE SCHEMA Os tipos de privilégio a seguir se aplicam a objetos protegíveis em um esquema. Você pode conceder esses privilégios no nível do esquema para aplicá-los aos objetos atuais e futuros relevantes no esquema. EXECUTE , MODIFY , SELECT , READ VOLUME , REFRESH , WRITE VOLUME |
Tabela | ALL PRIVILEGES , APPLY TAG , MODIFY , SELECT |
Exibição materializada | ALL PRIVILEGES , APPLY TAG , REFRESH , SELECT |
Visualizar | ALL PRIVILEGES , APPLY TAG , SELECT |
Volume | ALL PRIVILEGES , READ VOLUME , WRITE VOLUME |
Local externo | ALL PRIVILEGES , BROWSE , CREATE EXTERNAL TABLE , CREATE EXTERNAL VOLUME , READ FILES , WRITE FILES , CREATE MANAGED STORAGE |
Credencial de armazenamento | ALL PRIVILEGES , CREATE EXTERNAL LOCATION , CREATE EXTERNAL TABLE , READ FILES , WRITE FILES |
Conexão | ALL PRIVILEGES , CREATE FOREIGN CATALOG , USE CONNECTION |
Função | ALL PRIVILEGES , EXECUTE |
Modelo registrado | ALL PRIVILEGES , APPLY TAG , EXECUTE |
Compartilhar | SELECT (pode ser concedido a RECIPIENT ) |
Destinatário | Nenhum |
Provedor | Nenhum |
APPLY TAG
Aplicar e editar marcas em um objeto.
ALL PRIVILEGES
Usado para conceder ou revogar todos os privilégios aplicáveis ao objeto protegível e a seus objetos filhos 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. Não concede individualmente ao usuário cada privilégio aplicável no momento da concessão.
Quando
ALL PRIVILEGES
é revogado, apenas oALL PRIVILEGES
privilégio em si é revogado. Os usuários mantêm quaisquer outros privilégios que lhes foram concedidos separadamente.BROWSE
Importante
Esse recurso está em uma versão prévia.
Visualize os metadados de um objeto usando o Catalog Explorer, o navegador de esquema, os resultados da pesquisa, o gráfico de linhagem,
information_schema
e a API REST. O usuário não requer o privilégioUSE CATALOG
no catálogo pai ouUSE SCHEMA
no esquema pai.CREATE CATALOG
Criar catálogos em um metastore do Unity Catalog.
CREATE CONNECTION
Criar conexões estrangeiras em um metastore do Catálogo do Unity.
CREATE EXTERNAL LOCATION
Criar um local externo usando a credencial de armazenamento. Quando aplicado a uma credencial de armazenamento, permite que um usuário crie um local externo usando a credencial de armazenamento. Esse privilégio também precisa ser concedido a um usuário no metastore para permitir que ele crie um local externo nesse metastore.
CREATE EXTERNAL TABLE
Criar tabelas externas usando a credencial de armazenamento ou a localização externa.
CREATE EXTERNAL VOLUME
Crie volumes externos usando o local externo.
CREATE FOREIGN CATALOG
Criar catálogos em uma conexão estrangeira. Em seguida, cada catálogo estrangeiro expõe os esquemas disponíveis no sistema de destino federado.
CREATE FUNCTION
Criar uma função em um esquema. O usuário também requer o privilégio
USE CATALOG
no catálogo e o privilégioUSE SCHEMA
no esquema.CREATE MANAGED STORAGE
Permite que um usuário especifique um local para armazenar tabelas gerenciadas no nível do catálogo ou do esquema, substituindo o armazenamento raiz padrão para o metastore do Catálogo Unity.
CREATE MATERIALIZED VIEW
Permite que um usuário crie uma exibição materializada no esquema. Como os privilégios são herdados,
CREATE MATERIALIZED VIEW
também pode ser concedido em um catálogo, o que permite que um usuário crie uma tabela ou exibição em qualquer esquema existente ou futuro no catálogo.O usuário também deve ter o privilégio
USE CATALOG
no catálogo pai eUSE SCHEMA
no esquema pai.CREATE MODEL
Permite que um usuário crie um modelo registrado do MLflow no esquema. Como os privilégios são herdados,
CREATE MODEL
também pode ser concedido em um catálogo, o que permite que um usuário crie um modelo registrado em qualquer esquema existente ou futuro no catálogo.O usuário também deve ter o privilégio
USE CATALOG
no catálogo pai eUSE SCHEMA
no esquema pai.CREATE PROVIDER
(Para destinatários de dados do Delta Sharing) Criar um provedor em um metastore do Catálogo Unity.
CREATE RECIPIENT
(Para provedores de dados do Delta Sharing) Criar um destinatário em um metastore do Catálogo Unity.
CREATE SCHEMA
Criar um esquema em um catálogo. O usuário também requer o privilégio
USE CATALOG
no catálogo.CREATE SHARE
(Para provedores de dados do Delta Sharing) Criar um compartilhamento em um metastore do Catálogo Unity.
CREATE STORAGE CREDENTIAL
Crie uma credencial de armazenamento em um metastore do Catálogo do Unity.
CREATE TABLE
Cria uma tabela ou um modo de exibição em um esquema. O usuário também requer o privilégio
USE CATALOG
no catálogo e o privilégioUSE SCHEMA
no esquema. Para criar uma tabela externa, o usuário também requer o privilégioCREATE EXTERNAL TABLE
no local externo ou na credencial de armazenamento.CREATE VOLUME
Criar um volume em um esquema. O usuário também requer o privilégio
USE CATALOG
no catálogo e o privilégioUSE SCHEMA
no esquema. Para criar um volume externo, o usuário também precisa do privilégioCREATE EXTERNAL VOLUME
no local externo.EXECUTE
Invocar uma função definida pelo usuário. O usuário também requer o privilégio
USE CATALOG
no catálogo e o privilégioUSE SCHEMA
no esquema.MODIFY
COPY INTO, UPDATEDELETE, INSERT ou MERGE INTO tabela.
READ FILES
Consultar arquivos diretamente usando a credencial de armazenamento ou a localização externa.
READ VOLUME
Consultar arquivos dentro do volume.
REFRESH
Permite que um usuário atualize uma exibição materializada se o usuário também tiver
USE CATALOG
em seu catálogo pai eUSE SCHEMA
em seu esquema pai. O usuário também requer o privilégioUSE CATALOG
no catálogo e o privilégioUSE SCHEMA
no esquema.SELECT
Consultar uma tabela ou exibição, invoque uma função definida pelo usuário ou anônima ou selecionar
ANY FILE
. O usuário precisa deSELECT
na tabela, exibição ou função, além deUSE CATALOG
no catálogo do objeto eUSE SCHEMA
no esquema do objeto.SET SHARE PERMISSION
No Compartilhamento Delta, essa permissão, combinada com
USE SHARE
eUSE RECIPIENT
(ou propriedade do destinatário), fornece a um usuário do provedor a capacidade de conceder a um destinatário acesso a um compartilhamento. Combinado comUSE SHARE
, ele oferece a capacidade de transferir a propriedade de um compartilhamento para outro usuário, grupo ou entidade de serviço.USE CATALOG
É necessário, mas insuficiente para referenciar todos os objetos em um catálogo. A entidade de segurança também precisa ter privilégios nos objetos protegíveis individuais. Não é necessário que um usuário leia os metadados de um objeto usando o privilégio
BROWSE
.USE CONNECTION
Necessário para ler metadados em uma conexão estrangeira ou em todas as conexões estrangeiras quando usado no metastore.
USE MARKETPLACE ASSETS
Habilitado por padrão para todos os metastores do Catálogo do Unity. No Databricks Marketplace, esse privilégio fornece a um usuário a capacidade de obter acesso instantâneo ou solicitar acesso a produtos de dados compartilhados em uma listagem do Marketplace. Ele também permite que um usuário acesse o catálogo somente leitura criado quando um provedor compartilha um produto de dados. Sem esse privilégio, o usuário exigiria os privilégios
CREATE CATALOG
eUSE PROVIDER
ou a função de administrador do metastore. Isso permite limitar o número de usuários com essas funções poderosas.USE PROVIDER
No Compartilhamento Delta, fornece a um usuário destinatário acesso somente leitura a todos os provedores em um metastore de destinatário e seus compartilhamentos. Combinado com o privilégio
CREATE CATALOG
, esse privilégio permite que um usuário destinatário que não seja um administrador. Isso permite limitar o número de usuários com a poderosa função de administrador de metastore.USE RECIPIENT
No Compartilhamento Delta, fornece a um usuário do provedor acesso somente leitura a todos os destinatários em um metastore de provedor e seus compartilhamentos. Isso permite que um usuário do provedor que não é um administrador de metastore exiba detalhes do destinatário, o status de autenticação do destinatário e a lista de compartilhamentos que o provedor compartilhou com o destinatário.
No Databricks Marketplace, isso fornece aos usuários do provedor a capacidade de exibir listagens e solicitações de consumidor no console do provedor.
USE SCHEMA
É necessário, mas insuficiente para referenciar todos os objetos em um esquema. A entidade de segurança também precisa ter privilégios nos objetos protegíveis individuais. Não é necessário que um usuário leia os metadados de um objeto usando o privilégio
BROWSE
.USE SHARE
No Compartilhamento Delta, fornece a um usuário do provedor acesso somente leitura a todos os compartilhamentos definidos em um metastore de provedor. Isso permite que um usuário do provedor que não seja um administrador de metastore liste compartilhamentos e liste os ativos (tabelas e notebooks) em um compartilhamento, juntamente com os destinatários do compartilhamento.
No Databricks Marketplace, isso fornece aos usuários do provedor a capacidade de exibir detalhes sobre os dados compartilhados em uma listagem.
WRITE FILES
COPY INTO diretamente em arquivos controlados pela credencial de armazenamento ou pela localização externa.
WRITE VOLUME
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`;
Relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de