Apigee Hybrid fornisce la convalida che garantisce che la posizione delle chiavi degli account di servizio sia corretta e che gli account dispongano delle autorizzazioni appropriate nel progetto Google Cloud. Questa convalida è attivata per impostazione predefinita.
Questa sezione descrive come attivare o disattivare la convalida dell'account di servizio. Inoltre, questo passaggio garantisce che le API appropriate siano attivate per il tuo progetto Google Cloud in modo che la convalida funzioni.
Attivare la convalida delle autorizzazioni dell'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 > Raccolta.
- Cerca "Cloud Resource Manager".
- Individua il servizio API Cloud Resource Manager e fai clic su di esso.
- Se non è abilitata, fai clic su Attiva.
Puoi anche abilitare l'API utilizzando gcloud:
gcloud services enable cloudresourcemanager.googleapis.com --project GCP_project_ID
- Nel file delle sostituzioni, aggiungi la proprietà
validateServiceAccounts
e impostala sutrue
. Ad esempio:... # Enables strict validation of service account permissions. validateServiceAccounts: true ...
Quando la convalida è abilitata, in qualsiasi momento apigeectl applica la i componenti di runtime ibridi di Apigee per il tuo cluster, convalida Chiavi dell'account di servizio incluse negli override .
Risolvere i problemi relativi agli errori di convalida
Se la convalida non riesce, il deployment di runtime si interrompe e apigeectl
esce.
Per risolvere i problemi relativi all'account di servizio, è utile sapere che la convalida controlla le autorizzazioni in questo ordine:
- Autorizzazione per l'ID progetto.
- (Solo per UDCA e Synchronizer) Se il controllo delle autorizzazioni nel progetto non va a buon fine, la convalida procede a verificare l'autorizzazione in base al criterio IAM dell'ambiente Apigee. Queste SA sono
con ambito di ambiente e ambienti supportano autorizzazioni più granulari.
Per aggiornare il criterio IAM per un ambiente specifico, vai all'interfaccia utente ibrida. Vai a Amministrazione > Ambienti > Accesso
Ad esempio, di seguito è riportato un messaggio di errore relativo a 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 all'account di servizio. Per informazioni sulla creazione e sulla modifica degli account di servizio, vedi Creare gli account di servizio. Per verificare le autorizzazioni richieste per ogni componente ibrido Apigee, vedi Account di servizio e ruoli utilizzati dai componenti ibridi.
Disattivare la convalida delle autorizzazioni
Per disattivare la convalida delle autorizzazioni dell'account di servizio, imposta la proprietà validationServiceAccounts
nel file delle sostituzioni su false
, come mostrato nell'esempio seguente:
... # Enables strict validation of service account permissions. validateServiceAccounts: false ...