Utiliser IAM pour contrôler les accès

Workflows utilise Identity and Access Management (IAM) pour contrôler quels utilisateurs authentifiés et quels comptes de service peuvent effectuer quelles actions.

Avant de commencer à authentifier et à autoriser l'accès à vos ressources Workflows, assurez-vous de bien comprendre les concepts de base d'IAM.

Cette page détaille les autorisations requises pour accéder aux ressources Workflows, y compris pour appeler des exécutions de workflow.

Pour en savoir plus sur l'attribution d'autorisations à des workflows pour accéder à d'autres services, consultez la section Accorder à un workflow l'autorisation d'accéder aux ressources Google Cloud.

Contrôle des accès

Quelle que soit la façon dont vous implémentez l'authentification, il est important de comprendre le contrôle des accès et les rôles Workflows disponibles. Un rôle est un ensemble d'autorisations qui accordent l'accès aux ressources dans Google Cloud. Lorsque vous créez une application de production, n'accordez à un compte de service que les rôles dont il a besoin pour interagir avec les API, fonctionnalités ou ressources Google Cloud applicables.

Pour en savoir plus sur les rôles Workflows disponibles, consultez la page Rôles et autorisations Workflows.

Appeler des workflows

Un compte de service est à la fois une identité et une ressource qui accepte les stratégies IAM. Par conséquent, vous pouvez attribuer des rôles au compte de service, puis laisser les autres entités principales emprunter l'identité du compte de service en leur attribuant un rôle sur le compte de service ou sur l'une des ressources parentes du compte de service.

Par exemple, vous pouvez attribuer le rôle workflows.invoker à un compte de service afin qu'il soit autorisé à déclencher l'exécution de votre workflow. Vous pouvez ensuite autoriser un compte principal à emprunter l'identité de votre compte de service ou à agir pour celui-ci. Notez que le compte de service de workflow ne nécessite pas le rôle workflows.invoker, sauf si le workflow s'appelle lui-même ou qu'il appelle d'autres workflows.

Pour en savoir plus sur l'emprunt d'identité d'un compte de service, consultez la page Emprunt d'identité d'un compte de service.

Pour attribuer le rôle Demandeur de workflows (roles/workflows.invoker) au compte de service qui appelle Workflows afin qu'il soit autorisé à exécuter des workflows et à gérer ces exécutions, procédez comme suit:

Console

  1. Dans la console Google Cloud, accédez à la page Comptes de service :
    Accéder à Comptes de service

  2. Sélectionnez un projet, puis cliquez sur Créer un compte de service.

  3. Dans le champ Nom du compte de service, saisissez un nom, tel que sa-name.

  4. Cliquez sur Créer et continuer.

  5. Dans la liste Sélectionner un rôle, sélectionnez Workflows > Demandeur de workflows.

  6. Cliquez sur OK.

gcloud

  1. Ouvrez un terminal.

  2. Saisissez la commande suivante :

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
       --role roles/workflows.invoker

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet Google Cloud
    • SERVICE_ACCOUNT_NAME : nom du compte de service.