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, consulte o artigo
Anexe contas de serviço a recursos.
Pode ativar estas autorizações 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 do IAM
Utilizador da conta de serviço (roles/iam.serviceAccountUser)
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 eficaz 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 personalizada quando criar o repositório, é usada a conta de serviço Caso contrário, a predefinição é o agente do serviço Dataform. |
| Configuração do fluxo de trabalho | Pode selecionar uma conta de serviço personalizada quando criar a configuração do fluxo de trabalho. Caso contrário, a predefinição é o agente do serviço Dataform do repositório. |
| Invocações de fluxo de trabalho | Se o resultado da compilação for Se criar uma invocação de fluxo de trabalho a partir de um resultado de compilação, é usada a conta de serviço Caso contrário, a predefinição é o agente do serviço 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:
createoupatch- Se a propriedade
Repository.ServiceAccountestiver 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.
- Se a propriedade
workflowConfigs.createouworkflowConfigs.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 conceder a função Utilizador da conta de serviço a uma conta de serviço personalizada, siga estes passos:
Na Google Cloud consola, aceda a IAM > Contas de serviço.
Selecione um projeto.
Na página Contas de serviço para o projeto "PROJECT_NAME", selecione a sua conta de serviço personalizada.
Aceda a Entidades com acesso e, de seguida, clique em Conceder acesso.
No campo Novos membros, introduza o ID do agente de serviço do Dataform predefinido.
O ID do agente do serviço Dataform predefinido está no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comNa lista Selecionar uma função, selecione a função Utilizador da conta de serviço.
Clique em Guardar.
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.
Efeitos do modo de atuação rigoroso em lançamentos e execuções automáticas
Quando o modo de agir como rigoroso está ativado, afeta as versões automáticas do repositório e as execuções automáticas do fluxo de trabalho da seguinte forma:
Para repositórios que não estão associados a repositórios de terceiros:
- Não pode definir um agendamento do Cron para lançamentos automáticos nas configurações de lançamento. Isto é aplicado para evitar que as alterações ao código feitas por um utilizador que possa não ter as autorizações
iam.serviceAccounts.actAsnecessárias nas contas de serviço a jusante sejam implementadas automaticamente. - As execuções de fluxos de trabalho agendadas através de uma programação Cron nas configurações de fluxos de trabalho permanecem ativadas. Para que estas execuções automatizadas sejam bem-sucedidas, tem de conceder ao agente de serviço do Dataform predefinido a autorização
iam.serviceAccounts.actAsna conta de serviço efetiva especificada na configuração do fluxo de trabalho.
Para repositórios associados a repositórios de terceiros:
- São permitidos lançamentos agendados e execuções de fluxos de trabalho agendados.
- Para ativar um lançamento automático a partir de uma configuração de lançamento ou uma execução automática a partir de uma configuração de fluxo de trabalho, tem de conceder ao agente de serviço do Dataform predefinido a autorização
iam.serviceAccounts.actAsna conta de serviço efetiva relevante:- Para uma configuração de lançamento automático, conceda a autorização nas contas de serviço efetivas de todas as configurações de fluxo de trabalho acionadas por esta configuração de lançamento.
- Para uma configuração de fluxo de trabalho automática, conceda a autorização na conta de serviço eficaz usada por essa configuração de fluxo de trabalho.
O que se segue?
- Para saber como criar um repositório, consulte o artigo Crie um repositório.
- Para saber como o Dataform funciona com o BigQuery, consulte a vista geral dos fluxos de trabalho.
- Para saber como criar uma configuração de fluxo de trabalho, consulte o artigo Agendar execuções.
- Para saber como criar uma configuração de lançamento, consulte o artigo Configurar compilações.