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 realizar quais ações.

Antes de começar a autenticar e autorizar o acesso aos seus recursos do Workflows, entenda 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 você implementa a autenticação, é importante entender o controle de acesso e as funções 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 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 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 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. Você pode permitir que um principal represente ou aja 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 Representação da 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:
    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.