Informazioni sugli account di servizio

Un service account è un tipo speciale di account in Google Cloud che consente ai componenti e alle applicazioni di un sistema di interagire tra loro e con altre API. Per ulteriori informazioni su Google Cloud, consulta Informazioni sui servizi Google Cloud.

Hybrid utilizza i service account Google Cloud per eseguire una serie di attività, tra cui:

  • Inviare dati di log e metriche
  • Richieste di pull trace
  • Connettersi ad API Gateway per le richieste API amministrative
  • Esegui backup
  • Scaricare i bundle proxy

Sebbene un account di servizio possa eseguire tutte queste operazioni, Apigee consiglia di creare più service account, ciascuno assegnato a un'attività specifica e ciascuno con il proprio insieme di autorizzazioni. In questo modo la sicurezza viene migliorata compartimentando l'accesso e limitando l'ambito e i privilegi di accesso di ogni account di servizio. Come per gli account utente, queste autorizzazioni vengono applicate assegnando uno o più ruoli alaccount di serviziot.

Per funzionare correttamente, Apigee Hybrid richiede la creazione di diversi service account. Ogni account di servizio richiede uno o più ruoli specifici che gli consentano di svolgere la sua funzione.

La tabella seguente descrive i service account per i componenti ibridi:

Componente* Ruolo Necessario per l'installazione di base? Descrizione
apigee-cassandra Storage Object Admin
roles/storage.objectAdmin
Consente di eseguire backup di Cassandra in Cloud Storage, come descritto in Backup e ripristino.
apigee-distributed-trace Agente Cloud Trace
roles/cloudtrace.agent
Consente al piano di runtime ibrido di partecipare al tracciamento delle richieste distribuite in un formato compatibile con sistemi come Google Cloud Trace e Jaeger.
apigee-logger Logs Writer
roles/logging.logWriter
Consente la raccolta dei dati di logging, come descritto in Logging. Obbligatorio solo per le installazioni di cluster non GKE.
apigee-mart Agente Apigee Connect
roles/apigeeconnect.Agent
Consente l'autenticazione del servizio MART. Il ruolo Agente Apigee Connect consente di comunicare in modo sicuro con il processo Apigee Connect, come descritto in Utilizzo di Apigee Connect.
apigee-metrics Monitoring Metric Writer
roles/monitoring.metricWriter
Consente la raccolta dei dati delle metriche, come descritto nella panoramica della raccolta di metriche.
apigee-org-admin Amministratore organizzazione Apigee
roles/apigee.admin
Consente di chiamare l'API getSyncAuthorization e l'API setSyncAuthorization. Poiché l'amministratore dell'organizzazione Apigee è un ruolo esterno al piano di runtime, non puoi assegnarlo al account di servizio con lo strumento create-service-account.
apigee-synchronizer Gestore sincronizzatore Apigee
roles/apigee.synchronizerManager
Consente al sincronizzatore di scaricare i bundle proxy e i dati di configurazione dell'ambiente. Consente inoltre il funzionamento della funzionalità di tracciamento.
apigee-udca Agente Apigee Analytics
roles/apigee.analyticsAgent
Consente il trasferimento dei dati di traccia, analisi e stato di deployment al control plane.
apigee-watcher Apigee Runtime Agent
roles/apigee.runtimeAgent
Apigee Watcher estrae dal sincronizzatore le modifiche correlate agli host virtuali per un'organizzazione e apporta le modifiche necessarie per configurare l'ingresso di Istio.
* Questo nome viene utilizzato nel nome file della chiave dell'account di servizio scaricata.

Oltre a creare i service account elencati in questa tabella, scarichi anche le relative chiavi private. In seguito, utilizzi queste chiavi per generare token di accesso in modo da poter accedere alle API Apigee.

Crea i service account

Esistono diversi modi per creare service account, tra cui:

Ognuno di questi elementi è descritto nelle sezioni seguenti.

Utilizzare lo strumento di creazione del account di servizio

Lo strumento create-service-account (disponibile dopo aver scaricato ed estratto apigeectl) crea service account specifici per i componenti ibridi e assegna i ruoli richiesti. Lo strumento scarica automaticamente anche le chiavi del account di servizio e le archivia sul computer locale nella directory specificata.

