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

    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 siguiente

    Producció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

  2. 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"'"]}'
    

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

1 2 3 4 5 6 7 (SIGUIENTE) Paso 8: Instala el entorno de ejecución híbrido 9 10