Compartilhar via


Habilitar o controle de acesso à tabela do metastore do Hive em um cluster (herdado)

Este artigo descreve como habilitar o controle de acesso à tabela do metastore do Hive interno em um cluster.

Para obter informações sobre como definir privilégios em objetos protegíveis do metastore do Hive após o controle de acesso à tabela ter sido habilitado em um cluster, consulte Privilégios do metastore e objetos protegíveis do Hive (herdado).

Observação

O controle de acesso à tabela no metastore do Hive é um modelo de governança de dados herdado. O Databricks recomenda que você use o Catálogo do Unity por sua simplicidade e modelo de governança centrado na conta. Você pode atualizar as tabelas gerenciadas pelo metastore do Hive para a metastore do Catálogo do Unity.

Habilitar o controle de acesso à tabela para um cluster

O controle de acesso à tabela está disponível em duas versões:

Não há suporte ao controle de acesso à tabela no Machine Learning Runtime.

Importante

Mesmo que o controle de acesso à tabela esteja habilitado para um cluster, os administradores do workspace do Azure Databricks têm acesso aos dados em nível de arquivo.

Controlar o acesso à tabela somente SQL

Esta versão do controle de acesso à tabela restringe os usuários a apenas comandos do SQL.

Para habilitar o controle de acesso à tabela somente do SQL em um cluster e restringir esse cluster para usar apenas comandos do SQL, defina o seguinte sinalizador nas configurações do Spark do cluster:

spark.databricks.acl.sqlOnly true

Observação

O acesso ao controle de acesso à tabela somente SQL não é afetado pela configuração Habilitar Controle de Acesso à Tabela na página de configurações do administrador. Essa configuração controla somente a habilitação em todo o workspace do controle de acesso à tabela do SQL e do Python.

Controlar o acesso a tabelas do Python e do SQL

Essa versão do controle de acesso à tabela permite que os usuários executem comandos do Python que usam a API do DataFrame e do SQL. Quando ela está habilitada em um cluster, os usuários nesse cluster:

  • Podem acessar o Spark somente usando a API de SQL do Spark ou a API do DataFrame. Em ambos os casos, o acesso a tabelas e exibições é restrito pelos administradores de acordo com os Privilégios do Azure Databricks que você pode conceder aos objetos do metastore do Hive.
  • Devem executar seus comandos em nós de cluster como um usuário de baixo privilégio proibido de acessar partes confidenciais do sistema de arquivos ou criar conexões de rede para portas diferentes de 80 e 443.
    • Somente as funções do Spark internas podem criar conexões de rede em portas diferentes de 80 e 443.
    • Somente usuários administradores ou usuários do workspace com privilégio QUALQUER ARQUIVO podem ler dados de bancos de dados externos por meio do conector JDBC do PySpark.
    • Se você quiser que os processos do Python sejam capazes de acessar portas de saída adicionais, poderá definir a configuração do Sparkspark.databricks.pyspark.iptable.outbound.whitelisted.ports para as portas que deseja permitir o acesso. O formato com suporte do valor de configuração é [port[:port][,port[:port]]...], por exemplo: 21,22,9000:9999. A porta deve estar dentro do intervalo válido, ou seja, 0-65535.

As tentativas de contornar essas restrições falharão com uma exceção. Essas restrições estão em vigor para que os usuários nunca possam acessar dados sem privilégios por meio do cluster.

Habilitar o controle de acesso à tabela para o seu espaço de trabalho

Antes que os usuários possam configurar o controle de acesso à tabela do Python e do SQL, um workspace do Azure Databricks deve habilitar o controle de acesso à tabela para o workspace do Azure Databricks e negar aos usuários o acesso a clusters que não estão habilitados para o controle de acesso à tabela.

  1. Vá para a página de configurações.
  2. Clique na guia Segurança .
  3. Ative a opção Controle de Acesso à Tabela.

Impor controle de acesso à tabela

Para garantir que os usuários acessem apenas os dados que você deseja, você deve restringir os usuários aos clusters com o controle de acesso à tabela habilitado. Especificamente, você deve garantir que:

  • Os usuários não têm permissão para criar clusters. Se eles criarem um cluster sem controle de acesso de tabela, eles poderão acessar quaisquer dados desse cluster.
  • Os usuários não têm a permissão PODE ANEXAR A para qualquer cluster que não esteja habilitado para o controle de acesso à tabela.

Consulte as Permissões de computação para obter mais informações.

Criar um cluster habilitado para o controle de acesso à tabela

O controle de acesso à tabela é habilitado por padrão em clusters com o modo de acesso compartilhado.

Para criar o cluster usando a API REST, confira Criar novo cluster.

Definir privilégios em um objeto de dados

Consulte Privilégios do metastore do Hive e objetos protegidos (herdados).