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 debe incluir
roles/apigee.admin
. - Si no tienes
roles/apigee.admin
, agrega el rol administrador de la organización de Apigee a tu cuenta de usuario. Usa el siguiente comando para agregar el rol 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:gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"
- Llama a la API de setSyncAuthorization para habilitar los permisos requeridos de Synchronizer con el siguiente comando:
Sin residencia de datos
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-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: Es la dirección de correo electrónico de la cuenta de servicio.
Residencia de los datos
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"'"]}'
Aquí:
CONTROL_PLANE_LOCATION
: La ubicación de los datos del plano de control si la instalación híbrida usa la residencia de datos. Esta es la ubicación donde se almacena el contenido principal del cliente, como los paquetes de proxy. Para obtener una lista, consulta Regiones del plano de control de la API de Apigee disponibles${ORG_NAME}
: El nombre de tu organización híbridaapigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: La dirección de correo electrónico de la cuenta de servicio
- Para verificar que se haya configurado la cuenta de servicio, usa el siguiente comando para llamar a la API y obtener una lista de las cuentas de servicio:
Sin residencia de datos
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
Residencia de los datos
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
El resultado es similar al siguiente:
{ "identities":[ "serviceAccount:apigee-synchronizer@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Ya habilitaste el plano de ejecución y los de administración de Apigee Hybrid para comunicarse. A continuación, instala cert-manager para permitir que Apigee Hybrid interprete y administre certificados.