Habilite o controle de acesso Hive metastore da tabela em um clustering (legado)
Este artigo descreve como habilitar o controle de acesso da tabela para a integração Hive metastore em um cluster.
Para obter informações sobre como definir privilégios em Hive metastore objetos protegíveis depois que o controle de acesso da tabela tiver sido ativado em um clustering, consulte Hive metastore privileges and securable objects (legacy).
Hive metastore O controle de acesso da tabela é um modelo legado de governança de dados. Databricks recomenda que o senhor use o site Unity Catalog por sua simplicidade e pelo modelo de governança centrado no account. O senhor pode atualizar as tabelas gerenciadas pelo Hive metastore para o metastore Unity Catalog.
Habilitar o controle de acesso da tabela para um clustering
O controle de acesso da tabela está disponível em duas versões:
- SQLControle de acesso somente da tabela, que restringe os usuários a SQL comando.
- Python e SQL controle de acesso da tabela, que permite que os usuários executem os comandos SQL, Python e PySpark.
O controle de acesso da tabela não é compatível com o Machine Learning Runtime.
Mesmo que o controle de acesso da tabela esteja ativado para um clustering, os administradores do Databricks workspace têm acesso aos dados no nível do arquivo.
Controle de acesso somente ao SQL da tabela
Esta versão do controle de acesso da tabela restringe os usuários apenas ao SQL comando.
Para ativar o controle de acesso SQL-only da tabela em um cluster e restringir esse cluster a usar somente o comando SQL, defina o seguinte sinalizador no confSpark do cluster:
spark.databricks.acl.sqlOnly true
O acesso ao controle de acesso da tabela somente para SQL não é afetado pela configuração Habilitar controle de acesso da tabela na página de configurações do administrador. Essa configuração controla apenas a ativação em todo o site workspacedo controle de acesso à tabela Python e SQL.
Python e controle de acesso da tabela SQL
Esta versão do controle de acesso da tabela permite que os usuários executem o comando Python que usa o DataFrame API e também o SQL. Quando está ativado em um cluster, os usuários desse cluster:
- Pode acessar o Spark apenas usando a API Spark SQL ou a API DataFrame. Em ambos os casos, o acesso a tabelas e visualizações é restrito pelos administradores de acordo com os Databricks privilégios que o Hive metastore senhor pode conceder aos objetos.
- Deve executar seu comando em nós de clustering como um usuário de baixo privilégio, proibido de acessar partes confidenciais do sistema de arquivos ou de criar conexões de rede com portas diferentes de 80 e 443.
- Somente as funções integradas do Spark podem criar conexões de rede em portas diferentes de 80 e 443.
- Somente usuários administradores do workspace ou usuários com privilégio ANY FILE podem ler dados de bancos de dados externos por meio do conectorPySpark JDBC.
- Se quiser que os processos Python possam acessar portas de saída adicionais, defina a configuração do Spark
spark.databricks.pyspark.iptable.outbound.whitelisted.ports
para as portas que deseja permitir o acesso. O formato suportado do valor da 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 clustering.
Habilite o controle de acesso da tabela para o seu workspace
Antes que os usuários possam configurar o controle de acesso da tabela Python e SQL, um administrador do Databricks workspace deve habilitar o controle de acesso da tabela para o Databricks workspace e negar o acesso dos usuários ao clustering que não esteja habilitado para o controle de acesso da tabela.
- Vá para a página de configurações.
- Clique em Security tab.
- Ative a opção de controle de acesso à tabela .
Aplicar o controle de acesso da tabela
Para garantir que os usuários acessem apenas os dados que o senhor deseja, é preciso restringir os usuários ao clustering com o controle de acesso da tabela ativado. Em particular, você deve garantir que:
- Os usuários não têm permissão para criar clustering. Se eles criarem um clustering sem controle de acesso à tabela, poderão acessar qualquer dado desse clustering.
- Os usuários não têm permissão CAN ATTACH TO para qualquer clustering que não esteja habilitado para o controle de acesso da tabela.
Consulte as permissões de computação para obter mais informações.
Criar um cluster habilitado para controle de acesso da tabela
O controle de acesso da tabela é ativado por default em clustering com o modo de acesso Standard.
Para criar o clustering usando o site REST API, consulte Criar novo clustering.
Definir privilégios em um objeto de dados
Consulte Hive metastore privileges and securable objects (legacy).