Utiliser IAM pour contrôler l'accès

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

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écrit les autorisations requises pour accéder aux ressources Workflows, y compris la possibilité d'appeler des exécutions de workflow.

Pour savoir comment accorder des autorisations aux workflows afin qu'ils puissent accéder à d'autres services, consultez la page Autoriser un workflow à accéder aux Google Cloud ressources.

Contrôle des accès

Quelle que soit la manière 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. Lors de la création d'une application de production, n'accordez à un compte de service que les rôles dont il a besoin pour interagir avec les API, les fonctionnalités ou les ressources applicables Google Cloud .

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

Appeler Workflows

Un compte de service représente à la fois une identité et une ressource qui accepte les stratégies IAM. Par conséquent, vous pouvez accorder des rôles au compte de service, puis autoriser d'autres comptes principaux à emprunter l'identité du compte de service en leur attribuant un rôle sur le compte de service ou sur l'une de ses ressources parentes.

Par exemple, vous pouvez accorder 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. Notez que le compte de service du workflow ne nécessite pas le rôle workflows.invoker, sauf si le workflow s'appelle lui-même ou appelle d'autres workflows.

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

Pour accorder au compte de service du service appelant Workflows le rôle Demandeur de workflows (roles/workflows.invoker) afin que le service soit autorisé à exécuter des workflows et à gérer les exécutions, procédez comme suit :

Console

  1. Dans la Google Cloud console, 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 Google Cloud projet.
    • SERVICE_ACCOUNT_NAME : nom du compte de service.