Usar o modo estrito "agir como"

O modo estrito de agir como permite uma verificação de segurança adicional para as seguintes ações do usuário no Dataform:

  • Criar ou atualizar um repositório
  • Criar ou atualizar uma configuração de fluxo de trabalho
  • Como criar uma invocação de fluxo de trabalho
  • Como atualizar uma configuração de versão

Essa verificação de segurança adicional exige que o usuário que realiza essas ações tenha a permissã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 Anexar contas de serviço a recursos.

É possível ativar esse modo das seguintes maneiras:

Funções exigidas

Para receber as permissões necessárias para concluir as tarefas neste documento, peça ao administrador para conceder a você o papel do IAM de Usuário da conta de serviço (roles/iam.serviceAccountUser) na conta de serviço personalizada. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Determinar a conta de serviço efetiva

É possível determinar a conta de serviço efetiva que está executando os fluxos de trabalho de acordo com o tipo de recurso e as seguintes condições:

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

Se você selecionar uma conta de serviço ao criar o repositório, a conta de serviço Repository.ServiceAccount será usada.

Caso contrário, o padrão será a conta de serviço do Dataform.

Configuração do fluxo de trabalho

É possível selecionar uma conta de serviço ao criar a configuração do fluxo de trabalho.

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

Invocação de fluxo de trabalho

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

Se você criar uma invocação de fluxo de trabalho com base em um resultado de compilação, a conta de serviço WorkflowInvocation.InvocationConfig será usada se estiver definida.

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

Conceder o papel do IAM de usuário da conta de serviço

O papel Usuário da conta de serviço (roles/iam.serviceAccountUser) contém a permissão iam.serviceAccounts.actAs, que é necessária para o modo estrito de agir como. Ao usar a API Dataform, você precisa ter o papel de usuário da conta de serviço concedido à conta de serviço efetiva com base no método projects.locations.repositories que está chamando:

  • create ou patch
    • Se a propriedade Repository.ServiceAccount estiver definida, você precisará ter o papel de usuário da conta de serviço concedido para essa propriedade.
    • Se você estiver chamando o método patch, precisará ter o papel de usuário da conta de serviço concedido para todas as contas de serviço efetivas em todas as configurações de fluxo de trabalho no repositório.
  • workflowConfigs.create ou workflowConfigs.patch
    • Você precisa ter o papel de usuário da conta de serviço concedido para a conta de serviço efetiva usada na configuração do fluxo de trabalho.
  • releaseConfigs.patch
    • Você precisa ter o papel de usuário da conta de serviço concedido para todas as contas de serviço efetivas usadas nas configurações de fluxo de trabalho com essa configuração de lançamento.
  • workflowInvocations.create
    • Você precisa ter o papel de usuário da conta de serviço concedido para a conta de serviço efetiva usada na invocação do fluxo de trabalho.

Para mais informações, consulte os papéis necessários para criar uma configuração de fluxo de trabalho e os papéis necessários para criar uma configuração de lançamento.

Versões automáticas para repositórios

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

Além disso, se você ativar o modo de atuação, haverá verificações no repositório para saber se ele tem uma configuração de lançamento automático definida usando a programação do Cron. Isso não se aplica a repositórios conectados a repositórios de terceiros.

A seguir