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 aux ressources Workflows, 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 méthode d'implémentation de 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, accordez uniquement à un compte de service les rôles nécessaires 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 autoriser d'autres comptes principaux à usurper son identité 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 à usurper l'identité de votre compte de service ou à agir en son nom.
Notez que le compte de service du workflow n'a pas besoin du rôle workflows.invoker
, sauf si le workflow s'appelle lui-même ou d'autres workflows.
Pour en savoir plus sur l'emprunt d'identité d'un compte de service, consultez la section Emprunter l'identité d'un compte de service.
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
Dans la console Google Cloud, accédez à la page Comptes de service :
Accéder à "Comptes de service"Sélectionnez un projet, puis cliquez sur Créer un compte de service.
Dans le champ Nom du compte de service, saisissez un nom, tel que
sa-name
.Cliquez sur Créer et continuer.
Dans la liste Sélectionner un rôle, sélectionnez Workflows > Workflows Invoker (Workflows Invoker).
Cliquez sur OK.
gcloud
Ouvrez un terminal.
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 CloudSERVICE_ACCOUNT_NAME
: nom du compte de service.