Controle de acesso no Unity Catalog
Esta página apresenta uma visão geral do controle de acesso no Unity Catalog, incluindo privilégios, políticas e controles no nível de dados.
Camadas de controle de acesso
O controle de acesso no Unity Catalog é construído com base nos seguintes modelos complementares:
- As restrições no nível do espaço de trabalho controlam onde os usuários podem acessar os dados, limitando os objetos a um espaço de trabalho específico.
- Privilégios e controle de propriedade sobre quem pode acessar o quê , usando concessões em objetos protegíveis.
- As políticas baseadas em atributos (ABAC) controlam quais dados os usuários podem acessar, usando tags controladas e políticas centralizadas.
- A filtragem e o mascaramento no nível da tabela controlam os dados que os usuários podem ver nas tabelas usando filtros e exibições específicos da tabela.
Esses modelos funcionam juntos para garantir um acesso seguro e refinado em todo o seu ambiente de dados.
Camada | Propósito | Mecanismos |
---|---|---|
restrições em nível de espaço de trabalho | Limitar o espaço de trabalho que pode acessar catálogos específicos, locais externos e credenciais de armazenamento | vinculações em nível de espaço de trabalho |
Privilégios e propriedade | Controle o acesso a catálogos, esquemas, tabelas e outros objetos | Concessões de privilégios a usuários e grupos, propriedade de objetos |
Políticas baseadas em atributos | Use tags e políticas para aplicar filtros e máscaras dinamicamente | Políticas do ABAC e tags controladas |
Filtragem e mascaramento em nível de tabela | Controle quais dados os usuários podem ver nas tabelas | Filtros de linha, máscaras de coluna, visualização dinâmica |
restrições em nível de espaço de trabalho
A vinculação de espaço de trabalho limita qual espaço de trabalho em seu site account pode acessar catálogos específicos, locais externos e credenciais de armazenamento . Esse controle de acesso ocorre no nível workspace e se aplica independentemente dos privilégios do usuário ou do grupo.
Em default, todos os catálogos, locais externos e credenciais de armazenamento em Unity Catalog são acessíveis a partir de qualquer workspace anexado ao mesmo metastore. Usando vinculações, você pode:
- Restringir o acesso a um ou mais espaços de trabalho designados
- Tornar o acesso ao catálogo somente leitura a partir de determinado espaço de trabalho
- Isolar ambientes, por exemplo, restringir os dados de produção ao espaço de trabalho de produção
- Limitar o uso de locais externos e credenciais de armazenamento a um espaço de trabalho específico
Essas vinculações substituem as permissões no nível do usuário. Se um usuário tiver privilégios em um objeto, mas tentar acessá-lo de um site não vinculado workspace, o acesso será negado.
Para obter mais informações, consulte Limitar o acesso do catálogo a um espaço de trabalho específico.
Privilégios e propriedade
O acesso no Unity Catalog é regido principalmente por privilégios e propriedade de objetos. Esse modelo define quem pode acessar ou gerenciar dados e metadados, atribuindo funções de administrador, concedendo privilégios e gerenciando a propriedade em objetos seguros. Esta seção descreve como os privilégios são concedidos, como funciona a propriedade e quais funções de administrador podem gerenciar o acesso em diferentes escopos.
Funções de administrador
O Unity Catalog oferece suporte a várias funções de administrador:
- administrador da conta : Pode criar metastores, gerenciar identidades, atribuir administradores de metastores e gerenciar recursos de nível account, como Delta Sharing e tabelas de sistema.
- Administrador do metastore : Uma função opcional, mas poderosa, que pode gerenciar todos os objetos no metastore, transferir a propriedade e atribuir privilégios de nível superior, como
CREATE CATALOG
,CREATE EXTERNAL LOCATION
e outros. - administrador do espaço de trabalho : gerenciar identidades, configurações de nível workspacee o catálogo workspace.
Para obter detalhes, consulte Privilégios de administrador no Unity Catalog.
Propriedade do objeto
Cada objeto seguro, como um catálogo, esquema ou tabela, no Unity Catalog tem um proprietário. A propriedade concede controle total sobre esse objeto, incluindo a capacidade de:
- Leia ou modifique o objeto e seus metadados
- Conceder privilégios a outros usuários
- Transferir a propriedade para outro diretor
O Unity Catalog também oferece suporte ao privilégio MANAGE
, que permite aos usuários conceder acesso e modificar objetos sem torná-los proprietários.
Para obter mais informações sobre propriedade, consulte gerenciar Unity Catalog propriedade de objetos.
Privilégios em objetos protegíveis
Em Unity Catalog, o controle de acesso começa com privilégios. O senhor atribui privilégios como SELECT
, MODIFY
e USE SCHEMA
a usuários e grupos em objetos protegíveis, como catálogos, esquemas, tabelas, visualizações, volumes e funções.
A aplicação de privilégios é:
- Hierárquico : as concessões em objetos de nível superior, como catálogos, são distribuídas em cascata para objetos de nível inferior, como tabelas.
- Delegável : Todo objeto tem um proprietário que pode gerenciá-lo e conceder acesso a outras pessoas.
- Explícito : o acesso só é permitido quando um usuário ou grupo recebe os privilégios apropriados. Um usuário recebe a união de permissões de todos os grupos dos quais é membro.
Os usuários podem solicitar acesso aos objetos que descobrirem, seja por meio do privilégio BROWSE
ou de um URL direto para o objeto, ou quando encontrarem um erro de permissão negada no Notebook ou no editor SQL. A Databricks recomenda conceder a permissão “ BROWSE
” nos catálogos ao grupo “ All account users
” para tornar os objetos detectáveis e permitir que os usuários solicitem acesso. As solicitações de acesso são enviadas para destinos configurados, como email, Slack, Microsoft Teams, endpoint de webhook ou uma URL de redirecionamento. Se nenhum destino estiver configurado, os usuários não poderão solicitar acesso ao objeto.
Para obter mais informações, consulte gerenciar privilégios em Unity Catalog e Unity Catalog privileges and securable objects.
Controle de acesso baseado em atributos (ABAC)
Beta
Esse recurso está na versão beta.
O ABAC é uma estrutura de política centralizada e baseada em tags para impor o controle de acesso no Unity Catalog. Ele permite que os administradores definam políticas escaláveis que se aplicam dinamicamente em catálogos, esquemas e tabelas com base em tags controladas. As políticas podem filtrar dados ou mascarar valores confidenciais. A Databricks recomenda o uso do ABAC para uma governança centralizada e dimensionável, em vez de aplicar filtros ou máscaras individualmente em cada tabela.
O ABAC foi projetado como uma estrutura de uso geral para aplicar políticas de controle de acesso com base em atributos de metadados. Ele complementa os controles baseados em privilégios e oferece suporte à fiscalização refinada sem exigir configuração por objeto.
recurso-chave:
- Políticas orientadas por tags: Defina políticas uma vez usando tags governadas e funções definidas pelo usuário (UDFs) e aplique-as de forma consistente em muitos ativos de dados.
- Aplicação hierárquica: aplique políticas no nível do catálogo, do esquema ou da tabela com herança automática de objetos secundários.
- Governança centralizada e dimensionável: gerencie o acesso em escala sem atribuir privilégios individuais a cada objeto.
- Avaliação dinâmica: As decisões de acesso são avaliadas em tempo real com base em tags e no contexto do usuário.
Para obter mais informações, consulte Unity Catalog attribute-based access control (ABAC).
Filtragem e mascaramento em nível de tabela
Esta seção aborda mecanismos que controlam quais dados os usuários podem ver no momento da consulta usando a lógica específica da tabela. Isso inclui:
- Filtros de linha e máscaras de coluna : aplique a lógica diretamente às tabelas.
- Visualização dinâmica : defina a lógica usando SQL em uma ou mais tabelas.
Essas abordagens podem ser usadas de forma independente ou em conjunto com o ABAC, dependendo do seu modelo de governança.
Filtros de linha e máscaras de coluna
Filtros de linha e máscaras de coluna aplicam a lógica de filtro ou máscara diretamente a tabelas individuais usando UDFs. Eles são úteis quando você deseja impor a lógica por tabela sem o gerenciamento centralizado de políticas.
Para saber mais, consulte Filtros de linha e máscaras de coluna.
Visualização dinâmica
A exibição dinâmica permite que o senhor defina a lógica em uma ou mais tabelas usando SQL. Eles são somente para leitura e são úteis para:
- Aplicar a lógica de transformações (por exemplo, junção e declarações
CASE
) - compartilhamento filtrado uso de dados Delta Sharing, onde o ABAC não é suportado.
Para obter detalhes, consulte Criar um site dinâmico view.
Quando usar cada mecanismo de controle de acesso
As vinculações de espaço de trabalho, os privilégios e as políticas ABAC avaliam o acesso em diferentes níveis e foram projetados para serem usados em conjunto. A tabela a seguir os compara com critérios comuns de controle de acesso:
Databricks recomenda o uso do ABAC para centralizar e escalonar o controle de acesso com base em tags governadas. Use filtros de linha e máscaras de coluna somente quando precisar de lógica por tabela ou ainda não tiver adotado o ABAC.
Mecanismo | Aplica-se a | Definido usando | Caso de uso |
---|---|---|---|
vinculações de espaço de trabalho | Catálogos, locais externos, credenciais de armazenamento | atribuição de espaço de trabalho | Restringir o acesso a objetos de um espaço de trabalho específico |
Privilégios | Catálogos, esquemas, tabelas | Subsídios ( | Acesso e delegação básicos |
Políticas do ABAC | Objetos marcados (tabelas, esquemas) | Políticas com tags e UDFs controladas | Políticas centralizadas e orientadas por tags e aplicação dinâmica |
Filtros de linha/coluna em nível de tabela | Mesas individuais | UDFs na própria tabela | Filtragem ou mascaramento específicos da tabela |
Visualização dinâmica | visualização de uma ou mais tabelas | SQL (com filtros ou máscaras incorporados) | Acesso somente de leitura, lógica complexa, Delta Sharing |