Convalida dell'account di servizio

Apigee ibrida fornisce la convalida che garantisce la posizione degli account di servizio in modo che le chiavi siano corrette e che gli account dispongano delle autorizzazioni appropriate nel progetto GCP. 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 attivate le API corrette per il tuo progetto GCP affinché la convalida funzioni.

Abilita convalida autorizzazioni account di servizio

Per attivare la convalida delle autorizzazioni:

  1. Assicurati che l' API Cloud Resource Manager sia abilitata per il tuo progetto GCP:
    1. Apri Google Cloud Console e accedi con l'account che hai 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 & Servizi.
    4. Cerca "Cloud Resource Manager".
    5. Individua il servizio API Cloud Resource Manager e fai clic sul servizio.
    6. Se non è attivato, fai clic su Attiva.

    Puoi anche abilitare l'API tramite gcloud:

    gcloud services enable cloudresourcemanager.googleapis.com --project GCP_project_ID
  2. Nel file delle sostituzioni, 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 del runtime ibrido Apigee al cluster, convalida le chiavi dell'account di servizio incluse nel file delle sostituzioni.

Risoluzione degli errori di convalida

Se la convalida non va a buon fine, il deployment di runtime si interrompe e apigeectl esce. Per risolvere i problemi relativi all'errore dell'account di servizio, è utile sapere che la convalida controlla le autorizzazioni in questo ordine:

  1. Autorizzazione sull'ID progetto.
  2. (Solo per UDCA e Synchronizer). Se il controllo delle autorizzazioni per il progetto non va a buon fine, la convalida procede alla verifica dell'autorizzazione in base al criterio IAM dell'ambiente Apigee. Questi ASA hanno ambito di ambiente e gli ambienti supportano autorizzazioni più granulari.

    Per aggiornare il criterio IAM per un ambiente specifico, vai all'interfaccia utente ibrida. Vai ad Amministratore > ambienti > accesso

Ad esempio, il seguente è un messaggio di errore che indica che la verifica dell'autorizzazione non è riuscita:

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 correggere questo errore, aggiungi i ruoli richiesti all'account di servizio. Per informazioni sulla creazione e sulla modifica degli account di servizio, consulta la sezione Creare gli account di servizio. Per verificare le autorizzazioni richieste per ogni componente ibrido Apigee, consulta l'articolo sugli account di servizio e sui ruoli utilizzati dai componenti ibridi.

Disattiva convalida autorizzazioni

Per disabilitare la convalida delle autorizzazioni 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
...