À propos des comptes de service

Un compte de service est un type particulier de compte dans Google Cloud qui permet aux composants et aux applications d'un système d'interagir entre eux et avec d'autres API. Pour en savoir plus sur Google Cloud, consultez la section À propos des services Google Cloud.

Apigee hybrid utilise des comptes de service Google Cloud pour effectuer diverses tâches, y compris :

  • Envoyer les données des journaux et des métriques
  • Extraire des requêtes de trace
  • Se connecter à la passerelle d'API pour les requêtes API d'administration
  • Exécuter des sauvegardes
  • Télécharger les groupes de proxys

Alors qu'un compte de service peut effectuer toutes ces opérations, Apigee recommande de créer plusieurs comptes de service, chacun étant affecté à une tâche spécifique et disposant de son propre ensemble d'autorisations. Cela améliore la sécurité en cloisonnant l'accès et en limitant le niveau et les droits d'accès de chaque compte de service. Comme pour les comptes utilisateur, ces autorisations sont appliquées en attribuant un ou plusieurs rôles au compte de service.

Pour fonctionner correctement, la solution Apigee hybride nécessite la création de plusieurs comptes de service. Chaque compte de service nécessite un ou plusieurs rôles qui lui permettent d'exécuter sa fonction.

Le tableau suivant décrit les comptes de service pour les composants hybrides :

Composant* Rôle Requis pour l'installation de base ? Description
apigee-cassandra Administrateur des objets de l'espace de stockage Autorise les sauvegardes Cassandra sur Google Cloud Storage, comme décrit sur la page Sauvegarde et récupération Cassandra.
apigee-logger Rédacteur de journaux Permet de collecter des données de journalisation, comme décrit dans la section Journalisation. Obligatoire uniquement pour les installations de cluster autres que GKE.
apigee-mart Aucun rôle Permet l'authentification du service MART. Ce compte de service ne doit pas être associé à un rôle ; par conséquent, lorsque vous créez ce compte de service, ne lui attribuez pas de rôle.
apigee-metrics Rédacteur de métriques Monitoring Permet la collecte de données de métriques, comme décrit dans la section Collecte des métriques
apigee-org-admin Administrateur de l'organisation Apigee Vous permet d'appeler les API getSyncAuthorization et setSyncAuthorization. Vous ne pouvez pas créer ce compte de service avec l'outil create-service-account.
apigee-synchronizer Gestionnaire de synchronisateur Apigee Permet au synchronisateur de télécharger des groupes de proxys et des données de configuration d'environnement. Active également la fonctionnalité de trace.
apigee-udca Agent d'analyses Apigee Permet le transfert des données d'état des traces, des analyses et du déploiement vers le plan de gestion.
* Ce nom est utilisé dans le nom de fichier de la clé du compte de service téléchargée.

En plus de créer les comptes de service répertoriés dans cette table, vous téléchargez également leurs clés privées. Vous utiliserez ensuite ces clés pour générer des jetons d'accès afin de pouvoir accéder aux API Apigee.

Créer les comptes de service

Il existe plusieurs façons de créer des comptes de service, parmi lesquelles :

Chacune de ces options est décrite dans les sections suivantes.

Utiliser l'outil de création de compte de service

L'outil create-service-account (disponible après avoir téléchargé et développé apigeectl) crée des comptes de service hybrides spécifiques aux composants et attribue les rôles dont vous devez disposer. L'outil télécharge également automatiquement les clés de compte de service et les stocke sur votre ordinateur local dans le répertoire spécifié.

Pour créer des comptes de service avec l'outil create-service-account :

  1. Téléchargez et développez apigeectl si vous ne l'avez pas déjà fait, comme décrit dans la section Télécharger et installer apigeectl.
  2. Créez un répertoire pour stocker vos clés de compte de service. Exemple :
    mkdir ./service-accounts
  3. Exécutez les commandes suivantes :
    ./tools/create-service-account apigee-metrics ./service-accounts
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts

    Ces commandes créent la plupart des comptes requis et stockent leurs clés dans le répertoire ./service-accounts. Ces commandes ne créent pas le compte de service apigee-org-admin.

    Si ces commandes échouent, assurez-vous d'avoir référencé un répertoire existant dans lequel stocker les fichiers de clés.

    Pour en savoir plus sur l'utilisation de create-service-account, consultez la documentation de référence sur la création d'un compte de service.

  4. Créez le compte de service apigee-org-admin. Pour ce faire, utilisez Google Cloud Console.

Utiliser Google Cloud Console

Vous pouvez créer des comptes de service avec la console Google Cloud.

