Attribuer le rôle Utilisateur du compte de service pour les comptes de service exécutés en tant que
Cette page fait partie de la section Se préparer aux prochains changements d'autorisation. Il indique qui a besoin du rôle Utilisateur de compte de service (roles/iam.serviceAccountUser) et comment l'attribuer.
Qui a besoin du rôle "Utilisateur du compte de service" ?
Les comptes principaux suivants ont besoin du rôle Utilisateur du compte de service sur le compte de service listé :
| Principal | Compte de service |
|---|---|
| Toute personne qui publie ou teste l'intégration, y compris l'automatisation du déploiement | Compte de service "Exécuter en tant que" de l'intégration |
| Toute personne qui exécute l'intégration via l'API ou la console Google Cloud , de manière synchrone ou asynchrone | Compte de service "Exécuter en tant que" de l'intégration |
| Compte de service utilisé par un déclencheur pour démarrer l'intégration : adresse e-mail du compte de service d'un déclencheur Cloud Scheduler, ou compte de service d'un déclencheur Cloud Pub/Sub, d'un déclencheur Eventarc ou d'un déclencheur d'événement Integration Connectors. Cette étape n'est pas nécessaire si ce compte est le compte de service "Exécuter en tant que" lui-même. | Compte de service "Exécuter en tant que" de l'intégration |
| Toute personne qui approuve ou reprend une exécution suspendue | Compte de service "Exécuter en tant que" de l'intégration |
| Toute personne qui lance une intégration appelant une sous-intégration avec la tâche Appeler une intégration. Pour une intégration qu'un déclencheur avec un compte de service démarre, il s'agit du compte de service du déclencheur. | Compte de service "Exécuter en tant que" de la sous-intégration, en plus de celui de l'intégration appelante |
| Compte de service "Exécuter en tant que" de l'intégration appelante lorsqu'elle appelle une sous-intégration de manière asynchrone. Cette étape n'est pas nécessaire si les deux intégrations utilisent le même compte de service. | Compte de service "Exécuter en tant que" de la sous-intégration |
| Toute personne qui crée ou modifie un profil d'authentification de type Compte de service ou Jeton OIDC | Le compte de service indiqué dans le profil |
| Toute personne qui publie ou teste une intégration utilisant ce profil | Le compte de service indiqué dans le profil |
Toute personne qui exécute une intégration qui atteint une tâche à l'aide de ce profil. Pour une exécution asynchrone ou planifiée, il s'agit du compte de service d'exécution de l'intégration ou de l'agent de service Application Integration, service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com, si l'intégration n'en possède pas. Dans ce cas, il est préférable de définir un compte de service "Exécuter en tant que". |
Le compte de service indiqué dans le profil |
L'enregistrement d'un brouillon ne nécessite pas le rôle d'utilisateur du compte de service. Les vérifications lors de la publication, du test et de l'enregistrement des profils d'authentification s'appliquent déjà. Les vérifications concernant l'exécution, l'approbation, l'appel de sous-intégrations et l'exécution de tâches qui utilisent un profil d'authentification prennent effet au fur et à mesure du déploiement. Accordez donc l'accès à chaque ligne maintenant pour que vos intégrations continuent de fonctionner lorsqu'elles le feront.
Attribuer le rôle
Pour attribuer le rôle à une personne, exécutez la commande suivante :
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT \
--project=SERVICE_ACCOUNT_PROJECT_ID \
--member='user:PRINCIPAL' \
--role='roles/iam.serviceAccountUser'
Remplacez les éléments suivants :
SERVICE_ACCOUNT: adresse e-mail du compte de service "Exécuter en tant que" ou du compte indiqué dans un profil d'authentificationSERVICE_ACCOUNT_PROJECT_ID: ID du projet propriétaire du compte de service.PRINCIPAL: adresse e-mail de l'utilisateur
Pour les autres types de comptes principaux, utilisez le préfixe --member correspondant :
- Groupes : utilisez
group:. Nous vous recommandons d'utiliser des groupes Google plutôt que des comptes utilisateur individuels pour simplifier la gestion des accès lorsque les membres de l'équipe changent. - Comptes de service : utilisez
serviceAccount:pour les processus automatisés, les applications et les comptes de service de déclencheur.
Pour faire de même dans la console Google Cloud :
- Accédez à IAM et administration > Comptes de service.
- Sélectionnez le compte de service.
- Cliquez sur Autorisations > Accorder l'accès.
Pour accorder l'accès, vous devez disposer de l'autorisation roles/iam.serviceAccountAdmin sur le compte de service. Les propriétaires de projet y ont accès. Pour en savoir plus, consultez Gérer l'accès aux comptes de service.
Étapes suivantes
- Définissez un compte de service "Exécuter en tant que" sur les intégrations qui s'exécutent sans personne.
- Si une autorisation ne semble pas fonctionner, consultez Résoudre les problèmes d'autorisation.