À 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 À propos des services Google Cloud.

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

  • 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

Même si un seul 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 permet de compartimenter l'accès et de limiter le niveau et les droits d'accès de chaque compte de service, ce qui renforce la sécurité. Comme pour les comptes utilisateur, ces autorisations sont appliquées en attribuant un ou plusieurs rôles au compte de service.

Pour fonctionner correctement, 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 Cloud Storage, comme décrit dans Sauvegarde et récupération.
apigee-logger Rédacteur de journaux Permet de collecter des données de journalisation, comme décrit dans Journalisation. Obligatoire uniquement pour les installations de cluster autres que GKE.
apigee-mart Agent Apigee Connect Permet l'authentification du service MART. Le rôle Agent Apigee Connect lui permet de communiquer de manière sécurisée avec le processus Apigee Connect, comme décrit dans Utiliser Apigee Connect.
apigee-metrics Rédacteur de métriques Monitoring Permet de collecter des données de métriques, comme décrit dans Présentation de la collecte de 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 des traces, des analyses et d'état de déploiement vers le plan de gestion.
apigee-watcher Agent d'exécution Apigee Apigee Watcher extrait les changements virtuels des hôtes pour une organisation à partir du synchronisateur et effectue les modifications nécessaires pour configurer l'entrée Istio.
* Ce nom est utilisé dans le nom de fichier de la clé de compte de service téléchargée.

En plus de créer les comptes de service listé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 :

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 une fois que vous avez téléchargé et développé apigeectl) crée des comptes de service hybrides spécifiques aux composants et attribue les rôles pour vous. 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 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 la console Google Cloud.

Utiliser la console Google Cloud

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 la console Google Cloud, 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 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 à quelle fin un 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, tapez du texte pour filtrer la liste des rôles par nom. Par exemple, pour ne lister 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 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 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 de l'environnement 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 à un compte de service d'obtenir des jetons d'accès, que le compte de service utilise pour 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 listé dans 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, inutile donc de lui attribuer un quelconque 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 clé du côté gauche, demi-rectangle du côté droit, le tout souligné.

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 Créer et gérer des comptes de service.

Dépannage