Obtener un token de autorización
Para hacer 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 el rol de administrador de la organización de Apigee.
- Si no eres el propietario del proyecto de Google Cloud asociado a tu organización de Apigee hybrid, asegúrate de que tu cuenta de usuario de Google Cloud tenga el rol roles/apigee.admin (administrador de la organización de Apigee). Puedes consultar los roles que tienes asignados 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
, añade el rol Administrador de organización de Apigee a tu cuenta de usuario. Usa el siguiente comando para añadir 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 o macOS
export TOKEN=$(gcloud auth print-access-token)
Para comprobar que se ha rellenado el token, usa
echo
, como se muestra en el siguiente ejemplo:echo $TOKEN
Debería mostrar tu token como una cadena codificada.
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
Para comprobar que se ha rellenado el token, usa
echo
, como se muestra en el siguiente ejemplo:echo %TOKEN%
Debería mostrar tu token como una cadena codificada.
Habilitar el acceso del sincronizador
Para habilitar el acceso del sincronizador, sigue estos pasos:
- Obtén la dirección de correo de la cuenta de servicio a la que vas a conceder acceso de sincronizador.
En los entornos que no son de producción (como se sugiere en este tutorial), debería ser
apigee-non-prod
. En 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 setSyncAuthorization para habilitar los permisos necesarios para 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\"]}"
Donde:
${ORG_NAME}
: nombre de tu organización híbrida.apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: la dirección de correo de la cuenta de servicio.
Residencia de 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\"]}"
Donde:
CONTROL_PLANE_LOCATION
: la ubicación de los datos del plano de control si tu instalación híbrida usa la residencia de datos. Es la ubicación en la que se almacena el contenido principal del cliente, como los paquetes proxy. Para ver una lista, consulta Regiones disponibles del plano de control de la API de Apigee.${ORG_NAME}
: el nombre de tu organización híbrida.apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: la dirección de correo de la cuenta de servicio.
- Para verificar que se ha configurado la cuenta de servicio, usa el siguiente comando para llamar a la API y obtener una lista de 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 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=" }
Ahora, los planos de gestión y de entorno de ejecución de Apigee Hybrid pueden comunicarse. A continuación, instala cert-manager para que Apigee hybrid pueda interpretar y gestionar certificados.