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 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 do usuário A para executarmy_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 identificadorprod_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:
- 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.
- Pesquise e selecione um usuário ou entidade de serviço.
- Clique em Guardar.
Para obter mais informações sobre como trabalhar com entidades de serviço, consulte o seguinte:
- Gerir principais de serviço
- Funções para gerenciar entidades de serviço
- Liste as entidades de serviço que você pode usar.
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:
- 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 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.