Usar o IAM para controlar o acesso

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

  1. No console do Google Cloud, acesse a página Contas de serviço:
    Acessar contas de serviço

  2. Selecione um projeto e clique em Criar conta de serviço.

  3. No campo Nome da conta de serviço, digite um nome, como sa-name.

  4. Clique em Criar e continuar.

  5. Na lista Selecionar um papel, selecione Fluxos de trabalho > Invocador do fluxo de trabalho.

  6. Clique em Concluído.

gcloud

  1. Abra um terminal.

  2. 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.