Use o modo de atuação rigoroso

O modo de atuação rigoroso ativa uma verificação de segurança adicional para as seguintes ações do utilizador no Dataform:

  • Criar ou atualizar um repositório
  • Criar ou atualizar uma configuração de fluxo de trabalho
  • Criar uma invocação de fluxo de trabalho
  • Atualizar uma configuração de lançamento

Esta verificação de segurança adicional requer que o utilizador que executa estas ações tenha a autorização iam.serviceAccounts.actAs na conta de serviço efetiva, que é a conta de serviço cujas credenciais são usadas para executar fluxos de trabalho. Para mais informações sobre contas de serviço, consulte o artigo Anexe contas de serviço a recursos.

Pode ativar este modo das seguintes formas:

  • Ao criar um repositório
  • Quando atualiza um repositório existente com a flag strict_act_as_checksrepository

Funções necessárias

Para receber as autorizações de que precisa para concluir as tarefas neste documento, peça ao seu administrador para lhe conceder a função Utilizador da conta de serviço (roles/iam.serviceAccountUser) do IAM na conta de serviço personalizada. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Determine a conta de serviço eficaz

Pode determinar a conta de serviço efetiva que está a executar os fluxos de trabalho de acordo com o tipo de recurso e as seguintes condições:

Tipo do recurso Conta de serviço efetiva
Repositórios

Se selecionar uma conta de serviço quando criar o repositório, é usada a conta de serviço Repository.ServiceAccount.

Caso contrário, a predefinição é a conta de serviço do Dataform.

Configuração do fluxo de trabalho

Pode selecionar uma conta de serviço quando criar a configuração do fluxo de trabalho.

Caso contrário, a predefinição é a conta de serviço do Dataform do repositório.

Invocações de fluxos de trabalho

Se o resultado da compilação for WORKFLOW_CONFIG, é usada a conta de serviço efetiva da configuração do fluxo de trabalho.

Se criar uma invocação de fluxo de trabalho a partir de um resultado de compilação, é usada a conta de serviço WorkflowInvocation.InvocationConfig, se estiver definida.

Caso contrário, a predefinição é a conta de serviço do Dataform do repositório.

Conceda a função IAM de utilizador da conta de serviço

A função Utilizador da conta de serviço (roles/iam.serviceAccountUser) contém a autorização iam.serviceAccounts.actAs, que é necessária para o modo de atuação rigoroso. Quando usa a API Dataform, tem de ter a função Utilizador da conta de serviço concedida para a conta de serviço efetiva com base no método projects.locations.repositories que está a chamar:

  • create ou patch
    • Se a propriedade Repository.ServiceAccount estiver definida, deve ter a função de utilizador da conta de serviço concedida para essa propriedade.
    • Se estiver a chamar o método patch, deve ter a função Utilizador da conta de serviço concedida para todas as contas de serviço eficazes em todas as configurações do fluxo de trabalho no repositório.
  • workflowConfigs.create ou workflowConfigs.patch
    • Deve ter a função Utilizador da conta de serviço concedida para a conta de serviço eficaz usada na configuração do fluxo de trabalho.
  • releaseConfigs.patch
    • Deve ter a função Utilizador da conta de serviço concedida para todas as contas de serviço eficazes usadas nas configurações do fluxo de trabalho através desta configuração de lançamento.
  • workflowInvocations.create
    • Deve ter a função Utilizador da conta de serviço concedida para a conta de serviço eficaz usada na invocação do fluxo de trabalho.

Para mais informações, consulte as funções necessárias para criar uma configuração de fluxo de trabalho e as funções necessárias para criar uma configuração de lançamento.

Lançamentos automáticos para repositórios

Quando o modo de atuação como está ativado, as versões automáticas são desativadas para as configurações de lançamento do repositório do Dataform. Isto não se aplica a repositórios ligados a repositórios de terceiros.

Além disso, se ativar o modo act-as, são feitas verificações no repositório para saber se tem uma configuração de lançamento automático definida através do horário do Cron. Isto não se aplica a repositórios ligados a repositórios de terceiros.

O que se segue?