Obtenir un jeton d'autorisation
Pour effectuer les appels d'API Apigee décrits plus loin dans cette rubrique, vous devez obtenir un jeton d'autorisation doté du rôle Administrateur de l'organisation Apigee.
- Si vous n'êtes pas propriétaire du projet Google Cloud associé à votre organisation Apigee hybrid, assurez-vous que votre compte utilisateur Google Cloud dispose du rôle roles/apigee.admin (Administrateur de l'organisation Apigee). Vous pouvez vérifier les rôles qui vous sont attribués à l'aide de cette commande :
gcloud projects get-iam-policy ${PROJECT_ID} \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:your_account_email"
Exemple :
gcloud projects get-iam-policy my-project \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:myusername@example.com"
Le résultat doit inclure
roles/apigee.admin
. - Si vous ne disposez pas de
roles/apigee.admin
, ajoutez le rôle Administrateur de l'organisation Apigee à votre compte utilisateur. Exécutez la commande suivante pour ajouter le rôle à votre compte utilisateur :gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member user:your_account_email \ --role roles/apigee.admin
Exemple :
gcloud projects add-iam-policy-binding my-project \ --member user:myusername@example.com \ --role roles/apigee.admin
-
Sur la ligne de commande, obtenez vos identifiants d'authentification
gcloud
à l'aide de la commande suivante :Linux/MacOS
export TOKEN=$(gcloud auth print-access-token)
Pour vérifier que votre jeton a été renseigné, utilisez
echo
, comme le montre l'exemple suivant :echo $TOKEN
Votre jeton doit s'afficher sous forme de chaîne encodée.
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
Pour vérifier que votre jeton a été renseigné, utilisez
echo
, comme le montre l'exemple suivant :echo %TOKEN%
Votre jeton doit s'afficher sous forme de chaîne encodée.
Activer l'accès au synchronisateur
Pour activer l'accès du synchronisateur, procédez comme suit :
- Obtenez l'adresse e-mail du compte de service auquel vous accordez l'accès au synchronisateur.
Pour les environnements hors production (comme suggéré dans ce tutoriel), il doit s'agir de
apigee-non-prod
. Pour les environnements de production, il doit s'agir deapigee-synchronizer
. Exécutez la commande suivante :gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"
- Appelez l'API setSyncAuthorization afin d'activer les autorisations requises pour le synchronisateur à l'aide de la commande suivante :
Sans résidence des données
curl -X POST -H "Authorization: Bearer ${TOKEN}" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com"'"]}'
Où :
${ORG_NAME}
: nom de votre organisation hybride.apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: adresse e-mail du compte de service.
Résidence des données
curl -X POST -H "Authorization: Bearer ${TOKEN}" \ -H "Content-Type:application/json" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/${ORG_NAME}:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com"'"]}'
Où :
CONTROL_PLANE_LOCATION
: emplacement des données de votre plan de contrôle si votre installation hybride utilise la résidence des données. Il s'agit de l'emplacement où sont stockés le contenu principal du client, comme les bundles proxy. Pour obtenir la liste, consultez Régions du plan de contrôle de l'API Apigee disponibles.${ORG_NAME}
: nom de votre organisation hybride.apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: adresse e-mail du compte de service.
- Afin de vérifier que le compte de service a été défini, utilisez la commande suivante pour appeler l'API et obtenir une liste de comptes de service :
Sans résidence des données
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
Résidence des données
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
Le résultat ressemble à ceci :
{ "identities":[ "serviceAccount:apigee-synchronizer@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Vous avez maintenant activé la communication entre vos plans d'exécution et de gestion Apigee hybrid. Installez ensuite cert-manager pour permettre à Apigee hybride d'interpréter et de gérer les certificats.