Use o IAM para controlar o acesso

O Workflows usa o Identity and Access Management (IAM) para controlar quais que usuários autenticados e contas de serviço podem executar.

Antes de começar a autenticar e autorizar o acesso aos seus Workflows recursos, é importante entender os conceitos básicos do IAM.

Esta página detalha 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ão a um fluxo de trabalho para acessar recursos do Google Cloud.

Controle de acesso

Independentemente de como a autenticação é implementada, é importante entender o controle de acesso e os papéis disponíveis do Workflows. Um papel é um conjunto de permissões que concedem acesso a recursos no Google Cloud. Ao criar um aplicativo de produção, conceda a uma conta de serviço apenas os papéis necessários para interagir com as APIs, os recursos ou as funcionalidades aplicáveis do Google Cloud.

Para mais informações sobre os papéis disponíveis no Workflows, consulte Permissões e papéis 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 personifiquem 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 o papel workflows.invoker a uma conta de serviço para que a conta tenha permissão para acionar a execução do fluxo de trabalho. Você poderá permitir que um principal represente 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 seja invocado por ele mesmo ou por outros fluxos de trabalho.

Para mais informações sobre a representação de uma conta de serviço, consulte esta página falsificação de identidade.

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:
    Acesse as 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 de fluxos 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.