Apigee Hybrid fornisce la convalida che garantisce che la posizione delle chiavi dei service account sia corretta e che gli account dispongano delle autorizzazioni appropriate nel tuo progetto Google Cloud. Questa convalida è attiva per impostazione predefinita.
Questa sezione descrive come attivare o disattivare la convalida del account di servizio. Inoltre, questo passaggio garantisce che le API corrette siano abilitate per il tuo progetto Google Cloud in modo che la convalida funzioni.
Abilitare la convalida delle autorizzazioni per l'account di servizio
Per attivare la convalida delle autorizzazioni:
- Assicurati che l'
API Cloud Resource Manager sia abilitata per il tuo progetto Google Cloud:
- Apri la console Google Cloud e accedi con l'account che hai creato nel passaggio 1: crea un account Google Cloud.
- Seleziona il progetto che hai creato nel passaggio 2: crea un progetto Google Cloud.
- Seleziona API e servizi > Libreria.
- Cerca "Cloud Resource Manager".
- Individua il servizio API Cloud Resource Manager e fai clic.
- Se non è abilitata, fai clic su Abilita.
Puoi anche abilitare l'API utilizzando gcloud:
gcloud services enable cloudresourcemanager.googleapis.com --project GCP_PROJECT_ID
- Nel file di override, aggiungi la proprietà
validateServiceAccountse impostala sutrue. Ad esempio:... # Enables strict validation of service account permissions. validateServiceAccounts: true ...
Quando la convalida è attivata, ogni volta che applichi modifiche alla configurazione ai componenti di runtime di Apigee Hybrid al cluster, il grafico Helm o apigeectl convalida le chiavi del service account incluse nel file di override.
Risoluzione dei problemi relativi agli errori di convalida
Se la convalida non riesce, il deployment del runtime si interrompe e helm upgrade /
helm install o apigeectl init / apigeectl apply
termina. Per risolvere i problemi relativi all'account di servizio, è utile sapere che i controlli di convalida
verificano le autorizzazioni in questo ordine:
- Autorizzazione per l'ID progetto.
- (Solo per UDCA e Synchronizer) Se il controllo delle autorizzazioni sul progetto non va a buon fine, la convalida
procede con il controllo delle autorizzazioni rispetto alla policy IAM dell'ambiente Apigee. Questi SA sono
con ambito ambiente e gli ambienti supportano autorizzazioni più granulari.
Per aggiornare la policy IAM per un ambiente specifico, vai all'interfaccia utente ibrida. Vai a Amministrazione > Ambienti > Accesso
Ad esempio, di seguito è riportato un messaggio di errore per un controllo delle autorizzazioni non riuscito:
Invalid Metrics Service Account. Service Account "apigee-metrics@hybrid-project.iam.gserviceaccount.com" is missing 1 or more required permissions [monitoring.metricDescriptors.create monitoring.metricDescriptors.get monitoring.metricDescriptors.list monitoring.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.list monitoring.timeSeries.create]. Visit Service accounts and roles used by hybrid components for more details on setting up Apigee hybrid service account permissions.
Per risolvere questo errore, aggiungi i ruoli richiesti al account di servizio. Per informazioni sulla creazione e la modifica dei service account, vedi Creare i service account. Per verificare le autorizzazioni richieste per ogni componente di Apigee Hybrid, consulta Service account e ruoli utilizzati dai componenti ibridi.
Disattivare la convalida delle autorizzazioni
Per disattivare la convalida dell'autorizzazione dell'account di servizio, imposta la proprietà validationServiceAccounts
nel file di override su false, come mostrato nell'esempio seguente:
... # Enables strict validation of service account permissions. validateServiceAccounts: false ...