Ativar o controle de acesso Hive metastore da tabela em clusters (legado)
Este artigo descreve como habilitar o controle de acesso da tabela para o Hive metastore integrado em um clusters.
Para obter informações sobre como definir privilégios em objetos protegíveis Hive metastore após o controle de acesso da tabela ter sido ativado em clusters, consulte PrivilégiosHive metastore e objetos protegíveis (legados).
Observação
O access control da tabela Hive metastore é um modelo de governança de dados herdado. A Databricks recomenda que você use Unity Catalog em vez de sua simplicidade e modelo de governança centrado na conta. Você pode atualizar as tabelas gerenciadas pelo Hive metastore para o metastore Unity Catalog .
Ativar controle de acesso da tabela para clusters
o controle de acesso da tabela está disponível em duas versões:
Controle de acesso somente ao SQL da tabela, que restringe os usuários ao comando SQL.
Controle de acesso Python e SQL da tabela, que permite aos usuários executar comandos SQL, Python e PySpark.
o controle de acesso da tabela não é compatível com Machine Learning Runtime.
Importante
Mesmo se o controle de acesso da tabela estiver habilitado para clusters, os administradores workspace do Databricks terão acesso aos dados em nível de arquivo.
Controle de acesso somente SQL da tabela
Esta versão do controle de acesso da tabela restringe os usuários apenas a comandos SQL.
Para habilitar o controle de acesso somente SQL da tabela em um clusters e restringir que clusters usem apenas o comando SQL, defina o seguinte sinalizador no clusters Spark conf dos:
spark.databricks.acl.sqlOnly true
Observação
O acesso ao controle de acesso somente SQL da tabela não é afetado pela configuração Ativar controle de acesso da tabela na página de configurações do administrador. Essa configuração controla apenas a ativação em todo workspace do controle de acesso Python e SQL da tabela.
Controle de acesso Python e SQL da tabela
Esta versão do controle de acesso da tabela permite aos usuários executar comandos Python que usam a API DataFrame, bem como SQL. Quando ativado em clusters, os usuários desses clusters:
Pode acessar o Spark apenas usando a API Spark SQL ou a API DataFrame. Em ambos os casos, o acesso a tabelas e view é restrito por administradores de acordo com os Privilégios do Databricks que você pode conceder em objetos Hive metastore .
Deve executar seus comandos em nós clusters como um usuário de baixo privilégio proibido de acessar partes sensíveis do sistema de arquivos ou criar conexões de rede para 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 workspace ou usuários com privilégio ANY FILE podem ler dados de bancos de dados externos por meio do conector PySpark JDBC.
Se quiser que os processos Python possam acessar portas de saída adicionais, você pode definir a configuração do Spark
spark.databricks.pyspark.iptable.outbound.whitelisted.ports
para as portas às quais deseja permitir o acesso. O formato suportado 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 existem para que os usuários nunca possam acessar dados não privilegiados por meio dos clusters.
Habilite o controle de acesso da tabela para seu espaço de trabalho
Antes que os usuários possam configurar o controle de acesso Python e SQL da tabela, um workspace Databricks deve habilitar o controle de acesso da tabela para o workspace Databricks e negar aos usuários acesso a clusters que não estão habilitados para 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 controle de acesso da tabela
Para garantir que seus usuários acessem apenas os dados que você deseja, você deve restringir seus usuários a clusters 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 clusters. Se eles criarem clusters sem controle de acesso da tabela, eles poderão acessar quaisquer dados desses clusters.
Os usuários não têm permissão CAN ATTACH TO para nenhum cluster que não esteja habilitado para o controle de acesso da tabela.
Consulte Permissões de computação para obter mais informações.
Crie um clusters habilitado para controle de acesso da tabela
o controle de acesso da tabela está habilitado por default em clusters com modo de acesso compartilhado.
Para criar o cluster usando a API REST, consulte Criar novo cluster.
Definir privilégios em um objeto de dados
Consulte Privilégios do Hive metastore e objetos que podem ser protegidos (legado).