Recuperare 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 alla tua organizzazione ibrida Apigee, assicurati che il tuo account utente Google Cloud abbia il ruolo roles/apigee.admin (Amministratore dell'organizzazione Apigee). Puoi controllare i ruoli assegnati a te 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, 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, 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.
Abilita l'accesso per sincronizzare
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 l'API
setSyncAuthorization
per abilitare le autorizzazioni richieste per Synchronizer 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 della tua organizzazione ibrida.apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: l'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 posizione dei dati del piano di controllo se l'installazione ibrida utilizza la residenza dei dati. Questa è la posizione in cui sono archiviati i contenuti principali dei clienti, 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 attivato la comunicazione tra i piani di gestione e di runtime di Apigee hybrid. Installa poi cert-manager per consentire ad Apigee hybrid di interpretare e gestire certificati.