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:
- Ao criar um repositório
- Ao atualizar um repositório com a flag
strict_act_as_checks
do repositório
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 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 Se você criar uma invocação de fluxo de trabalho com base em um resultado de compilação, a conta de serviço 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
oupatch
- 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.
- Se a propriedade
workflowConfigs.create
ouworkflowConfigs.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
- Para saber como criar um repositório, consulte Criar um repositório.
- Para saber como criar uma configuração de fluxo de trabalho, consulte Programar execuções.
- Para saber como criar uma configuração de versão, consulte Configurar compilações.