Gerenciar identidades, permissões e privilégios para Databricks Jobs
Este artigo contém recomendações e instruções para gerenciar identidades, permissões e privilégios para Databricks Jobs.
Observação
Os segredos não são removidos de um driver cluster Spark log stdout
e stderr
transmissão. Para proteger dados confidenciais, os drivers default, Spark e logs podem ser visualizados apenas por usuários com permissão CAN MANAGE no Job, modo de acesso de usuário único e modo de acesso compartilhado clusters. Para permitir que os usuários com permissão CAN ATTACH TO ou CAN RESTART possam view o logs nesses clusters, defina a seguinte propriedade de configuração Spark na configuração cluster: spark.databricks.acl.needAdminPermissionToViewLogs false
.
No modo de acesso compartilhado sem isolamento clusters, o driver Spark logs pode ser visualizado por usuários com permissão 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 o Job
Os trabalhos têm os seguintes privilégios definidos por default:
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 é definido para execução como.
Permissões de administrador para o trabalho
Pelo site default, os administradores do workspace podem alterar o proprietário do trabalho ou a execução como configuração para qualquer usuário ou entidade de serviço no workspace. Os administradores de conta podem definir a configuração RestrictWorkspaceAdmins
para alterar esse comportamento. Consulte Restringir administradores do espaço de trabalho.
Como o Job interage com as permissões do site Unity Catalog?
Jobs execução como a identidade do usuário na execução como configuração. Essa identidade é avaliada em relação às concessões de permissão para o seguinte:
Unity Catalog-gerenciar ativo, incluindo tabelas, volumes, modelos e visualização.
Listas de controle de acesso legado da tabela (ACLs) para ativos registrados no site legado Hive metastore.
ACLs para compute, Notebook, consultas e outros workspace ativos.
Segredos da Databricks. Veja Gerenciamento secreto.
Observação
Unity Catalog As concessões e as ACLs de tabela herdadas exigem modos de acesso compute compatíveis. Consulte Configurar compute para o trabalho.
SQL tarefa e permissões
A tarefa de arquivo é o único tipo de tarefa SQL que respeita totalmente a execução como identidade.
SQL consultas, alertas e tarefas do painel legado respeitam as configurações de compartilhamento definidas.
Execução como proprietário: a execução da tarefa agendada SQL sempre usa a identidade do proprietário do ativo SQL configurado.
execução como visualizador: a execução da tarefa agendada SQL sempre usa a identidade definida no campo Job execução as.
Para saber mais sobre as configurações de compartilhamento de consultas, consulte Configurar permissões de consulta.
Exemplo
O cenário a seguir ilustra a interação das configurações de SQL compartilhamento e a configuração Job execution as:
O usuário A é o proprietário da consulta SQL denominada
my_query
.O usuário A configura
my_query
com a definição de compartilhamento execução como proprietário.O usuário B programa
my_query
como uma tarefa em um trabalho chamadomy_job
.O usuário B configura
my_job
para execução 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 queira esse comportamento. A partir da configuração existente, ocorre o seguinte:
O usuário A altera a configuração de compartilhamento de
my_query
para execução como visualizador.Quando
my_job
é executado, ele usa a identificaçãoprod_sp
.
Configurar a identidade para a execução do trabalho
Para alterar a configuração executar como, o senhor deve ter a permissão CAN MANAGE ou IS OWNER no Job.
O senhor pode definir a execução como configuração para si mesmo ou para qualquer entidade de serviço no site workspace no qual o senhor tem o direito de usuário da entidade de serviço.
Para definir a execução como configuração para um trabalho na interface de usuário workspace, selecione um trabalho existente usando os seguintes passos:
Clique em fluxo de trabalho na barra lateral.
Na coluna Nome, clique no nome do cargo.
No painel lateral Detalhes do job, 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 Salvar.
Para obter mais informações sobre como trabalhar com entidades de serviço, consulte o seguinte:
Práticas recomendadas para governança de trabalho
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 Job deixar a organização, o Job poderá falhar. Usar a entidade de serviço para tornar o trabalho robusto em relação à rotatividade de funcionários.
Em default, os administradores de workspace podem gerenciar as permissões de trabalho e reatribuir a propriedade, se necessário.
execução production Job usando a entidade de serviço
Execução de trabalhos usando os privilégios do proprietário do trabalho pelo site default. Se o senhor atribuir a propriedade a uma entidade de serviço, a execução do trabalho usará as permissões da entidade de serviço.
O uso da entidade de serviço para o trabalho de produção permite que o senhor restrinja as permissões de gravação nos dados de produção. Se o senhor executar o Job 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 Job.
Sempre use configurações compatíveis com o Unity Catalog compute
Unity Catalog A governança de dados exige que o senhor use uma configuração compatível com compute.
O senhor pode usar o serverless compute para o trabalho e o armazém SQL sempre usa o Unity Catalog.
Para trabalhos com o clássico compute, Databricks recomenda o modo de acesso compartilhado para cargas de trabalho compatíveis. Use o modo de acesso de usuário único quando necessário.
Delta Live Tables O pipeline configurado com Unity Catalog tem algumas limitações. Consulte Limitações.
Restringir permissões no trabalho de produção
Os usuários que acionam, param ou reiniciam a execução do trabalho precisam da permissão Can gerenciar execução.
Os usuários que view a configuração do trabalho ou monitoram a execução precisam da permissão Can view.
Somente conceda os privilégios Can gerenciar ou Is Owner a usuários que tenham confiança para modificar o código de produção.
Controle o acesso a um trabalho
Job O controle de acesso permite que os proprietários e administradores do trabalho concedam permissões refinadas ao trabalho. As seguintes permissões 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 |
---|---|
É o proprietário |
A identidade usada para a execução é default. |
Can Manage (Pode gerenciar) |
Os usuários podem editar a definição do trabalho, inclusive as permissões. Os usuários podem pausar e retomar um programa. |
Pode gerenciar a execução |
Os usuários podem acionar e cancelar a execução do trabalho. |
Pode ver |
Os usuários podem view os resultados da execução do trabalho. |
Para obter informações sobre os níveis de permissão de trabalho, consulte Job ACLs.
Configurar permissões de job
Para configurar as permissões de um trabalho na interface do usuário workspace, selecione um trabalho existente usando os seguintes passos:
Clique em fluxo de trabalho na barra lateral.
Na coluna Nome, clique no nome do cargo.
No painel de detalhes doJob , clique em Edit permissions (Editar permissões). A caixa de diálogo Configurações de permissão é exibida.
Clique no campo Select User, Group or 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 site workspace.
Clique em Adicionar.
Clique em Salvar.