Ottenere un token di autorizzazione
Per effettuare le chiamate API Apigee descritte più avanti in questo argomento, devi ottenere un'autorizzazione con il ruolo Amministratore organizzazione Apigee.
- Se non sei il proprietario del progetto Google Cloud associato al tuo modello Apigee hybrid
assicurati che il tuo account utente Google Cloud abbia il ruolo roles/apigee.admin (Apigee).
Amministratore dell'organizzazione). 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 includere
roles/apigee.admin
. - Se non disponi di
roles/apigee.admin
, aggiungi il metodo Apigee Amministratore dell'organizzazione al tuo account utente. Utilizza il seguente comando per aggiungere 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
-
Nella riga di comando, ottieni la tua autenticazione
gcloud
le credenziali utilizzando il comando seguente:Linux/MacOS
export TOKEN=$(gcloud auth print-access-token)
Per verificare che il token sia stato compilato, usa
echo
come 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 inserito, utilizza
echo
, come illustrato nell'esempio seguente:echo %TOKEN%
Il token dovrebbe essere visualizzato come stringa codificata.
Attivare l'accesso al sincronizzatore
Per abilitare l'accesso al sincronizzatore:
- 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, deve essereapigee-synchronizer
. Utilizza il seguente comando:gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"
- Chiama il
setSyncAuthorization
API per abilitare le autorizzazioni richieste per synchronousr utilizzando il seguente comando:
Nessuna residenza dei dati
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 del tuo ibrido dell'organizzazione.apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: l'indirizzo email dell'account di servizio.
Residenza dei dati
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"'"]}'
Dove:
CONTROL_PLANE_LOCATION
: la località per i dati del piano di controllo se la tua installazione ibrida utilizza la residente dei dati. Si tratta della posizione in cui vengono archiviati i contenuti principali del cliente, come i bundle proxy. Per un elenco, consulta Regioni del piano di controllo dell'API Apigee disponibili.${ORG_NAME}
: il nome della tua organizzazione ibrida.apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: l'indirizzo email dell'account di servizio.
- Per verificare che l'account di servizio sia stato impostato, utilizza il comando seguente per chiamare l'API e ottenere
un elenco di account di servizio:
Nessuna residenza dei dati
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
Residenza dei dati
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
L'output è simile al seguente:
{ "identities":[ "serviceAccount:apigee-synchronizer@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Ora hai abilitato i tuoi piani di runtime e gestione ibridi di Apigee per comunicare. Successivamente, installa cert-manager per consentire ad Apigee hybrid di interpretare e gestire i certificati.