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.
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 :
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 :
- (Recommandé) Outil
create-service-account
- Google Cloud Console
- SDK gcloud
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
:
- 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. - Créez un répertoire pour stocker vos clés de compte de service. Exemple :
mkdir ./service-accounts
- 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 serviceapigee-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. - 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 :
- Ouvrez Google Cloud Console, puis connectez-vous avec le compte que vous avez créé à l'étape 1 : Créer un compte Google Cloud.
- Sélectionnez le projet que vous avez créé à l'étape 2 : Créer un projet Google Cloud.
- 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.
- 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.
- 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 :
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é.
- 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 :
Utilisez cette vue pour attribuer un rôle à votre nouveau compte de service.
- Cliquez sur la liste déroulante Sélectionner un rôle.
- 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 :
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.
- Cliquez sur Continuer.
Google Cloud affiche la vue Autoriser les utilisateurs à accéder à ce compte de service :
- 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é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 :
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.)
- 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) :
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.