Partilhar 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.

Nota

Os segredos não são editados do log stdout stderr e dos fluxos do driver Spark de um cluster. Para proteger dados confidenciais, por padrão, os logs de driver do Spark são visíveis apenas por usuários com permissão CAN MANAGE no trabalho, modo de acesso de usuário único e clusters de modo de acesso compartilhado. Para permitir que os usuários com permissão CAN ATTACH TO ou CAN RESTART 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 partilhado sem isolamento, os registos do do controlador do Spark podem ser visualizados por utilizadores com as permissões CAN ATTACH TO ou CAN MANAGE. Para limitar quem pode ler os logs apenas aos usuários com a permissão CAN MANAGE, defina spark.databricks.acl.needAdminPermissionToViewLogs como true.

Consulte Configuração do Spark para saber como adicionar propriedades do Spark a uma configuração de cluster.

Privilégios padrão para trabalhos

Os trabalhos têm os seguintes privilégios definidos por padrão:

  • O criador do trabalho recebe a permissão IS OWNER.
  • Os administradores do espaço de trabalho recebem a permissão CAN MANAGE.
  • O criador do trabalho está definido para Executar como.

Permissões de administrador para trabalhos

Por padrão, os administradores do espaço de trabalho podem alterar o proprietário do trabalho ou Executar como configuração para qualquer usuário ou entidade de serviço no espaço de trabalho. Os administradores de conta podem definir a RestrictWorkspaceAdmins configuração para alterar esse comportamento. Consulte Restringir administradores de espaço de trabalho.

Como os trabalhos interagem com as permissões do Catálogo Unity?

Os 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 Unity Catalog, incluindo tabelas, volumes, modelos e exibições.
  • ACLs (listas de controle de acesso) de tabela herdada para ativos registrados no metastore herdado do Hive.
  • ACLs para computação, blocos de anotações, consultas e outros ativos de espaço de trabalho.
  • Segredos do Databricks. Consulte Gestão secreta.

Nota

As concessões do Unity Catalog e as ACLs de tabela herdadas exigem modos de acesso de computação compatíveis. Consulte Configurar computação para trabalhos.

Tarefas e permissões SQL

A tarefa de arquivo é o único tipo de tarefa SQL que respeita totalmente a identidade Executar como .

Consultas SQL, alertas e tarefas de painel herdadas respeitam as configurações de compartilhamento configuradas.

  • 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 o conjunto de identidades no campo Executar como trabalho.

Para saber mais sobre as configurações de compartilhamento de consulta, consulte 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 :

  • 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 do usuário A para executar my_query.

Agora suponha que o usuário B não quer esse comportamento. A partir da configuração existente, ocorre o seguinte:

  • O usuário A altera a configuração de compartilhamento para my_query Executar como visualizador.
  • Quando my_job executado, ele usa o identificador prod_sp.

Configurar identidade para execuções de trabalho

Para alterar a configuração Executar como , você deve ter a permissão CAN MANAGE ou IS OWNER no trabalho.

Você pode definir a configuração Executar como para si mesmo ou para qualquer entidade de serviço no espaço de trabalho no qual você tem o direito de Usuário da Entidade de Serviço.

Para definir a configuração Executar como para um trabalho na interface do usuário do espaço de trabalho, selecione um trabalho existente usando as seguintes etapas:

  1. Clique em Ícone 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. Pesquise e selecione um usuário ou entidade de serviço.
  5. Clique em Guardar.

Para obter mais informações sobre como trabalhar com entidades de serviço, consulte o seguinte:

Melhores práticas para a governação do emprego

A Databricks recomenda o seguinte para todos os trabalhos de produção:

  • Atribuir a 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 para a rotatividade de funcionários.

    Por padrão, os administradores do espaço de trabalho podem gerenciar permissões de trabalho e reatribuir a propriedade, se necessário.

  • Executar trabalhos de produção 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 em 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.

  • Use sempre configurações de computação compatíveis com o Unity Catalog:

    A governança de dados do Unity Catalog requer que você use uma configuração de computação suportada.

    A computação sem servidor para trabalhos e armazéns SQL sempre usa o Unity Catalog.

    Para trabalhos com computação clássica, o Databricks recomenda o modo de acesso compartilhado para cargas de trabalho suportadas. Use o modo de acesso de usuário único quando necessário.

    Os pipelines Delta Live Tables configurados com o Unity Catalog têm algumas limitações. Consulte Limitações.

  • Restringir permissões em trabalhos de produção

    Os usuários que acionam, param ou reiniciam execuções de tarefas 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 Exibir .

    Conceda apenas privilégios de Pode Gerenciar ou É Proprietário a usuários confiáveis para modificar o código de produção.

Controlar o acesso a um trabalho

O controle de acesso a trabalhos permite que proprietários e administradores concedam permissões refinadas em trabalhos. As seguintes permissões estão disponíveis:

Nota

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 Gerir Os usuários podem editar a definição de trabalho, incluindo permissões. Os usuários podem pausar e retomar uma agenda.
Pode gerenciar a execução Os usuários podem acionar e cancelar execuções de trabalho.
Pode ver Os usuários podem exibir os resultados da execução do trabalho.

Para obter informações sobre níveis de permissão de trabalho, consulte ACLs de trabalho.

Configurar permissões de trabalho

Para configurar permissões para um trabalho na interface do usuário do espaço de trabalho, selecione um trabalho existente usando as seguintes etapas:

  1. Clique em Ícone 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 Guardar.

Gerenciar o proprietário do trabalho

Somente os administradores do espaço de trabalho podem editar o proprietário do trabalho. Exatamente um proprietário de trabalho deve ser atribuído. Os proprietários de trabalhos podem ser usuários ou entidades de serviço.