Convalida dell'account di servizio

Apigee hybrid fornisce una convalida che garantisce che la località delle chiavi degli account di servizio sia corretta e che gli account dispongano delle autorizzazioni appropriate nel tuo progetto Google Cloud. Questa convalida è abilitata per impostazione predefinita.

Questa sezione descrive come abilitare o disabilitare la convalida dell'account di servizio. Inoltre, questo passaggio garantisce che siano abilitate le API appropriate per il tuo progetto Google Cloud, in modo che la convalida funzioni.

Abilita la convalida delle autorizzazioni dell'account di servizio

Per abilitare la convalida delle autorizzazioni:

  1. Assicurati che l' API Cloud Resource Manager sia abilitata per il tuo progetto Google Cloud:
    1. Apri la console Google Cloud e accedi con l'account creato nel Passaggio 1: crea un account Google Cloud.
    2. Seleziona il progetto che hai creato nel Passaggio 2: crea un progetto Google Cloud.
    3. Seleziona API e servizi > Libreria.
    4. Cerca "Cloud Resource Manager".
    5. Individua il servizio API Cloud Resource Manager e fai clic su di esso.
    6. Se non è abilitata, fai clic su Abilita.

    Puoi anche abilitare l'API utilizzando gcloud:

    gcloud services enable cloudresourcemanager.googleapis.com --project GCP_project_ID
  2. Nel file di override, aggiungi la proprietà validateServiceAccounts e impostala su true. Ad esempio:
    ...
    # Enables strict validation of service account permissions.
    validateServiceAccounts: true
    ...

Quando la convalida è abilitata, ogni volta che apigeectl applica i componenti di runtime ibridi Apigee al tuo cluster, convalida le chiavi dell'account di servizio incluse nel file di override.

Risoluzione dei problemi relativi agli errori di convalida

Se la convalida non va a buon fine, il deployment del runtime si arresta e apigeectl si chiude. Per risolvere gli errori dell'account di servizio, è utile sapere che la convalida controlla le autorizzazioni in questo ordine:

  1. Autorizzazione per l'ID progetto.
  2. (Solo per UDCA e sincronizzatore) Se il controllo delle autorizzazioni del progetto non va a buon fine, la convalida continua per controllare l'autorizzazione in base al criterio IAM dell'ambiente Apigee. Queste SA sono basate sull'ambiente e gli ambienti supportano autorizzazioni più granulari.

    Per aggiornare il criterio IAM per un ambiente specifico, vai all'interfaccia utente ibrida. Vai ad 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, consulta Creare gli account di servizio. Per verificare le autorizzazioni richieste per ogni componente ibrido Apigee, consulta Account di servizio e ruoli utilizzati dai componenti ibridi.

Disabilita convalida delle autorizzazioni

Per disabilitare la convalida dell'autorizzazione dell'account di servizio, imposta la proprietà validationServiceAccounts nel file di override su false, come illustrato nell'esempio seguente:

...
# Enables strict validation of service account permissions.
validateServiceAccounts: false
...