Utiliser IAM pour contrôler l'accès

Workflows utilise la gestion de l'authentification et des accès (Identity and Access Management, IAM) pour contrôler les actions que les utilisateurs authentifiés et les comptes de service 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étaille les autorisations requises pour accéder à Workflows des ressources, y compris la possibilité d'appeler des exécutions de workflow.

Pour savoir comment accorder des autorisations aux workflows pour qu'ils accèdent à d'autres services, consultez Accorder à un workflow l'accès 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. Lors de la création d'une application de production, n'attribuez les rôles qu'à un compte de service il doit interagir avec les API, fonctionnalités ou ressources.

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 représente à 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 comptes principaux usurpent l'identité du compte de service en leur attribuant un rô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 à usurper l'identité de votre compte de service ou à agir en son nom. Notez que le compte de service du workflow ne nécessite pas l'autorisation workflows.invoker. , à moins que le workflow appelle lui-même ou d'autres workflows.

Pour en savoir plus sur l'emprunt d'identité de compte de service, consultez la section Compte de service l'usurpation d'identité.

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

Console

  1. Dans la console Google Cloud, accédez à la page Comptes de service:
    Accéder à la page "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 > Workflows Invoker (Workflows Invoker).

  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.