Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve como ativar o controlo de acesso a tabelas para o metastore incorporado do Hive num cluster.
Para obter informações sobre como definir privilégios em objetos passíveis de proteção do metastore do Hive após o controlo de acesso a tabelas ter sido ativado num cluster, consulte Privilégios e objetos passíveis de proteção do metastore do Hive (legado).
Note
O controle de acesso à tabela de metastore do Hive é um modelo de governança de dados herdado. O Databricks recomenda a utilização do Unity Catalog pela sua simplicidade e modelo de gestão centrado na conta. Pode atualizar as tabelas geridas pelo metastore do Hive para o metastore do Unity Catalog.
Habilitar o controle de acesso à tabela para um cluster
O controle de acesso à tabela está disponível em duas versões:
- Controlo de acesso à tabela apenas por SQL, que restringe os utilizadores a comandos SQL.
- Controle de acesso à tabela Python e SQL, que permite aos usuários executar comandos SQL, Python e PySpark.
O controle de acesso à tabela não é suportado com o Machine Learning Runtime.
Importante
Mesmo que o controle de acesso à tabela esteja habilitado para um cluster, os administradores do espaço de trabalho do Azure Databricks terão acesso aos dados no nível do arquivo.
Controlo de acesso a tabelas exclusivamente por SQL
Esta versão do controle de acesso à tabela restringe os usuários apenas aos comandos SQL.
Para ativar o controlo de acesso de tabela somente SQL num cluster e restringir esse cluster a utilizar apenas comandos SQL, configure o seguinte parâmetro na configuração do Spark do cluster:
spark.databricks.acl.sqlOnly true
Note
O acesso ao controlo de acesso à tabela apenas por SQL não é afetado pela opção Ativar Controlo de Acesso à Tabela na página de definições de administração. Essa configuração controla apenas a habilitação em todo o espaço de trabalho do controle de acesso à tabela Python e SQL.
Controle de acesso à tabela Python e SQL
Esta versão do controle de acesso à tabela permite que os usuários executem comandos Python que usam a API DataFrame, bem como SQL. Quando ele é habilitado em um cluster, os usuários nesse cluster:
- Pode acessar o Spark somente usando a API SQL do Spark ou a API 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 em objetos de metastore do Hive.
- Têm de executar os seus comandos em nós do cluster como um utilizador com poucos privilégios, impedido de aceder a partes sensíveis do sistema de ficheiros ou de criar ligações de rede a portas que não sejam 80 e 443.
- Apenas as funções Spark incorporadas podem criar ligações de rede em portas diferentes da 80 e 443.
- Somente usuários administradores do espaço de trabalho ou usuários com privilégio ANY FILE podem ler dados de bancos de dados externos por meio do conector JDBC PySpark.
- Se quiser que os processos Python possam acessar portas de saída adicionais, você pode definir a configuraçãoSpark para as portas que 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 fracassarã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.
Ativar o controlo de acesso às tabelas para o seu espaço de trabalho
Antes que os usuários possam configurar o controle de acesso à tabela Python e SQL, um administrador do espaço de trabalho do Azure Databricks deve habilitar o controle de acesso à tabela para o espaço de trabalho do Azure Databricks e negar aos usuários acesso a clusters que não estão habilitados para controle de acesso à tabela.
- Vá para a página de configurações.
- Clique na guia Segurança .
- Ative a opção Controlo de Acesso à Tabela.
Aplicar controlo de acesso à tabela
Para garantir que os usuários acessem apenas os dados desejados, você deve restringir os usuários a clusters com o controle de acesso à tabela habilitado. Em particular, deve assegurar que:
- Os usuários não têm permissão para criar clusters. Se eles criarem um cluster sem controle de acesso à tabela, eles poderão acessar quaisquer dados desse cluster.
- Os utilizadores não têm a permissão CAN ATTACH TO em nenhum cluster que não tenha o controlo de acesso a tabelas ativado.
Consulte Permissões de computação para obter mais informações.
Criar um cluster habilitado para controle de acesso à tabela
O controle de acesso à tabela é habilitado por padrão em clusters com o modo de acesso Padrão.
Para criar o cluster usando a API REST, consulte Criar novo cluster.
Definir privilégios num objeto de dados
Consulte Privilégios de metastore do Hive e objetos securitizáveis (legado).