Compartilhar via


Controle de acesso no Catálogo do Unity

Esta página tem uma visão geral do controle de acesso no Catálogo do Unity, incluindo privilégios, políticas e controles no nível de dados.

Camadas de controle de acesso

O controle de acesso no Catálogo do Unity baseia-se nos seguintes modelos complementares:

  • As restrições no nível do workspace controlam onde os usuários podem acessar dados, limitando objetos a workspaces específicos.
  • Privilégios e controle de propriedadequem pode acessar o quê, usando concessões em objetos protegíveis.
  • As ABAC (políticas baseadas em atributo) controlam quais dados os usuários podem acessar, usando marcas governadas e políticas centralizadas.
  • A filtragem e mascaramento em nível de tabela controlamo que os usuários podem ver em tabelas por meio de filtros e visões específicos da tabela.

Esses modelos trabalham juntos para impor acesso seguro e refinado em seu ambiente de dados.

Camada Propósito Mecanismos
Restrições em nível de espaço de trabalho Limitar quais espaços de trabalho podem acessar catálogos específicos, locais externos e credenciais de armazenamento Associações no nível do workspace
Privilégios e propriedade Controlar o acesso a catálogos, esquemas, tabelas e outros objetos Concessões de privilégios a usuários e grupos, propriedade do objeto
Políticas baseadas em atributo Usar marcas e políticas para aplicar dinamicamente filtros e máscaras Políticas ABAC e etiquetas governadas
Filtragem e mascaramento no nível da tabela Controlar quais dados os usuários podem ver em tabelas Filtros de linha, máscaras de coluna, exibições dinâmicas

Restrições em nível de espaço de trabalho

A associação de workspaces limita quais workspaces em sua conta podem acessar catálogos específicos, locais externos e credenciais de armazenamento. Esse controle de acesso ocorre no nível do workspace e se aplica independentemente dos privilégios de usuário ou grupo.

Por padrão, todos os catálogos, locais externos e credenciais de armazenamento no Catálogo do Unity são acessíveis em qualquer workspace anexado ao mesmo metastore. Usando vinculações, você pode:

  • Restringir o acesso a um ou mais workspaces designados
  • Tornar o acesso ao catálogo somente leitura em determinados espaços de trabalho
  • Isolar ambientes, por exemplo, restringir os dados de produção aos espaços de trabalho de produção
  • Limitar o uso de locais externos e credenciais de armazenamento a espaços de trabalho específicos

Essas associações substituem permissões no nível do usuário. Se um usuário tiver privilégios em um objeto, mas tentar acessá-lo de um workspace não vinculado, o acesso será negado.

Para obter mais informações, consulte Limitar o acesso ao catálogo a workspaces específicos.

Privilégios e propriedade

O Acesso no Catálogo do Unity é regido principalmente por privilégios e propriedade do objeto. Esse modelo define quem pode acessar ou gerenciar dados e metadados atribuindo funções de administrador e concedendo privilégios e gerenciando a propriedade entre objetos protegíveis. Esta seção descreve como os privilégios são concedidos, como a propriedade funciona e quais funções de administrador podem gerenciar o acesso em diferentes escopos.

Funções de administrador

O Catálogo do Unity dá suporte a várias funções de administrador:

  • Administrador da conta: pode criar metastores, gerenciar identidades, atribuir administradores metastore e gerenciar recursos no nível da conta, como Compartilhamento Delta e tabelas do sistema.
  • Administrador 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 LOCATIONe muito mais.
  • Administrador do workspace: gerencia identidades, configurações no nível do workspace e o catálogo do workspace.

Para obter detalhes, consulte privilégios de administrador no Catálogo do Unity.

Propriedade do objeto

Cada objeto protegível, como um catálogo, esquema ou tabela, no Catálogo do Unity tem um proprietário. A propriedade concede controle total sobre esse objeto, incluindo a capacidade de:

  • Ler ou modificar o objeto e seus metadados
  • Conceder privilégios a outros usuários
  • Transferir a propriedade para outro principal

O Catálogo do Unity também dá suporte a um MANAGE privilégio, que permite que os usuários concedam acesso e modifiquem objetos sem torná-los o proprietário.

Para obter mais informações sobre a propriedade, consulte Gerenciar a propriedade de objeto do Catálogo do Unity.

Privilégios em objetos protegíveis

No Catálogo do Unity, o controle de acesso começa com privilégios. Você atribui privilégios como SELECT, MODIFYe USE SCHEMA a usuários e grupos em objetos protegíveis, como catálogos, esquemas, tabelas, exibições, volumes e funções.