Pour créer des comptes de service avec la console Google Cloud, procédez comme suit :

  1. Ouvrez Google Cloud Console, puis connectez-vous avec le compte que vous avez créé à l'étape 1 : Créer un compte Google Cloud.
  2. Sélectionnez le projet que vous avez créé à l'étape 2 : Créer un projet Google Cloud.
  3. Sélectionnez IAM et administration > Comptes de service.

    La console affiche la vue Comptes de service. Cette vue contient la liste des comptes de service du projet. Dans la plupart des cas, aucun compte n'est encore répertorié. Toutefois, la liste peut contenir des comptes de service par défaut, selon la manière dont vous avez créé votre projet.

  4. Pour créer un compte de service, cliquez sur + Créer un compte de service en haut de la vue.

    La vue Détails du compte de service s'affiche.

  5. Dans le champ Nom du compte de service, saisissez le nom du compte de service.

    Apigee vous recommande d'utiliser un nom qui reflète le rôle du compte de service. Vous pouvez définir le nom du compte de service d'après le composant qui l'utilise. Par exemple, spécifiez apigee-logger comme nom du compte de service Rédacteur de journaux.

    Pour en savoir plus sur les noms et les rôles des comptes de service, consultez la page Comptes de service et rôles utilisés par les composants hybrides.

    Lorsque vous saisissez un nom, Google Cloud génère automatiquement un ID de compte de service unique, structuré comme une adresse e-mail, comme illustré dans l'exemple suivant :

    Exemple d'ID apigee-logger@hybrid-42.iam.gserviceaccount.com

    Vous pouvez éventuellement ajouter une description dans le champ Description du compte de service. Les descriptions sont utiles pour vous rappeler quel compte de service particulier est utilisé.

  6. Cliquez sur Créer.

    Google Cloud crée un compte de service et affiche la vue Autorisations de compte de service, comme illustré dans l'exemple suivant :

    Créer un compte de service sans autorisations sélectionnées

    Utilisez cette vue pour attribuer un rôle à votre nouveau compte de service.

  7. Cliquez sur la liste déroulante Sélectionner un rôle.
  8. Sélectionnez le rôle du compte de service, comme décrit dans la section Comptes de service et rôles utilisés par les composants hybrides. Si les rôles Apigee n'apparaissent pas dans la liste déroulante, actualisez la page.

    Par exemple, pour le composant de journalisation, sélectionnez le rôle Rédacteur de journaux.

    Si nécessaire, saisissez du texte pour filtrer la liste des rôles par nom. Par exemple, pour ne répertorier que les rôles Apigee, saisissez "Apigee" dans le champ de filtre, comme illustré dans l'exemple suivant :

    Liste des autorisations de compte de service correspondant à Apigee

    Vous pouvez ajouter plusieurs rôles à un compte de service, mais Apigee vous recommande de n'en utiliser qu'un seul pour chacun des comptes de service recommandés. Pour modifier les rôles d'un compte de service après l'avoir créé, utilisez le panneau IAM et administration dans Google Cloud.

  9. Cliquez sur Continuer.

    Google Cloud affiche la vue Autoriser les utilisateurs à accéder à ce compte de service :

    Champs pour les rôles "Utilisateurs de compte de service" et "Administrateurs de compte de service", bouton "Créer une clé"

  10. Sous Créer une clé (facultatif), cliquez sur Create Key (Créer une clé).

    Google Cloud vous permet de télécharger une clé JSON ou P12 :

    Sélectionner le type de clé JSON ou P12

  11. Sélectionnez JSON (par défaut), puis cliquez sur Create (Créer).

    Google Cloud enregistre le fichier de clé au format JSON sur votre machine locale et affiche une confirmation une fois l'opération réussie, comme illustré dans l'exemple suivant :

    Exemple de fichier filename.json

    Vous utiliserez ensuite certaines des clés de compte de service pour configurer les services d'exécution hybride. Par exemple, lorsque vous configurez l'environnement d'exécution hybride, vous spécifiez l'emplacement des clés de compte de service à l'aide des propriétés service_name.serviceAccountPath.

    Ces clés permettent aux comptes de service d'obtenir des jetons d'accès qui permettent ensuite au compte de service d'effectuer des requêtes sur les API Apigee en votre nom. (Vous n'y êtes pas encore. Pour l'instant, notez où vous l'avez enregistrée.)

  12. Répétez les étapes 4 à 11 pour chaque compte de service répertorié dans la section Comptes de service et rôles utilisés par les composants hybrides (à l'exception du compte apigee-mart qui n'est associé à aucun rôle, donc ne lui attribuez pas de rôle).

    Lorsque vous avez terminé, vous devez disposer des comptes de service suivants (en plus des comptes par défaut, le cas échéant) :

    Liste des comptes de service. La colonne 1 est une zone de sélection, et la colonne 2 correspond à l'adresse e-mail, la colonne 3 à l'état, la colonne 4 au nom du compte de service

    Dans la console Google Cloud, les comptes de service sont indiqués par l'icône .

Après avoir créé un compte de service, si vous souhaitez ajouter ou supprimer un rôle, vous devez utiliser la vue IAM et administration. Vous ne pouvez pas gérer les rôles associés aux comptes de service dans la vue Comptes de service.

Utiliser les API de création de compte de service gcloud

Vous pouvez créer et gérer des comptes de service avec l'API Cloud Identity and Access Management.

Pour en savoir plus, consultez la page Créer et gérer des comptes de service.

Dépannage