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 removidos do log e dos fluxos do driver Spark de um cluster. Para proteger dados confidenciais, por padrão, os logs de driver do Spark podem ser visualizados apenas por usuários com permissão CAN MANAGE no trabalho, modo de acesso dedicado e clusters de modo de acesso padrão. 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 no modo de acesso partilhado sem isolamento, os logs do driver 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á configurado 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 utilizador na configuração Executar como. Esta identidade é avaliada em relação à concessão de permissões para o seguinte:
- Ativos gerenciados pelo Unity Catalog, incluindo tabelas, volumes, modelos e exibições.
- Listas de controlo de acesso de tabelas herdadas (ACLs) para ativos registados no Hive metastore herdado.
- 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
Os privilégios 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 ficheiro é 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 observador: as execuções da tarefa SQL agendada sempre usam a identidade definida no campo Executar como.
Para saber mais sobre as configurações de compartilhamento de consulta, consulte Configurar permissões de consulta.
Exemplo
O cenário seguinte ilustra a interação entre as definições de partilha de SQL e a definição Executar como:
- O usuário A é o proprietário da consulta SQL chamada
my_query
. - O Utilizador A configura
my_query
com a configuração de partilha executar como proprietário. - O usuário B agenda
my_query
como uma tarefa em um trabalho chamadomy_job
. - O utilizador B configura
my_job
para ser executado com uma entidade de serviço chamadaprod_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
executa, ele usa o identificadorprod_sp
.
Configurar identidade para execução de tarefas
Para alterar a configuração Executar como , você deve ter a permissão CAN MANAGE ou IS OWNER no trabalho.
Você pode configurar o Executar como para si próprio ou para qualquer entidade de serviço no espaço de trabalho no qual tem a permissão de Usuário da Entidade de Serviço.
Para definir a configuração Executar como para um trabalho na interface de espaço de trabalho, selecione um trabalho existente ao seguir os passos seguintes:
- 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 utilizador ou principal 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 um principal de serviço
Se o usuário proprietário de um trabalho sair da sua organização, o trabalho poderá falhar. Utilize entidades de serviço para tornar os cargos resilientes à 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 um principal de serviço
Os trabalhos são executados usando os privilégios do proprietário do trabalho por padrão. Se atribuir a propriedade a uma entidade de serviço, as execuções dos trabalhos 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 padrão para cargas de trabalho suportadas. Use o modo de acesso dedicado quando necessário.
Os pipelines DLT 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 utilizadores que visualizam a configuração do trabalho ou monitorizam as execuções precisam da permissão Pode Ver.
Conceda privilégios de Pode gerir ou É proprietário apenas a usuários confiáveis para modificar o código de produção.
Controlar o acesso a um trabalho
O controlo de acesso a trabalhos permite aos proprietários e administradores conceder permissões detalhadas 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 | Subvenção |
---|---|
É Proprietário | A identidade usada para Executar como por predefiniçã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 Definiçõ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 responsável pelo trabalho deve ser designado. Os proprietários de trabalhos podem ser usuários ou entidades de serviço.