A aplicação do privilégio é:

  • Hierárquico: concessões em objetos de nível mais alto, como catálogos, são aplicadas em cascata a objetos de nível mais baixo, como tabelas.
  • Delegavel: cada 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 podem descobrir, por meio do BROWSE privilégio ou de uma URL direta para o objeto, ou quando encontram um erro de permissão negado em notebooks ou no editor do SQL. O Databricks recomenda a concessão BROWSE em catálogos ao grupo para All account users 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, pontos de extremidade 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 no Catálogo do Unity e privilégios do Catálogo do Unity e objetos protegíveis.

Cache de permissão para acesso baseado em caminho

Para melhorar o desempenho do acesso baseado em caminho ao armazenamento em nuvem, o Catálogo do Unity pode armazenar em cache os resultados da verificação de permissões por até 60 segundos por usuário e caminho. Esse cache se aplica a:

  • Operações do sistema de arquivos usando dbutils.fs comandos
  • Consultas baseadas em caminho usando o SPARK SQL

Devido a esse comportamento de cache, a concessão ou revogação de uma permissão pode não ser refletida imediatamente. Esse comportamento afeta apenas o acesso baseado em caminho. O acesso baseado em nome (por exemplo, SELECT * FROM catalog.schema.table) não é afetado por esse cache.

ABAC (controle de acesso baseado em atributo)

Importante

Esse recurso está em Visualização Pública.

O ABAC é uma estrutura de política centralizada baseada em etiqueta para impor o controle de acesso no Catálogo do Unity. Ele permite que os administradores definam políticas escalonáveis que se aplicam dinamicamente em catálogos, esquemas e tabelas com base em marcas governadas. As políticas podem filtrar dados ou mascarar valores confidenciais. O Databricks recomenda o uso do ABAC para governança centralizada e escaloná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 controles baseados em privilégios e dá suporte à imposição refinada sem a necessidade de configuração por objeto.

Principais recursos:

  • Políticas controladas por marcas: Defina políticas uma vez usando marcas governadas e UDFs (funções definidas pelo usuário) e aplique-as consistentemente em muitos ativos de dados.
  • Imposição hierárquica: aplique políticas no nível do catálogo, do esquema ou da tabela com herança automática para objetos filhos.
  • Governança centralizada e escalonável: Gerenciar o acesso em escala sem atribuir privilégios individuais em cada objeto.
  • Avaliação dinâmica: As decisões de acesso são avaliadas em tempo real com base em marcas e no contexto do usuário.

Para obter mais informações, consulte controle de acesso baseado em atributos (ABAC) do Unity Catalog.

Filtragem e mascaramento no nível da tabela

Esta seção aborda mecanismos que controlam quais dados os usuários podem ver em tempo de consulta usando a lógica específica da tabela. Elas incluem:

  • Filtros de linha e máscaras de coluna: aplique a lógica diretamente às tabelas.
  • Exibições dinâmicas: defina a lógica usando SQL em uma ou mais tabelas.

Essas abordagens podem ser usadas independentemente ou ao lado do ABAC, dependendo do seu modelo de governança.

Filtros de linha e máscaras de coluna

Os filtros de linha e as máscaras de coluna aplicam a lógica de filtro ou máscara diretamente a tabelas individuais usando UDFs. Elas são úteis quando você deseja impor a lógica por tabela sem o gerenciamento centralizado de políticas.

Para mais, consulte Filtros de linha e máscaras de coluna.

Exibições dinâmicas

As exibições dinâmicas permitem definir a lógica em uma ou mais tabelas usando o SQL. Elas são de leitura apenas e são úteis para:

  • Aplicando lógica de transformação (por exemplo, junções e instruções CASE)
  • Compartilhamento de dados filtrados usando o Compartilhamento Delta, em que o ABAC não tem suporte.

Para obter detalhes, consulte Criar uma exibição dinâmica.

Quando usar cada mecanismo de controle de acesso

Os vínculos 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 compara-as entre critérios comuns de controle de acesso:

Observação

O Databricks recomenda o uso do ABAC para centralizar e dimensionar o controle de acesso com base em marcas governadas. Use filtros de linha e máscaras de coluna somente quando você precisar de lógica específica por tabela ou ainda não tenha 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 Restringindo o acesso a objetos de ambientes de trabalho específicos
Privilégios Catálogos, esquemas, tabelas Concessões (GRANT, REVOKE), propriedade Acesso e delegação de linha de base
Políticas de Controle de Acesso Baseado em Atributos (ABAC) Objetos marcados (tabelas, esquemas) Políticas com marcas governadas e UDFs Políticas centralizadas, controladas por etiquetas e aplicação dinâmica
Filtros de linha/coluna no nível da tabela Tabelas individuais UDFs na própria tabela Filtragem ou mascaramento específicos da tabela
Exibições dinâmicas Exibições em uma ou mais tabelas SQL (com filtros ou máscaras inseridas) Acesso somente leitura, lógica complexa, Delta Sharing