Passaggio 7: abilita l'accesso del sincronizzatore

Recuperare un token di autorizzazione

Per effettuare le chiamate API Apigee descritte più avanti in questo argomento, devi ottenere un token di autorizzazione con il ruolo Amministratore organizzazione Apigee.

  1. Se non sei il proprietario del progetto Google Cloud associato alla tua organizzazione ibrida Apigee, assicurati che il tuo account utente Google Cloud abbia il ruolo roles/apigee.admin (Amministratore organizzazione Apigee). Puoi controllare i ruoli che ti sono stati assegnati con questo comando:
    gcloud projects get-iam-policy ${PROJECT_ID}  \
      --flatten="bindings[].members" \
      --format='table(bindings.role)' \
      --filter="bindings.members:your_account_email"
    

    Ad esempio:

    gcloud projects get-iam-policy my-project  \
      --flatten="bindings[].members" \
      --format='table(bindings.role)' \
      --filter="bindings.members:myusername@example.com"

    L'output dovrebbe essere simile al seguente:

    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. Se non hai roles/apigee.admin nei ruoli, aggiungi il ruolo Amministratore organizzazione Apigee al tuo account utente. Utilizza il comando seguente per aggiungere il ruolo al tuo account utente:
    gcloud projects add-iam-policy-binding ${PROJECT_ID} \
      --member user:your_account_email \
      --role roles/apigee.admin

    Ad esempio:

    gcloud projects add-iam-policy-binding my-project \
      --member user:myusername@example.com \
      --role roles/apigee.admin
  3. Nella riga di comando, recupera le credenziali di autenticazione gcloud utilizzando il seguente comando:

    Linux e MacOS

    export TOKEN=$(gcloud auth print-access-token)

    Per verificare che il token sia stato compilato, utilizza echo, come mostrato nell'esempio seguente:

    echo $TOKEN

    Il token dovrebbe essere visualizzato come stringa codificata.

    Windows

    for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a

    Per verificare che il token sia stato compilato, utilizza echo, come mostrato nell'esempio seguente:

    echo %TOKEN%

    Il token dovrebbe essere visualizzato come stringa codificata.

Abilita l'accesso per sincronizzare

Per abilitare l'accesso al sincronizzatore:

  1. Ottieni l'indirizzo email per l'account di servizio a cui stai concedendo l'accesso per la sincronizzazione. Per gli ambienti non di produzione (come suggerito in questo tutorial) dovrebbe essere apigee-non-prod. Per gli ambienti di produzione, il valore deve essere apigee-synchronizer. Utilizza questo comando:

    Non di produzione

    gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-non-prod"

    Se corrisponde al pattern apigee-non-prod@${ORG_NAME}.iam.gserviceaccount.com, puoi utilizzarlo nel passaggio successivo.

    Produzione

    gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"

    Se corrisponde al pattern apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com, puoi utilizzarlo nel passaggio successivo.

  2. Chiama l'API setSyncAuthorization per abilitare le autorizzazioni richieste per synchronousr utilizzando il seguente comando:

    Non di produzione

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

    Produzione

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

    Dove:

    • ${ORG_NAME}: il nome della tua organizzazione ibrida.
    • apigee-non-prod${ORG_NAME}.iam.gserviceaccount.com o
      apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com: l'indirizzo email dell'account di servizio.
  3. Per verificare che l'account di servizio sia stato impostato, utilizza il comando seguente per chiamare l'API e visualizzare un elenco di account di servizio:
    curl -X GET -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
        

    L'output è simile al seguente:

    Non di produzione

    {
       "identities":[
          "serviceAccount:apigee-non-prod@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }

    Produzione

    {
       "identities":[
          "serviceAccount:apigee-synchronizer@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }

Ora hai reso possibile la comunicazione tra i tuoi piani di runtime e gestione ibridi di Apigee. Ora applichiamo la configurazione al runtime ibrido e completiamo l'installazione di Apigee hybrid.

1 2 3 4 5 6 16/} 7 /}