Obtén un token de autorización
Para realizar las llamadas a la API de Apigee que se describen más adelante en este tema, debes obtener un token de autorización que tenga la función de administrador de la organización de Apigee.
- Si no eres el propietario del proyecto de Google Cloud asociado a tu organización híbrida de Apigee, asegúrate de que tu cuenta de usuario de GCP tenga la función roles/apigee.admin (Administrador de la organización de Apigee). Puedes verificar las funciones que se te asignaron con este comando:
gcloud projects get-iam-policy ${PROJECT_ID} \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:your_account_email"
Por ejemplo:
gcloud projects get-iam-policy my-project \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:myusername@example.com"
El resultado debería ser similar a lo siguiente:
ROLE roles/apigee.admin roles/compute.admin roles/container.admin roles/gkehub.admin roles/iam.serviceAccountAdmin roles/iam.serviceAccountKeyAdmin roles/meshconfig.admin roles/owner roles/resourcemanager.projectIamAdmin roles/servicemanagement.admin roles/serviceusage.serviceUsageAdmin
- Si no tienes
roles/apigee.admin
en tus funciones, agrega la función administrador de la organización de Apigee a tu cuenta de usuario. Usa el siguiente comando para agregar la función a tu cuenta de usuario:gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member user:your_account_email \ --role roles/apigee.admin
Por ejemplo:
gcloud projects add-iam-policy-binding my-project \ --member user:myusername@example.com \ --role roles/apigee.admin
-
En la línea de comandos, obtén tus credenciales de autenticación de
gcloud
con el siguiente comando:Linux/MacOS
export TOKEN=$(gcloud auth print-access-token)
Para verificar que tu token se haya propagado, usa
echo
, como se muestra en el siguiente ejemplo:echo $TOKEN
Se debería mostrar tu token como una string codificada.
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
Para verificar que tu token se haya propagado, usa
echo
, como se muestra en el siguiente ejemplo:echo %TOKEN%
Se debería mostrar tu token como una string codificada.
Habilita el acceso del sincronizador
Para habilitar el acceso del sincronizador, haz lo siguiente:
- Obtenga la dirección de correo electrónico de la cuenta de servicio a la que le otorga acceso de sincronizador.
Para entornos que no son de producción (como se sugiere en este instructivo), debe ser
apigee-non-prod
. Para los entornos de producción, debe serapigee-synchronizer
. Usa el siguiente comando:No producción
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-non-prod"
Si coincide con el patrón
apigee-non-prod@${ORG_NAME}.iam.gserviceaccount.com
, puedes usarlo en el paso siguienteProducción
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"
Si coincide con el patrón
apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com
, puedes usarlo en el paso siguiente - Llama a la API de setSyncAuthorization para habilitar los permisos requeridos de Synchronizer con el siguiente comando:
No producción
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-non-prod@${ORG_NAME}.iam.gserviceaccount.com"'"]}'
Prod.
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"'"]}'
Aquí:
${ORG_NAME}
: Es el nombre de tu organización híbrida.apigee-non-prod${ORG_NAME}.iam.gserviceaccount.com
o
apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: Es la dirección de correo electrónico de la cuenta de servicio.
- A fin de verificar que se haya configurado la cuenta de servicio, usa el siguiente comando para llamar a la API y obtener una lista de cuentas de servicio:
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
El resultado es similar al siguiente:
No producción
{ "identities":[ "serviceAccount:apigee-non-prod@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Producción
{ "identities":[ "serviceAccount:apigee-synchronizer@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
No has permitido que los planos de administración y el entorno de ejecución híbrido de Apigee se comuniquen. A continuación, aplica tu configuración al entorno de ejecución híbrido y completa la instalación de Apigee Hybrid.
Próximo paso
1 2 3 4 5 6 7 (SIGUIENTE) Paso 8: Comprueba la preparación del clúster 9 10