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 pour les environnements de production 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.
Comptes de service et rôles utilisés par les composants hybrides
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. Les noms indiqués pour chaque compte de service sont les noms par défaut. Vous pouvez utiliser les noms de votre choix. Toutefois, ces noms doivent être faciles à identifier pour chaque compte.
Composant* | Rôle | Requis pour l'installation de base ? | Description |
---|---|---|---|
apigee-cassandra |
Administrateur des objets de l'espace de stockageroles/storage.objectAdmin |
Autorise les sauvegardes Cassandra sur Google Cloud Storage, comme décrit sur la page Sauvegarde et récupération. | |
apigee-distributed-trace |
Agent Cloud Traceroles/cloudtrace.agent |
Permet au plan d'exécution hybride de participer à un traçage de requêtes distribué dans un format compatible avec des systèmes tels que Google Cloud Trace et Jaeger. | |
apigee-logger |
Rédacteur de journauxroles/logging.logWriter |
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 |
Agent Apigee Connectroles/apigeeconnect.Agent |
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 la section Utiliser Apigee Connect. | |
apigee-metrics |
Rédacteur de métriques Monitoringroles/monitoring.metricWriter |
Permet de collecter des données de métriques, comme décrit dans la section Présentation de la collecte de métriques. | |
apigee-synchronizer |
Gestionnaire de synchronisateur Apigeeroles/apigee.synchronizerManager |
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 Apigeeroles/apigee.analyticsAgent |
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 Apigeeroles/apigee.runtimeAgent |
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é du compte de service téléchargée. |
Pour les environnements de production, de test et de démonstration, vous pouvez éventuellement utiliser un seul compte de service avec tous les rôles. Cette méthode n'est pas recommandée pour les environnements de production.
Composant* | Rôle | Requis pour l'installation de base ? | Description |
---|---|---|---|
apigee-non-prod |
Agent Apigee Analytics, Agent Apigee Connect, Administrateur d'organisation Apigee, Agent d'exécution Apigee, Gestionnaire de synchronisateur Apigee, Agent Cloud Trace, Rédacteur de journaux, Rédacteur de métriques Monitoring, Administrateur d'objets de stockage | Ou tous les comptes de service requis ci-dessus | Un seul compte de service pour les environnements de démonstration ou de test. Consultez la section Installer, Partie 2, Étape 5 : Créer des comptes de service. |
Outre la création des comptes de service listés dans ce tableau, vous allez utiliser les clés privées de chaque compte pour générer des jetons d'accès afin de pouvoir accéder aux API Apigee. L'outil create-service-account
télécharge automatiquement les fichiers de clé dans un répertoire sur votre ordinateur local lorsqu'il crée ou met à jour les comptes de service.
Créer les comptes de service
Il existe plusieurs façons de créer des comptes de service, parmi lesquelles :
- (Recommandé) Outil
create-service-account
- Google Cloud Console
- SDK gcloud
Chacune de ces options est décrite dans les sections suivantes.
Utiliser l'outil create-service-account
L'outil create-service-account
est disponible une fois que vous avez téléchargé et développé apigeectl
dans le répertoire tools/
. Il hybride les comptes de service spécifiques aux composants et attribue les rôles requis pour vous. L'outil télécharge également automatiquement les clés de compte de service et les stocke sur votre ordinateur local.
Par exemple, la commande suivante crée tous les comptes de service individuels distincts pour un environnement de production, attribue les rôles IAM appropriés à chaque compte de service, et télécharge chaque fichier de clé privée des comptes dans le répertoire ./service-accounts
:
./tools/create-service-account --env prod
La commande suivante crée un seul compte de service nommé apigee-non-prod
disposant de tous les rôles IAM pour tous les composants hybrides, adapté aux environnements de démonstration et de test, mais pas aux environnements de production :
./tools/create-service-account --env non-prod
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.
Utiliser Google Cloud Console
Vous pouvez créer des comptes de service avec la console Google Cloud.
Suivez la procédure ci-dessous pour chaque compte de service répertorié dans la section Comptes de service et rôles utilisés par les composants hybrides.
Pour créer un compte de service avec la console Google Cloud et générer une clé pour le compte de service, procédez comme suit :
-
Créez un compte de service :
-
Dans Cloud Console, accédez à la page Comptes de service.
- Sélectionnez votre projet.
- Cliquez sur Créer un compte de service.
-
Dans le champ Nom du compte de service, saisissez un nom. La console Cloud remplit le champ ID du compte de service en fonction de ce nom.
Apigee vous recommande d'utiliser un nom qui reflète le rôle du compte de service. Vous pouvez attribuer au compte de service le nom du 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.
- Facultatif : Dans le champ Description du compte de service, saisissez une description du compte de service. Les descriptions sont utiles pour vous rappeler quel compte de service particulier est utilisé.
- Cliquez sur Créer et continuer.
-
Cliquez sur le champ Sélectionner un rôle et sélectionnez un rôle, 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 répertorier que les rôles Apigee, saisissez
Apigee
dans le champ de filtre.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 sa création, utilisez la page IAM de Cloud Console.
-
Cliquez sur OK pour terminer la création du compte de service.
Ne fermez pas la fenêtre de votre navigateur. Vous en aurez besoin lors de la tâche suivante.
-
-
Téléchargez une clé JSON pour le compte de service que vous venez de créer :
- Dans Cloud Console, cliquez sur l'adresse e-mail du compte de service que vous avez créé.
- Cliquez sur Keys (Clés).
- Cliquez sur Add key (Ajouter une clé), puis sur Create new key (Créer une clé).
-
Cliquez sur Créer. Un fichier de clé JSON est téléchargé sur votre ordinateur.
Veillez à stocker le fichier de clé en toute sécurité, car il peut être utilisé pour s'authentifier en tant que compte de service. Vous pouvez déplacer et renommer ce fichier comme vous le souhaitez.
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.)
- Cliquez sur Fermer.
Après avoir créé un compte de service, si vous souhaitez ajouter ou supprimer un rôle, vous devez utiliser la page IAM de la console Cloud. 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.