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?

Pipelines processam atualizações usando a identidade do usuário de **execução**. Por default, o usuário de execução é o criador do pipeline, mas você pode alterá-lo para outro usuário ou uma entidade de serviço. Consulte Definir o usuário de execução.

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.