Compartilhar via


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 chamado my_job.
  • O usuário B configura my_job para ser executado com um princípio de serviço chamado prod_sp.
  • Quando my_job é executado, ele usa a identidade para que o usuário A execute my_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 identidade prod_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:

  1. Clique em Ícone de fluxos de trabalho Fluxos de trabalho na barra lateral.
  2. Na coluna Nome, clique no nome do trabalho.
  3. No painel lateral Detalhes do trabalho clique no ícone de lápis ao lado do campo Executar como.
  4. Procure e selecione um usuário ou entidade de serviço.
  5. Clique em Salvar.

Para saber mais sobre como trabalhar com entidades de serviço, consulte:

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:

  1. Clique em Ícone de fluxos de trabalho Fluxos de trabalho na barra lateral.
  2. Na coluna Nome, clique no nome do trabalho.
  3. No painel Detalhes do trabalho, clique em Editar permissões. A caixa de diálogo Configurações de permissão é exibida.
  4. 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.
  5. Clique em Adicionar.
  6. 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.