Ottenere 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.
- Se non sei il proprietario del progetto Google Cloud associato alla tua organizzazione Apigee ibrida, 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 ruolo Amministratore dell'organizzazione Apigee al tuo account utente. Utilizza il seguente comando 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
-
Nella riga di comando, recupera le credenziali di autenticazione
gcloud
utilizzando il seguente comando:Linux / MacOS
export TOKEN=$(gcloud auth print-access-token)
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.
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 attivare l'accesso al sincronizzatore:
- Recupera l'indirizzo email dell'account di servizio a cui stai concedendo l'accesso al sincronizzatore.
Per gli ambienti non di produzione (come suggerito in questo tutorial), deve 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'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 posizione dei dati del piano di controllo se l'installazione ibrida utilizza la residenza 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 seguente comando 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. Successivamente, installa cert-manager per consentire ad Apigee hybrid di interpretare e gestire i certificati.