Per creare service account con lo strumento create-service-account:

  1. Scarica ed espandi apigeectl (se non l'hai ancora fatto), come descritto in Scaricare e installare apigeectl.
  2. Crea una directory per archiviare le chiavi del account di servizio. Ad esempio:
    mkdir ./service-accounts
  3. Esegui questi comandi:
    ./tools/create-service-account apigee-metrics ./service-accounts
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-distributed-trace ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts

    Questi comandi creano la maggior parte degli account richiesti e archiviano le relative chiavi nella directory ./service-accounts.

    Se questi comandi non vanno a buon fine, assicurati di aver fatto riferimento a una directory esistente in cui archiviare i file delle chiavi.

    Per ulteriori informazioni sull'utilizzo di create-service-account, consulta il riferimento create-service-account.

Utilizzare la console Google Cloud

Puoi creare service account con la console Google Cloud.

Per creare service account con la console Google Cloud:

  1. Apri la console Google Cloud e accedi con l'account utente 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 IAM e amministrazione > Service account.

    La console mostra la visualizzazione Service account. Questa visualizzazione mostra un elenco dei service account del progetto. Nella maggior parte dei casi, non sono ancora elencati account, anche se potrebbero essere presenti service account predefiniti nell'elenco, a seconda di come hai creato il progetto.

  4. Per creare un nuovo account di servizio, fai clic su +Crea service account nella parte superiore della visualizzazione.

    Viene visualizzata la pagina Dettagli del service account.

  5. Nel campo Nome service account, inserisci il nome del account di servizio.

    Apigee consiglia di utilizzare un nome che rifletta il ruolo del account di servizio. Puoi impostare il nome del account di servizio in modo che corrisponda al nome del componente che lo utilizza. Ad esempio, imposta il nome del account di servizio Logs Writer apigee-logger.

    Per ulteriori informazioni sui nomi e sui ruoli dei service account, consulta Service account e ruoli utilizzati dai componenti ibridi.

    Man mano che inserisci un nome, Google Cloud genera un ID account di servizio univoco, strutturato come un indirizzo email, come mostrato nell'esempio seguente:

    Esempio di ID di apigee-logger@hybrid-42.iam.gserviceaccount.com

    (Facoltativo) Puoi aggiungere una descrizione nel campo Descrizione service account. Le descrizioni sono utili per ricordarti a cosa serve un determinato account di servizio.

  6. Fai clic su Crea.

    Google Cloud crea un nuovo account di servizio e mostra la visualizzazione Autorizzazioni service account, come mostrato nell'esempio seguente:

    Crea un account di servizio senza autorizzazioni selezionate

    Utilizza questa visualizzazione per assegnare un ruolo al nuovo account di servizio.

  7. Fai clic sull'elenco a discesa Seleziona un ruolo.
  8. Seleziona il ruolo per il account di servizio, come descritto in Service account e ruoli utilizzati dai componenti ibridi. Se i ruoli Apigee non vengono visualizzati nell'elenco a discesa, aggiorna la pagina.

    Ad esempio, per il componente di logging, seleziona il ruolo Logs Writer.

    Se necessario, inserisci il testo per filtrare l'elenco dei ruoli per nome. Ad esempio, per elencare solo i ruoli Apigee, inserisci Apigee nel campo del filtro, come mostrato nell'esempio seguente:

    Elenco delle autorizzazioni del service account corrispondenti ad Apigee

    Puoi aggiungere più di un ruolo a un account di servizio, ma Apigee consiglia di utilizzare un solo ruolo per ciascuno dei service account consigliati. Per modificare i ruoli di un account di servizio dopo averlo creato, utilizza il riquadro IAM e amministrazione in Google Cloud.

  9. Fai clic su Continua.

    Google Cloud mostra la visualizzazione Concedi agli utenti l'accesso a questo service account:

    Campi per i ruoli Utenti service account e Amministratori service account, pulsante Crea chiave

  10. Nella sezione Crea chiave (facoltativo), fai clic su Crea chiave.

    Google Cloud ti offre la possibilità di scaricare una chiave JSON o P12:

    Seleziona il tipo di chiave JSON o P12

  11. Seleziona JSON (l'impostazione predefinita) e fai clic su Crea.

    Google Cloud salva il file della chiave in formato JSON sul computer locale e mostra una conferma quando l'operazione va a buon fine, come mostrato nell'esempio seguente:

    Esempio di filename.json

    In seguito utilizzerai alcune delle chiavi del account di servizio per configurare i servizi di runtime ibrido. Ad esempio, quando configuri l'ambiente di runtime ibrido, devi specificare la posizione delle chiavi del service account utilizzando le proprietà SERVICE_NAME.serviceAccountPath.

    Queste chiavi vengono utilizzate dagli account di servizio per ottenere token di accesso, che l'account di servizio utilizza poi per effettuare richieste alle API Apigee per tuo conto. (Ma non è ancora il momento; per ora, ricorda solo dove l'hai salvato).

  12. Ripeti i passaggi da 4 a 11 per ogni account di servizio elencato in Service account e ruoli utilizzati dai componenti ibridi (ad eccezione dell'account apigee-mart, a cui non è associato alcun ruolo, quindi non assegnargli un ruolo).

    Al termine, dovresti avere i seguenti service account (oltre a quelli predefiniti, se presenti):

    Elenco degli account di servizio. Casella di selezione della colonna 1, colonna 2 Email, colonna 3 Stato, colonna 4 Nome account di servizio

    Nella console Google Cloud, i service account sono indicati con l'icona tasto sul lato sinistro, metà rettangolo sul lato destro, tutto sottolineato.

Dopo aver creato un account di servizio, se vuoi aggiungere o rimuovere un ruolo, devi utilizzare la visualizzazione IAM e amministrazione. Non puoi gestire i ruoli per i service account nella visualizzazione Service account.

Utilizza le API di creazione del account di servizio gcloud

Puoi creare e gestire gli account di servizio con l'API Cloud Identity and Access Management.

Per saperne di più, vedi Creazione e gestione dei service account.

Risoluzione dei problemi