Pular para o conteúdo principal

Gerenciar identidades, permissões e privilégios para o pipeline.

Identidades, permissões e privilégios controlam quem pode executar, gerenciar e consultar pipelines e os dados que eles produzem.

Databricks recomenda o uso Unity Catalog para todos os novos pipelines. Por default, as tabelas de visualização materializada e de transmissão criadas por um pipeline configurado com o Unity Catalog só podem ser consultadas pelo proprietário pipeline . Consulte Usar Unity Catalog com o pipeline.

Se seus pipelines publicam datasets para o Hive metastore legado, consulte Use LakeFlow Pipelines com o Hive metastore legado.

Para obter práticas recomendadas gerais sobre configurações de identidade, consulte Práticas recomendadas de identidade.

Qual identidade é usada para atualizações de pipeline?​

Os pipelines processam atualizações usando a identidade do usuário run-as . Por default, o usuário do run-as é o criador do pipeline, mas você pode alterá-lo para outro usuário, um service principal ou um grupo de account. Consulte Definir o usuário run-as.

Para executar um pipeline como um grupo, consulte Definir a identidade de execução como um grupo.

O Databricks recomenda definir o usuário 'run-as' para uma entidade de serviço, para que as atualizações do pipeline não fiquem vinculadas à account de um usuário individual. See entidade de serviço.

Conceda a essa Service Principal apenas os privilégios do Unity Catalog necessários para o pipeline, em vez de amplo acesso em nível de conta. Por exemplo, conceda USE CATALOG no catálogo de destino, USE SCHEMA e o privilégio CREATE apropriado (CREATE MATERIALIZED VIEW ou CREATE TABLE) no esquema de saída e SELECT em suas fontes. Para obter a lista completa de privilégios necessários para publicar no Unity Catalog, consulte Requisitos.

Quem pode executar uma atualização pipeline ?​

As atualizações do pipeline podem ser executadas por qualquer usuário ou entidade de serviço com permissões CAN RUN, CAN MANAGE ou IS OWNER .

Quem pode visualizar um pipeline e sua saída?​

Para abrir um pipeline e visualizar seus detalhes, um usuário precisa de pelo menos a permissão CAN VIEW no pipeline. Para a lista completa de níveis de permissão de pipeline e as habilidades que cada um concede, consulte ACLs dos Lakeflow Pipelines.

Para visualizar o pipeline que dá suporte a uma tabela de transmissão ou view materializada, um usuário não administrador também precisa do privilégio REFRESH nessa tabela de transmissão ou view materializada, além de suas permissões no pipeline. Sem o privilégio REFRESH, a URL do pipeline exibe Pipeline não disponível .

Configurar permissões de pipeline​

Você deve ter a permissão CAN MANAGE ou IS OWNER no pipeline para gerenciar permissões. Pipelines usam listas de controle de acesso (ACLs) para controlar permissões. Para obter uma lista completa de permissões e suas habilidades, consulte Lakeflow pipelines.

  1. Na barra lateral, clique em Trabalhos e pipeline .
  2. Selecione o nome de um pipeline.
  3. Clique em Compartilhar . A caixa de diálogo Configurações de permissões é exibida.
  4. Clique em Selecionar usuário, grupo ou entidade de serviço e selecione um usuário, grupo ou entidade de serviço.
  5. Selecione uma permissão no dropdown de permissões.
  6. Clique em Adicionar .
  7. Clique em Salvar .

Altere o proprietário do pipeline​

Por default, o proprietário do pipeline também é o usuário de execução que executa as atualizações do pipeline. Alterar o proprietário altera a identidade usada para futuras atualizações.

Se desejar alterar a identidade em que as atualizações do pipeline são executadas sem mudar o proprietário, defina o usuário de execução. Consulte Defina o usuário de execução.

Para alterar o proprietário de um pipeline, você deve ser administrador de metastore e administrador de workspace. Alterar o proprietário usando a IU ou a API REST.

Use a IU​

  1. Na barra lateral, clique em Trabalhos e pipeline .
  2. Selecione o Nome do pipeline.
  3. Clique em Compartilhar . A caixa de diálogo Configurações de permissões é exibida.
  4. Limpe o proprietário atual e selecione o novo proprietário. O proprietário pode ser um usuário ou uma entidade de serviço. A Databricks recomenda uma entidade de serviço. See entidade de serviço.
  5. Clique em Salvar .

Use a API REST​

Se o controle de proprietário estiver indisponível na IU, como para alguns pipelines gerenciados internamente, altere o proprietário com a operação de API REST Definir permissões de pipeline. Especifique o user_name do novo proprietário (ou service_principal_name para uma entidade de serviço) com o nível de permissão IS_OWNER:

JSON
{
"access_control_list": [
{
"user_name": "new.owner@example.com",
"permission_level": "IS_OWNER"
}
]
}

Se nenhum usuário for administrador de metastore e administrador de workspace​

Se ninguém em sua organização for administrador de metastore e administrador de workspace, entre em contato com seu representante da Databricks para alterar o proprietário do pipeline.

Permitir que usuários não administradores view os logs do driver de um pipelinehabilitado para o Unity Catalog​

Por default, somente o proprietário pipeline e os administradores workspace podem view os logs do driver do cluster que executa um pipeline habilitado para o Unity Catalog. Você pode habilitar o acesso aos logs do driver para qualquer usuário com permissões CAN MANAGE, CAN VIEW ou CAN RUN adicionando o seguinte parâmetro de configuração do Spark ao objeto configuration nas configurações do pipeline:

JSON
{
"configuration": {
"spark.databricks.acl.needAdminPermissionToViewLogs": "false"
}
}

Credenciais de referência de um Secret Scope​

Nunca codifique chaves de API, senhas de banco de dados ou tokens no código-fonte do seu pipeline. Armazene-os em um Secret Scope e faça referência a eles no runtime:

Python
api_token = dbutils.secrets.get(scope="orders-pipeline-secrets", key="external_api_token")

O Databricks redige automaticamente valores secretos ([REDACTED]) em qualquer lugar onde seriam impressos no notebook ou na saída de logs, e você pode restringir quem pode ler um escopo com um ACL de segredo. Consulte Gerenciamento de segredos.

Proteja dados sensíveis na saída do pipeline.​

Para colunas que contêm informações de identificação pessoal (PII), aplique a governança do Unity Catalog às tabelas que seu pipeline produz, em vez de escrever lógica de mascaramento personalizada no código do seu pipeline:

  • Máscaras de coluna redigem ou aplicam hash ao valor de uma coluna com base na associação ao grupo do usuário que realiza a query.
  • Filtros de linha restringem quais linhas um usuário pode ver.

A aplicação desses controles na tabela do Unity Catalog protege as informações de identificação pessoal de forma consistente para cada consumidor da tabela, incluindo dashboards, queries ad hoc e jobs downstream, não apenas dentro do pipeline. Consulte Filtros de linha e máscaras de coluna. Como um passo adicional, mantenha as PII isoladas em colunas ou tabelas específicas em um esquema com nome claro, para que as concessões de acesso e as auditorias sejam mais simples de analisar.