Privilégios do Unity Catalog e objetos seguros
Este artigo descreve os objetos protegíveis do Unity Catalog e os privilégios que se aplicam a eles. Para saber como conceder privilégios no Unity Catalog, consulte Mostrar, conceder e revogar privilégios.
Observação
Este artigo se refere aos privilégios e ao modelo de herança do Unity Catalog na versão 1.0 do Privilege Model. 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 oferece suporte ao modelo de herança atual. Você pode atualizar para a versão 1.0 do Privilege Model para obter herança de privilégios. Consulte Atualizar para herança de privilégios.
Objetos seguros no Unity Catalog
Um objeto protegível é um objeto definido no metastore do Unity Catalog no qual privilégios podem ser concedidos a uma entidade (usuário, entidade de serviço ou grupo). Os objetos protegíveis no Unity Catalog são hierárquicos.
Os objetos seguros são:
METASTORE: contêiner de nível superior para metadados. Cada metastore do Unity Catalog expõe um namespace de três níveis (
catalog
.schema
.table
) que organiza seus dados.No gerenciamento de privilégios no metastore, não se inclui o nome do metastore em um comando SQL. O Unity Catalog concede ou revoga o privilégio no metastore anexado ao seu workspace. Por exemplo, o comando a seguir concede a um grupo chamado engenharia a capacidade de criar um catálogo no metastore anexado ao workspace:
GRANT CREATE CATALOG ON METASTORE TO engineering
CATÁLOGO: primeira camada da hierarquia de objetos, utilizada para organizar seus ativos de dados. Catálogos estrangeiros são um tipo de catálogo especial que espelha um banco de dados em um sistema de dados externo em um cenário de Federação de lakehouse.
ESQUEMA: também conhecidos como bancos de dados, os esquemas são a segunda camada da hierarquia de objetos e contêm tabelas e views.
TABELA: nível mais baixo na hierarquia de objetos, as tabelas podem ser externas (armazenadas em locais externos no armazenamento em nuvem de sua preferência) ou tabelas gerenciadas (armazenadas em um contêiner em seu armazenamento em nuvem, criado exclusivamente para o Databricks).
VIEW: um objeto somente para leitura criado a partir de uma consulta em uma ou mais tabelas contidas em um esquema.
MATERIALIZED VIEW: um objeto criado a partir de uma consulta em uma ou mais tabelas contidas em um esquema. Seus resultados refletem o estado dos dados quando foram atualizados pela última vez.
VOLUME: no nível mais baixo na hierarquia de objetos, os volumes podem ser externos (armazenados em locais externos no armazenamento em nuvem de sua preferência) ou gerenciados (armazenados em um contêiner em seu armazenamento em nuvem, criado exclusivamente para o Databricks).
FUNCTION (FUNÇÃO): uma função definida pelo usuário ou um modelo registrado do MLflow que está contido em um esquema.
Modelo: Um modelo registrado no MLflow é um tipo específico de função. Os modelos são listados separadamente de outras funções no Catalog Explorer, mas quando o senhor concede um privilégio em um modelo usando SQL, usa
GRANT ON FUNCTION
.LOCALIZAÇÃO EXTERNA: objeto que contém uma referência a uma credencial de armazenamento e uma trilha de armazenamento em nuvem que está contido no metastore do Unity Catalog.
serviço CREDENTIAL: um objeto que encapsula uma credencial de longo prazo cloud que fornece acesso a um serviço externo. Contido em um metastore do Unity Catalog.
CREDENCIAL DE ARMAZENAMENTO: objeto que encapsula uma credencial de nuvem de longo prazo, que oferece acesso ao armazenamento em nuvem contido no metastore do Unity Catalog.
CONEXÃO: objeto que especifica uma trilha e credenciais para acessar um sistema de banco de dados externo em um cenário de federação de lakehouse.
COMPARTILHAR: agrupamento lógico para as tabelas que você pretende compartilhar utilizando o Delta Sharing. Compartilhamento está contido no metastore do Unity Catalog.
DESTINATÁRIO: objeto que identifica uma organização ou grupo de usuários que podem ter dados compartilhados com eles utilizando o Delta Sharing. Esses objetos estão contidos no metastore do Unity Catalog.
PROVEDOR: objeto que representa uma organização que disponibilizou dados para compartilhamento utilizando o Delta Sharing. Esses objetos estão contidos no metastore do Unity Catalog.
CLEAN ROOM: Um objeto que representa um ambiente seguro e que protege a privacidade, gerenciado pela Databricks, onde várias partes podem colaborar sem acesso direto aos dados umas das outras.
Tipos de privilégios por objeto seguro no Unity Catalog
A tabela a seguir lista os tipos de privilégios que se aplicam a cada objeto protegível no Unity Catalog. Para saber como conceder privilégios no Unity Catalog, consulte Mostrar, conceder e revogar privilégios.
Seguro |
Privilégios |
---|---|
Metastore |
|
Catálogo |
Todos os usuários têm Os seguintes tipos de privilégios se aplicam a objetos passíveis de proteção em um catálogo. Você pode conceder esses privilégios no nível do catálogo para aplicá-los aos objetos atuais e futuros do catálogo.
|
Esquema |
Os seguintes tipos de privilégios se aplicam a objetos protegíveis dentro de um esquema. Você pode conceder esses privilégios no nível do esquema para aplicá-los a objetos atuais e futuros dentro do esquema.
|
Tabela |
|
Visualização materializada |
|
View |
|
Volume |
|
Localização externa |
|
Credencial de serviço |
|
Credencial de armazenamento |
|
Conexão |
|
Função |
|
Modelo |
Os modelos registrados são um tipo de função. |
Compartilhar |
|
Destinatário |
Nenhuma |
Pro |
Nenhuma |
Clean Room |
|
Tipos de privilégios gerais do Unity Catalog
Esta seção fornece detalhes sobre os tipos de privilégios que geralmente se aplicam ao Unity Catalog. Para saber como conceder privilégios no Unity Catalog, consulte Mostrar, conceder e revogar privilégios.
ALL PRIVILEGES
Tipos de objetos aplicáveis: CATALOG
, EXTERNAL LOCATION
, STORAGE CREDENTIAL
, SCHEMA
, FUNCTION
(incluindo modelos) TABLE
, MATERIALIZED VIEW
, VIEW,
VOLUME
Usado para conceder ou revogar todos os privilégios aplicáveis ao objeto protegido e a seus objetos filhos sem especificá-los explicitamente.
Quando ALL PRIVILEGES
é concedido em um objeto, isso não concede individualmente ao usuário cada privilégio aplicável no momento da concessão. Em vez disso, ele se expande para todos os privilégios disponíveis no momento em que as verificações de permissões são feitas. Isso significa que, à medida que a Databricks lança novos privilégios e novos objetos protegíveis, uma concessão ALL PRIVILEGES
existente automaticamente inclui quaisquer novos privilégios aplicáveis ao objeto protegível, seus objetos secundários existentes e quaisquer novos objetos secundários.
Quando ALL PRIVILEGES
é revogado, o privilégio ALL PRIVILEGES
é revogado e todos os privilégios explícitos concedidos ao usuário no objeto também são revogados.
Para evitar a exfiltração acidental de dados, ALL PRIVILEGES
não inclui o privilégio EXTERNAL USE SCHEMA
.
Observação
Este privilégio é poderoso quando aplicado em níveis mais altos na hierarquia. Por exemplo, GRANT ALL PRIVILEGES ON CATALOG main TO analysts
concede à equipe de analistas todos os privilégios existentes e futuros em cada objeto protegível existente e futuro no catálogo.
ACESSO
Tipos de objetos aplicáveis: SERVICE CREDENTIAL
Permite que um usuário use uma credencial de serviço para acessar um serviço externo ou serviço.
APLICAR TAG
Tipos de objetos aplicáveis: CATALOG
, SCHEMA
, TABLE
, VOLUME
, MATERIALIZED VIEW
, VIEW
, modelos registrados como FUNCTION
Permite que um usuário adicione e edite tags em um objeto. Conceder APPLY TAG
a uma tabela ou view também habilita as tags de coluna. A concessão de APPLY TAG
a um modelo registrado também permite tags de versão de modelo.
O usuário deve ter também o privilégio USE CATALOG
no catálogo pai e USE SCHEMA
no esquema pai.
NAVEGAR
Tipos de objetos aplicáveis: CATALOG
, EXTERNAL LOCATION
, CLEAN ROOM
Visualização
Este recurso está em visualização pública.
Permite que um usuário visualize os metadados de um objeto usando o Catalog Explorer, o navegador de esquemas, os resultados de pesquisa, o gráfico de linhagem, information_schema
e a API REST.
O usuário não precisa do privilégio USE CATALOG
no catálogo pai ou USE SCHEMA
no esquema pai.
Todos os usuários recebem o privilégio BROWSE
por default em novos catálogos criados usando o Explorador de Catálogos. Você pode revogar o privilégio, se preferir. Os catálogos criados usando instruções SQL, a API REST ou a CLI do Databricks não concedem o privilégio BROWSE
por default. Você deve concedê-lo abertamente.
CREATE CATALOG
Tipos de objetos aplicáveis: metastore do Unity Catalog
Permite que um usuário crie um catálogo em um metastore do Unity Catalog. Para criar um foreign catalog, você também deve ter o privilégio CRIAR FOREIGN CATALOG na conexão que contém o foreign catalog ou no metastore.
CRIAR CLEAN ROOM
Tipos de objetos aplicáveis: metastore do Unity Catalog
Permite que um usuário crie um clean room para colaborar com segurança em projetos com outras organizações sem compartilhar dados subjacentes.
CREATE CONNECTION
Tipos de objetos aplicáveis: metastore do Unity Catalog, SERVICE CREDENTIAL
Permite que um usuário crie uma conexão com um banco de dados externo em um cenário de Lakehouse Federation. Para usar uma credencial de serviço para criar uma conexão, o usuário deve ter esse privilégio tanto no metastore quanto na credencial de serviço.
CRIAR LOCALIZAÇÃO EXTERNA
Tipos de objetos aplicáveis: metastore do Unity Catalog, STORAGE CREDENTIAL
Para criar uma external location, o usuário deve ter este privilégio tanto no metastore quanto na credencial de armazenamento que está sendo referenciada na external location.
CREATE EXTERNAL TABLE
Tipos de objetos aplicáveis: EXTERNAL LOCATION
, STORAGE CREDENTIAL
Permite que o usuário crie tabelas externas diretamente no seu tenant de nuvem utilizando um local externo ou uma credencial de armazenamento. O Databricks recomenda conceder esse privilégio em locais externos em vez de uma credencial de armazenamento (como o escopo é uma trilha, isso permite mais controle sobre onde os usuários podem criar tabelas externas no tenant de nuvem).
CREATE EXTERNAL VOLUME
Tipos de objetos aplicáveis: EXTERNAL LOCATION
Permite que o usuário crie volumes externos utilizando uma localização externa.
CREATE FOREIGN CATALOG
Tipos de objetos aplicáveis: CONNECTION
Permite que o usuário crie catálogos externos utilizando uma conexão com um banco de dados externo em um cenário de federação de lakehouse.
CREATE FUNCTION
Tipos de objetos aplicáveis: SCHEMA
Permite que o usuário crie uma função no esquema. Como os privilégios são herdados, CREATE FUNCTION
também pode ser concedido no catálogo, o que permite que o usuário crie uma função em qualquer esquema atual ou futuro no catálogo.
O usuário deve ter também o privilégio USE CATALOG
no catálogo pai e USE SCHEMA
no esquema pai.
CREATE MODEL
Tipos de objetos aplicáveis: SCHEMA
Permite que um usuário crie um modelo registrado do MLflow (que é um tipo de FUNCTION) no esquema. Como os privilégios são herdados, CREATE MODEL
também pode ser concedido em um catálogo, o que permite ao usuário criar um modelo registrado em qualquer esquema existente ou futuro no catálogo.
O usuário deve ter também o privilégio USE CATALOG
no catálogo pai e USE SCHEMA
no esquema pai.
CREATE MANAGED STORAGE
Tipos de objetos aplicáveis: EXTERNAL LOCATION
Permite que o usuário especifique um local para armazenar tabelas gerenciadas no nível do catálogo ou esquema, substituindo o armazenamento raiz padrão do metastore.
CREATE SCHEMA
Tipos de objetos aplicáveis: CATALOG
Permite que o usuário crie um esquema. O usuário deve ter também o privilégio USE CATALOG
no catálogo.
CREATE serviço CREDENTIAL
Tipos de objetos aplicáveis: metastore do Unity Catalog
Permite que um usuário crie uma credencial de serviço em um metastore do Unity Catalog.
CRIAR CREDENCIAL DE ARMAZENAMENTO
Tipos de objetos aplicáveis: metastore do Unity Catalog
Permite a um usuário criar uma credencial de armazenamento em um metastore do Unity Catalog.
CREATE TABLE
Tipos de objetos aplicáveis: SCHEMA
Permite que o usuário crie uma tabela ou view no esquema. Como os privilégios são herdados, CREATE TABLE
pode ser concedido também em um catálogo, o que permite que o usuário crie uma tabela ou view em qualquer esquema atual ou futuro no catálogo.
O usuário deve ter também o privilégio USE CATALOG
no catálogo pai e o privilégio USE SCHEMA
no esquema pai.
CREATE MATERIALIZED VIEW
Tipos de objetos aplicáveis: SCHEMA
Permite que um usuário crie uma visualizaçã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 ao usuário criar uma tabela ou visualização em qualquer esquema existente ou futuro no catálogo.
O usuário deve ter também o privilégio USE CATALOG
no catálogo pai e o privilégio USE SCHEMA
no esquema pai.
CREATE VOLUME
Tipos de objetos aplicáveis: SCHEMA
Permite que o usuário crie um volume no esquema. Como os privilégios são herdados, CREATE VOLUME
pode ser concedido também em um catálogo, o que permite ao usuário criar um volume em qualquer esquema atual ou futuro no catálogo.
O usuário deve ter também o privilégio USE CATALOG
no catálogo principal do volume e o privilégio USE SCHEMA
no esquema principal.
EXECUTE
Tipos de objetos aplicáveis: FUNCTION
, Model
Permite que um usuário invoque uma função definida pelo usuário ou carregue um modelo para inferência, se o usuário também tiver USE CATALOG
em seu catálogo principal e USE SCHEMA
em seu esquema principal. Para funções, EXECUTE
concede a capacidade de visualizar a definição e os metadados da função. Para modelos cadastrados, o EXECUTE
concede a capacidade de visualizar metadados de todas as versões do modelo cadastrado e de baixar arquivos de modelo.
Como os privilégios são herdados, você pode conceder a um usuário o privilégio EXECUTE
no catálogo ou esquema, o que concede automaticamente ao usuário o privilégio EXECUTE
em todas as funções atuais e futuras no catálogo ou esquema.
EXECUTAR TAREFA DE CLEAN ROOM
Tipos de objetos aplicáveis: CLEAN ROOM
Permite que um usuário execute tarefas (notebooks) em um clean room. Também permite que o usuário visualize detalhes do clean room.
EXTERNO USE SCHEMA
Tipos de objetos aplicáveis: SCHEMA
Permite que um usuário receba uma credencial temporária para acessar as tabelas do Unity Catalog a partir de um mecanismo de processamento externo usando as APIs abertas do Unity Catalog ou as APIs REST do Iceberg.
Somente o proprietário do catálogo pode conceder esse privilégio.
Para evitar a exfiltração acidental de dados, ALL PRIVILEGES
não inclui o privilégio EXTERNAL USE SCHEMA
, e os proprietários de esquemas não têm esse privilégio em default.
Consulte Controlar o acesso externo aos dados no Unity Catalog.
GERENCIAR LISTA DE PERMISSÕES
Tipos de objetos aplicáveis: metastore do Unity Catalog
Permite que um usuário adicione ou modifique caminhos para init scripts, JARs e coordenadas Maven na lista de permissões que rege clusters habilitados para o Unity Catalog com modo de acesso compartilhado. Consulte Bibliotecas da lista de permissões e init scripts na computação compartilhada.
MODIFY
Tipos de objetos aplicáveis: TABLE
Permite que o usuário adicione, atualize e exclua dados de ou para a tabela se o usuário também tiver SELECT
na tabela, USE CATALOG
no catálogo principal e USE SCHEMA
no esquema pai.
Como os privilégios são herdados, você pode conceder a um usuário o privilégio MODIFY
no catálogo ou esquema, o que concede automaticamente ao usuário o privilégio MODIFY
em todas as tabelas atuais e futuras no catálogo ou esquema.
MODIFICAR CLEAN ROOM
Tipos de objetos aplicáveis: CLEAN ROOM
Permite que um usuário atualize um clean room, inclusive adicionando e removendo ativos de dados, adicionando e removendo notebooks e atualizando comentários. Também permite que o usuário visualize os detalhes do clean room.
READ FILES
Tipos de objetos aplicáveis: VOLUME
, EXTERNAL LOCATION
Permite que um usuário leia arquivos diretamente do seu armazenamento de objetos em cloud. O Databricks recomenda conceder este privilégio em volumes e concedê-lo em external locations para casos de uso limitados. Para mais orientações, veja Gerenciar external locations, external tables e external volumes.
READ VOLUME
Tipos de objetos aplicáveis: VOLUME
Permite que o usuário leia arquivos e diretórios armazenados em um volume se o usuário também tiver USE CATALOG
no catálogo principal e USE SCHEMA
no esquema pai.
Os privilégios são herdados. Quando você pode conceder ao usuário o privilégio READ VOLUME
no catálogo ou esquema, você concede automaticamente ao usuário o privilégio READ VOLUME
em todos os volumes atuais e futuros no catálogo ou esquema.
REFRESH
Tipos de objetos aplicáveis: MATERIALIZED VIEW
Permite que um usuário atualize uma visualização materializada se ele também tiver USE CATALOG
em seu catálogo principal e USE SCHEMA
em seu esquema pai.
Os privilégios são herdados. Ao conceder o privilégio REFRESH
em um catálogo ou esquema a um usuário, você concede automaticamente ao usuário o privilégio REFRESH
em todas as visualizações materializadas atuais e futuras no catálogo ou esquema.
SELECT
Tipos de objetos aplicáveis: TABLE
, VIEW
, MATERIALIZED VIEW
, SHARE
Se aplicado a uma tabela ou view, permite que o usuário selecione na tabela ou view, se o usuário também tiver USE CATALOG
no catálogo principal e USE SCHEMA
no esquema pai. Se aplicado a um compartilhamento, permite que um destinatário selecione o compartilhamento.
Como os privilégios são herdados, você pode conceder a um usuário o privilégio SELECT
no catálogo ou esquema, o que automaticamente concede ao usuário o privilégio SELECT
em todas as tabelas atuais e futuras e views no catálogo ou esquema.
USE CATALOG
Tipos de objetos aplicáveis: CATALOG
Esse privilégio não concede acesso ao catálogo em si, mas é necessário para que o usuário interaja com qualquer objeto dentro do catálogo. Por exemplo, para selecionar dados de uma tabela, os usuários precisam ter o privilégio SELECT
nessa tabela e os privilégios USE CATALOG
no catálogo principal, bem como os privilégios USE SCHEMA
no esquema pai.
Isso é útil para que os proprietários dos catálogos possam limitar até que ponto os proprietários dos esquemas e tabelas individuais podem compartilhar os dados que produzem. Por exemplo, o proprietário de uma tabela que concede SELECT
a outro usuário não permite que esse usuário tenha acesso de leitura à tabela, a menos que ele também tenha recebido os privilégios USE CATALOG
no catálogo principal, bem como os privilégios USE SCHEMA
no esquema pai.
O privilégio USE CATALOG
no catálogo principal não é necessário para ler os metadados de um objeto se o usuário tiver o privilégio BROWSE
nesse catálogo.
USE CONNECTION
Tipos de objetos aplicáveis: CONNECTION
Permite que o usuário liste e veja detalhes sobre conexões com um banco de dados externo em um cenário de federação de lakehouse. Para criar catálogos estrangeiros para uma conexão, você precisa ter CREATE FOREIGN CATALOG
na conexão ou propriedade da conexão.
USE SCHEMA
Tipos de objetos aplicáveis: SCHEMA
Esse privilégio não concede acesso ao esquema em si, mas é necessário para que um usuário interaja com qualquer objeto dentro do esquema. Por exemplo, para selecionar dados de uma tabela, os usuários precisam ter o privilégio SELECT
nessa tabela e USE SCHEMA
no esquema pai, bem como USE CATALOG
no catálogo principal.
Como os privilégios são herdados, é possível conceder ao usuário o privilégio USE SCHEMA
no catálogo, o que automaticamente concede ao usuário o privilégio USE SCHEMA
em todos os esquemas atuais e futuros do catálogo.
O privilégio USE SCHEMA
no esquema pai não é necessário para ler os metadados de um objeto se o usuário tiver o privilégio BROWSE
nesse esquema ou em seu catálogo principal.
WRITE FILES
Tipos de objetos aplicáveis: VOLUME
,EXTERNAL LOCATION
Permite que um usuário escreva arquivos diretamente no seu armazenamento de objetos em cloud. O Databricks recomenda conceder este privilégio em volumes. Conceda este privilégio com parcimônia em external locations. Para mais orientações, veja Gerenciar external locations, external tables e external volumes.
WRITE VOLUME
Tipos de objetos aplicáveis: VOLUME
Permite que o usuário adicione, remova ou modifique arquivos e diretórios armazenados em um volume se o usuário também tiver USE CATALOG
no catálogo principal e USE SCHEMA
no esquema pai.
Os privilégios são herdados. Quando você pode conceder ao usuário o privilégio WRITE VOLUME
no catálogo ou esquema, você concede automaticamente ao usuário o privilégio WRITE VOLUME
em todos os volumes atuais e futuros no catálogo ou esquema.
Tipos de privilégios que se aplicam somente ao Delta Sharing ou ao Databricks Marketplace
Esta seção apresenta detalhes sobre os tipos de privilégios que se aplicam somente ao Delta Sharing.
CREATE PROVIDER
Tipos de objetos aplicáveis: metastore do Unity Catalog
Permite que um usuário crie um objeto de provedor do Delta Sharing no metastore. O provedor identifica uma organização ou grupo de usuários que compartilharam dados usando o Delta Sharing. A criação do provedor é realizada por um usuário na conta Databricks do destinatário. Consulte O que é Delta Sharing?
CREATE RECIPIENT
Tipos de objetos aplicáveis: metastore do Unity Catalog
Permite que um usuário crie um objeto destinatário do Delta Sharing no metastore. Um destinatário identifica uma organização ou grupo de usuários que podem ter dados compartilhados com eles usando o Delta Sharing. A criação do destinatário é realizada por um usuário na conta Databricks do provedor. Consulte O que é Delta Sharing?
USE MARKETPLACE ASSETS
Tipos de objetos aplicáveis: metastore do Unity Catalog
Habilitado por padrão para todos os metastores do Unity Catalog. No Databricks Marketplace, esse privilégio oferece ao usuário a capacidade de conseguir acesso imediato ou solicitar acesso para produtos de dados compartilhados em uma listagem do Marketplace. Permite também que o usuário acesse o catálogo somente leitura criado quando o provedor compartilha um produto de dados. Sem esse privilégio, o usuário precisaria ter os privilégios CREATE CATALOG
e USE PROVIDER
ou a função de administrador do metastore. Isso permite limitar o número de usuários com essas permissões avançadas.
USE O PROVEDOR
Tipos de objetos aplicáveis: metastore do Unity Catalog
No Delta Sharing, concede ao usuário destinatário acesso somente leitura a todos os provedores no metastore destinatário e seus compartilhamentos. Combinado com o privilégio CREATE CATALOG
, esse privilégio permite que o usuário destinatário que não seja administrador do metastore monte um compartilhamento como catálogo. Isso permite que você limite o número de usuários com a avançada função de administrador do metastore.
USE RECIPIENT
Tipos de objetos aplicáveis: metastore do Unity Catalog
No Delta Sharing, dá ao usuário do provedor acesso somente leitura a todos os destinatários no metastore do provedor e seus compartilhamentos. Isso permite que o usuário do provedor que não seja um administrador do metastore veja os 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 oferece aos usuários do provedor a capacidade de ver as listagens e solicitações do consumidor no console do provedor.