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:
- Ao criar um repositório
- Ao atualizar um repositório com a flag
strict_act_as_checks
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 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 a partir de 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 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
oupatch
- 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.
- 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 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
- Para saber mais sobre 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.