web-dev-qa-db-fra.com

Gestion de projets croisés à l'aide d'un compte de service

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

25
Leon

Vous devriez pouvoir ajouter un compte de service à un autre projet:

  1. 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.

  2. 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é.

  3. 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é.

40
Zachary Newman

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.

16
Vini