Présentation
Cette étape explique comment créer les comptes de service Google Cloud requis pour le fonctionnement d'Apigee hybrid et leur attribuer les rôles IAM appropriés.
Cette procédure utilise les deux variables d'environnement suivantes définies à l'étape 2: Télécharger les graphiques Apigee Helm. Ces variables sont facultatives. Si vous ne les avez pas définis, remplacez le chemin d'accès de répertoire approprié pour chaque variable dans les exemples de code.
$APIGEE_HELM_CHARTS_HOME
: répertoire dans lequel vous avez téléchargé les charts Helm Apigee, définis à l'étape 2: Télécharger les charts Apigee Helm.$PROJECT_ID
: ID de votre projet Google Cloud, défini dans la Partie 1: Configuration du projet et de l'organisation – Étape 1: Activer les API.
Environnements de production et environnements hors production
Ce guide fait référence à des installations de production et hors production. Une installation de production est réglée pour des valeurs élevées de capacité d'utilisation, de stockage et d'évolutivité. Une installation hors production utilise moins de ressources et sert principalement à l'apprentissage et à la démonstration.
Lorsque vous créez et configurez des comptes de service pour Apigee hybrid, il est important de connaître le type d'installation que vous ciblez.
Pour les installations de production, nous vous recommandons de créer un compte de service distinct pour chaque composant Apigee hybrid. Par exemple, chacun des composants runtime, mart, metrics, udca, etc., possède son propre compte de service.
Pour les installations hors production, vous pouvez créer un seul compte de service qui s'applique à tous les composants.
Pour en savoir plus sur les comptes de service utilisés par Apigee et les rôles qui leur sont attribués, consultez la page Comptes de service et rôles utilisés par les composants hybrides.
Authentifier les comptes de service
Apigee hybrid accepte trois méthodes d'authentification des comptes de service Google:
Workload Identity sur AKS, EKS ou GKE
Pour les installations Apigee hybrid sur GKE, Google Cloud propose une option appelée Workload Identity servant à authentifier les composants d'exécution hybrides. Cette option n'utilise pas les fichiers de certificat téléchargés pour authentifier les comptes de service, mais associe les comptes de service Google Cloud que vous créez à cette étape aux comptes de service Kubernetes dans le cluster Kubernetes. Consultez la section Activer Workload Identity sur GKE ou Activer la fédération d'identité de charge de travail sur AKS et EKS.
Créer les comptes de service
Apigee hybrid utilise les comptes de service suivants :
Prod
Compte de service | Rôles IAM | Graphique Helm Apigee |
---|---|---|
apigee-cassandra |
Administrateur des objets Storage | apigee-datastore |
apigee-logger |
Rédacteur de journaux | apigee-telemetry |
apigee-mart |
Agent Apigee Connect | apigee-org |
apigee-metrics |
Rédacteur de métriques Monitoring | apigee-telemetry |
apigee-runtime |
Aucun rôle requis | apigee-env |
apigee-synchronizer |
Gestionnaire de synchronisateur Apigee | apigee-env |
apigee-udca |
Agent d'analyses Apigee | apigee-org apigee-env |
apigee-watcher |
Agent d'exécution Apigee | apigee-org |
Hors production
Compte de service | Rôles IAM | Graphique Helm Apigee |
---|---|---|
apigee-non-prod |
Administrateur des objets de l'espace de stockage Rédacteur de journaux Agent Apigee Connect Rédacteur de métriques de surveillance Gestionnaire de synchronisateur Apigee Agent d'analyse Apigee Agent d'exécution Apigee |
apigee-datastore apigee-telemetry apigee-org apigee-env |
L'outil create-service-account
Apigee fournit un outil, create-service-account
, dans le répertoire apigee-operator/etc/tools
:
$APIGEE_HELM_CHARTS_HOME/ └── apigee-operator/ └── etc/ └── tools/ └── create-service-account
Cet outil crée les comptes de service, attribue les rôles IAM à chaque compte et télécharge les fichiers de certificat au format JSON pour chaque compte.
Vérifiez que vous pouvez exécuter create-service-account
. Si vous venez de télécharger les graphiques, il est possible que le fichier create-service-account
ne soit pas en mode exécutable. Exécutez la commande suivante dans votre répertoire APIGEE_HELM_CHARTS_HOME :
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account --help
Si le résultat indique permission denied
, vous devez rendre le fichier exécutable, par exemple avec chmod
sous Linux, MacOS ou UNIX, ou dans l'explorateur Windows, ou à l'aide de la commande icacls
dans Windows. Exemple :
chmod +x $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account
Créer les comptes de service
Comme Helm n'est pas compatible avec le référencement de fichiers en dehors du répertoire de chart, vous allez créer chaque fichier de certificat de compte de service dans le répertoire de chart pour le composant hybride correspondant.
Pour les étapes suivantes, choisissez si vous configurez une installation de production ou hors production.
Prod
- Assurez-vous que la variable d'environnement
PROJECT_ID
est définie.echo $PROJECT_ID
create-service-account tool uses the value of the
Si ce n'est pas le cas, définissez-la avec votre ID de projet Google Cloud ou ajoutez l'optionPROJECT_ID
environment variable--project-id PROJECT_ID
aux commandescreate-service-account
. -
Créez les comptes de service à l'aide des commandes suivantes, où
$APIGEE_HELM_CHARTS_HOME
correspond au chemin d'accès où vous avez téléchargé les graphiques Helm Apigee. Vous pouvez être invité à créer chaque compte de service. Répondre avecy
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-cassandra \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-datastore
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-logger \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-telemetry
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-mart \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-metrics \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-telemetry
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-runtime \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-env
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-synchronizer \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-env
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-udca \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-env
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-udca \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-watcher \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
- Copiez le fichier JSON
apigee-udca
dans le répertoire de chartapigee-env
. Il est nécessaire pour les opérations de champ d'application organisation et environnement.cp $APIGEE_HELM_CHARTS_HOME/apigee-org/$PROJECT_ID-apigee-udca.json $APIGEE_HELM_CHARTS_HOME/apigee-env/
- Vérifiez que les fichiers de compte de service ont été créés dans les répertoires appropriés en vérifiant le contenu du répertoire de chaque graphique. Vous devriez obtenir le résultat suivant :
ls ./apigee-datastore
Chart.yaml PROJECT_ID-apigee-cassandra.json templates values.yamlls ./apigee-telemetry
Chart.yaml PROJECT_ID-apigee-logger.json PROJECT_ID-apigee-metrics.json templates values.yamlls ./apigee-org
Chart.yaml PROJECT_ID-apigee-udca.json templates PROJECT_ID-apigee-mart.json PROJECT_ID-apigee-watcher.json values.yamlls ./apigee-env
Chart.yaml PROJECT_ID-apigee-runtime.json PROJECT_ID-apigee-synchronizer.json templates values.yaml
Hors production
- Assurez-vous que la variable d'environnement
PROJECT_ID
est définie.echo $PROJECT_ID
create-service-account tool uses the value of the
Si ce n'est pas le cas, définissez-la avec votre ID de projet Google Cloud ou ajoutez l'optionPROJECT_ID
environment variable--project-id PROJECT_ID
aux commandescreate-service-account
. -
Créez le compte de service à l'aide de la commande suivante, où
$APIGEE_HELM_CHARTS_HOME
correspond au chemin d'accès où vous avez téléchargé les graphiques Helm Apigee. Vous pouvez être invité à créer chaque compte de service. Répondre avecy
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env non-prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-datastore
- Vérifiez le nom du fichier de compte de service créé dans le répertoire
apigee-datastore
:ls $APIGEE_HELM_CHARTS_HOME/apigee-datastore
Chart.yaml PROJECT_ID-apigee-non-prod.json templates values.yaml
- Copiez le fichier du compte de service dans les autres répertoires de graphiques qui devront y faire référence:
cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME.json $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME.json $APIGEE_HELM_CHARTS_HOME/apigee-org/
cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME.json $APIGEE_HELM_CHARTS_HOME/apigee-env/
Pour en savoir plus sur les comptes de service et l'outil create-service-account
, consultez la page suivante:
Vous avez à présent créé des comptes de service et attribué les rôles nécessaires aux composants Apigee hybrid. Ensuite, créez les certificats TLS requis par la passerelle d'entrée hybride.