Paso 7: Habilita el acceso del sincronizador

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.

  1. 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.

  2. 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
  3. 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:

  1. 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 ser apigee-synchronizer. Usa el siguiente comando:
    gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"
  2. 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íbrida
    • apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com: La dirección de correo electrónico de la cuenta de servicio
  3. 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.

Próximo paso

1 2 3 4 5 6 7 (SIGUIENTE) Paso 8: Instala cert-manager 9 10 11