J'ai besoin d'un compte de service pouvant accéder à plusieurs projets, mais je n'ai pas du tout trouvé de moyen de le faire. Il semble qu'un compte de service soit toujours lié à un projet.
Une autre option consiste à créer un compte de service sur les projets séparés, puis à les authentifier à l'aide de gcloud auth activate-service-account --key-file SOME_FILE.json
, mais le problème ici est qu'il ne semble pas possible d'automatiser la création de comptes de service.
La question est donc la suivante: est-il possible de créer un compte de service inter-projets ou d'automatiser la création d'un compte de service? Ce serait encore mieux si je pouvais faire les deux
Vous devriez pouvoir ajouter un compte de service à un autre projet:
Créez le premier compte de service dans le projet A dans la console Cloud. Activez-le à l'aide de gcloud auth activate-service-account
.
Dans la console Cloud, accédez au projet B. Recherchez la page "IAM & admin"> "IAM". Cliquez sur le bouton "Ajouter". Dans le champ "Nouveaux membres", collez le nom du compte de service (il doit ressembler à une adresse e-mail étrange) et donnez-lui le rôle approprié.
Exécutez les commandes gcloud
avec --project
défini sur le projet B. Ils devraient réussir (je viens de vérifier manuellement que cela fonctionnera).
La création automatique de comptes de service est quelque chose que nous hésitons à faire jusqu'à ce que nous puissions résoudre toutes les ramifications de sécurité.
Je sais que c'est un peu vieux, mais si quelqu'un cherche toujours cela, pour ajouter à la réponse de @Zachary Newman, pour être clair, après avoir créé un compte de service dans le projet A, vous devez aller dans le projet B vers "IAM" (pas "Comptes de service"), vous pourrez y ajouter l'e-mail que vous venez de créer avec les rôles appropriés.