Gerenciar identidades, permissões e privilégios para trabalhos do Databricks
Este artigo contém recomendações e instruções para gerenciar identidades, permissões e privilégios para trabalhos do Databricks.
Observação
Os segredos não são ocultados nos logs do driver do Spark de um cluster nos fluxos stdout
e stderr
. Para proteger dados confidenciais, por padrão, os logs do driver Spark só podem ser visualizados por usuários com a permissão PODE GERENCIAR em clusters de trabalho, de modo de acesso de usuário único e de modo de acesso compartilhado. Para permitir que usuários com a permissão PODE ANEXAR A ou PODE REINICIAR visualizem os logs nesses clusters, defina a seguinte propriedade de configuração do Spark na configuração do cluster: spark.databricks.acl.needAdminPermissionToViewLogs false
.
Em clusters do modo de acesso compartilhado sem isolamento, os logs do driver Spark podem ser visualizados por usuários com a permissão PODE ANEXAR A ou PODE GERENCIAR. Para limitar quem pode ler os logs apenas aos usuários com a permissão PODE GERENCIAR, defina spark.databricks.acl.needAdminPermissionToViewLogs
como true
.
Consulte a Configuração do Spark para saber como adicionar propriedades do Spark a uma configuração do cluster.
Privilégios padrão para trabalhos
Trabalhos têm os seguintes privilégios definidos por padrão:
- O criador do trabalho recebe a permissão É PROPRIETÁRIO.
- Os administradores recebem a permissão PODE GERENCIAR por padrão.
- O criador do trabalho é definido para Executar como.
Permissões de administrador para trabalhos
Por padrão, os administradores do workspace podem alterar um proprietário ou a configuração Executar como do trabalho para qualquer usuário ou entidade de serviço em seu workspace. Os administradores de conta podem definir a configuração RestrictWorkspaceAdmins
para alterar esse comportamento. Confira Restringir administradores do workspace.
Como os trabalhos interagem com as permissões do Catálogo do Unity?
Trabalhos são executados como a identidade do usuário na configuração Executar como. Essa identidade é avaliada em relação às concessões de permissão para o seguinte:
- Ativos gerenciados pelo Catálogo do Unity, incluindo tabelas, volumes, modelos e exibições.
- Listas de controle de acesso (ACLs) de tabela herdada para ativos registrados no metastore do Hive herdado.
- ACLs para computação, notebooks, consultas e outros ativos de workspace.
- Segredos do Databricks. Confira Gerenciamento de segredos.
Observação
As concessões do Catálogo do Unity e as ACLs de tabela herdadas exigem modos de acesso de computação compatíveis. Confira Configurar computação para trabalhos.
Tarefas e permissões do SQL
A tarefa de arquivo é o único tipo de tarefa SQL que respeita totalmente a identidade Executar como.
Consultas SQL, alertas e tarefas de dashboard herdadas respeitam as configurações de compartilhamento definidas.
- Executar como proprietário: as execuções da tarefa SQL agendada sempre usam a identidade do proprietário do ativo SQL configurado.
- Executar como visualizador: as execuções da tarefa SQL agendada sempre usam a identidade definida no campo Executar como do trabalho.
Para saber mais sobre as configurações de compartilhamento de consultas, veja Configurar permissões de consulta.
Exemplo
O cenário a seguir ilustra a interação das configurações de compartilhamento SQL e a configuração Executar como do trabalho:
- O usuário A é o proprietário da consulta SQL chamada
my_query
. - O usuário A configura
my_query
com a configuração de compartilhamento Executar como proprietário. - O usuário B agenda
my_query
como uma tarefa em um trabalho chamadomy_job
. - O usuário B configura
my_job
para ser executado com um princípio de serviço chamadoprod_sp
. - Quando
my_job
é executado, ele usa a identidade para que o usuário A executemy_query
.
Agora suponha que o usuário B não queira esse comportamento. A partir da configuração existente, ocorre o seguinte:
- O usuário A altera a configuração de compartilhamento para
my_query
para Executar como visualizador. - Quando
my_job
é executado, ele usa a identidadeprod_sp
.
Configurar identidade para execuções de trabalho
Para alterar a configuração Executar como, é necessário ter a permissão PODE GERENCIAR ou É PROPRIETÁRIO no trabalho.
Você pode definir a configuração Executar como para si mesmo ou para qualquer entidade de serviço no workspace no qual você tem a função de Usuário da entidade de serviço.
Para definir a configuração Executar como para um trabalho na interface do usuário do workspace, selecione um trabalho existente usando as seguintes etapas:
- Clique em Fluxos de trabalho na barra lateral.
- Na coluna Nome, clique no nome do trabalho.
- No painel lateral Detalhes do trabalho clique no ícone de lápis ao lado do campo Executar como.
- Procure e selecione um usuário ou entidade de serviço.
- Clique em Salvar.
Para saber mais sobre como trabalhar com entidades de serviço, consulte:
- Gerenciar entidades de serviço
- Funções para gerenciar entidades de serviço
- Listar as entidades de serviço que você pode usar.
Melhores práticas de governança de trabalhos
O Databricks recomenda o seguinte para todos os trabalhos de produção:
Atribuir propriedade do trabalho a uma entidade de serviço
Se o usuário proprietário de um trabalho sair da sua organização, o trabalho poderá falhar. Use entidades de serviço para tornar os trabalhos robustos quanto a rotatividade de funcionários.
Por padrão, os administradores do workspace podem gerenciar permissões de trabalho e reatribuir a propriedade, se necessário.
Executar trabalhos usando uma entidade de serviço
Os trabalhos são executados usando os privilégios do proprietário do trabalho por padrão. Se você atribuir a propriedade a uma entidade de serviço, as execuções de trabalho usarão as permissões da entidade de serviço.
O uso de entidades de serviço para trabalhos de produção permite restringir as permissões de gravação nos dados de produção. Se você executar trabalhos usando as permissões de um usuário, esse usuário precisará das mesmas permissões para editar os dados de produção exigidos pelo trabalho.
Sempre use configurações de computação compatíveis com o Catálogo do Unity
A governança de dados do Catálogo do Unity requer que você use uma configuração de computação compatível.
A computação sem servidor para trabalhos e warehouses SQL sempre usa o Catálogo do Unity.
Para trabalhos com computação clássica, o Databricks recomenda o modo de acesso compartilhado para cargas de trabalho com suporte. Use o modo de acesso de usuário único quando necessário.
Pipelines do Delta Live Tables configurados com o Catálogo do Unity têm algumas limitações. Confira Limitações.
Restringir permissões em trabalhos de produção
Os usuários que acionam, interrompem ou reiniciam execuções de trabalho precisam da permissão Pode gerenciar execução.
Os usuários que visualizam a configuração do trabalho ou monitoram as execuções precisam da permissão Pode Visualizar.
Conceda privilégios Pode gerenciar ou É proprietário apenas para usuários confiáveis para modificar o código de produção.
Controlar o acesso a um arquivo
O controle de acesso ao trabalho permite que os proprietários e administradores do trabalho concedam permissões granulares em trabalhos. As permissões a seguir estão disponíveis:
Observação
Cada permissão inclui as concessões de permissões abaixo dela na tabela a seguir.
Permissão | Conceder |
---|---|
É proprietário | A identidade usada para Executar como por padrão. |
Pode gerenciar | Os usuários podem editar a definição de trabalho, incluindo permissões. Os usuários podem pausar e retomar um agendamento. |
Pode gerenciar a execução | Os usuários podem acionar e cancelar execuções de trabalho. |
Pode exibir | Os usuários podem exibir os resultados da execução do trabalho. |
Para obter informações sobre níveis de permissão de trabalho, veja ACLs de trabalho.
Configurar permissões de trabalho
Para definir as permissões para um trabalho na interface do usuário do workspace, selecione um trabalho existente usando as seguintes etapas:
- Clique em Fluxos de trabalho na barra lateral.
- Na coluna Nome, clique no nome do trabalho.
- No painel Detalhes do trabalho, clique em Editar permissões. A caixa de diálogo Configurações de permissão é exibida.
- Clique no campo Selecionar Usuário, Grupo ou Entidade de Serviço... e comece a digitar um usuário, grupo ou entidade de serviço. O campo pesquisa todas as identidades disponíveis no espaço de trabalho.
- Clique em Adicionar.
- Clique em Save (Salvar).
Gerenciar o proprietário do trabalho
Somente administradores do espaço de trabalho podem editar o proprietário do trabalho. Deve ser atribuído exatamente um proprietário de trabalho. Os proprietários do trabalho podem ser usuários ou entidades de serviço.