Usar o modo estrito "agir como"

O modo estrito "agir como" ativa 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 extra exige que o usuário que realiza essas ações tenha a permissão iam.serviceAccounts.actAs na conta de serviço eficaz, que é a conta de serviço com as credenciais 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 por meio de papéis personalizados ou de 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 a partir de 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 de usuário da conta de serviço do IAM

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

  • create ou patch
    • Se a propriedade Repository.ServiceAccount estiver definida, o papel de usuário da conta de serviço será concedido para essa propriedade.
    • Se você estiver chamando o método patch, o papel de usuário da conta de serviço precisa ser concedido para todas as contas de serviço específicas 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 eficaz usada na configuração do fluxo de trabalho.
  • releaseConfigs.patch
    • O papel de usuário da conta de serviço precisa ser concedido a todas as contas de serviço usadas nas configurações do 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 eficaz 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 lançamento 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 "agir como", haverá verificações no repositório para verificar se ele tem uma configuração de lançamento automático definida usando a programação Cron. Isso não se aplica a repositórios conectados a repositórios de terceiros.

A seguir