O Workflows usa o Identity and Access Management (IAM) para controlar quais usuários autenticados e contas de serviço podem executar quais ações.
Antes de começar a autenticar e autorizar o acesso aos recursos do Workflows, entenda os conceitos básicos do IAM.
Nesta página, detalhamos as permissões necessárias para acessar os recursos do Workflows, incluindo a capacidade de invocar execuções de fluxo de trabalho.
Para informações sobre como conceder permissões a fluxos de trabalho para acessar outros serviços, consulte Conceder permissões a um fluxo de trabalho para acessar recursos do Google Cloud.
Controle de acesso
Independentemente de como você implementa a autenticação, é importante entender o controle de acesso e os papéis disponíveis do Workflows. Um papel é um conjunto de permissões que concede acesso a recursos no Google Cloud. Ao criar um aplicativo de produção, conceda à conta de serviço apenas os papéis necessários para interagir com as APIs, recursos ou recursos aplicáveis do Google Cloud.
Para mais informações sobre os papéis disponíveis do Workflows, consulte Papéis e permissões do Workflows.
Invocar fluxos de trabalho
Uma conta de serviço é uma identidade e um recurso que aceita políticas do IAM. Como resultado, é possível conceder papéis à conta de serviço e permitir que outros principais representem a conta de serviço, concedendo a eles um papel na conta de serviço ou em um dos recursos pai da conta de serviço.
Por exemplo, é possível conceder a uma conta de serviço o papel workflows.invoker para que ela tenha permissão para acionar a execução do fluxo de trabalho. Em seguida,
permita que um principal personifique ou atue como sua conta de serviço.
A conta de serviço do fluxo de trabalho não exige o papel workflows.invoker
, a menos que o fluxo de trabalho invoque a si mesmo ou outros fluxos de trabalho.
Para mais informações sobre a representação de uma conta de serviço, consulte Representação de conta de serviço.
Para conceder à conta de serviço do serviço que chama o Workflows o
papel de invocador do Workflows (roles/workflows.invoker
) para que o serviço tenha
permissão para executar fluxos de trabalho e gerenciar as execuções, faça o seguinte:
Console
No console do Google Cloud, acesse a página Contas de serviço:
Acessar contas de serviçoSelecione um projeto e clique em Criar conta de serviço.
No campo Nome da conta de serviço, digite um nome, como
sa-name
.Clique em Criar e continuar.
Na lista Selecionar um papel, selecione Fluxos de trabalho > Invocador do fluxo de trabalho.
Clique em Concluído.
gcloud
Abra um terminal.
Digite este comando:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role roles/workflows.invoker
Substitua:
PROJECT_ID
: o ID do seu projeto do Google Cloud.SERVICE_ACCOUNT_NAME
: o nome da conta de serviço.