Informazioni sugli account di servizio

Un account di servizio è 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 maggiori informazioni su Google Cloud, consulta Informazioni sui servizi Google Cloud.

Apigee hybrid utilizza gli account di servizio Google Cloud per eseguire una serie di attività, tra cui:

  • Invia dati di log e metriche
  • Richieste di traccia pull
  • Connettiti al gateway API per le richieste API amministrative
  • Esegui backup
  • Scarica bundle proxy

Sebbene un account di servizio potrebbe eseguire tutte queste operazioni, per gli ambienti di produzione Apigee consiglia di creare più account di servizio, ciascuno assegnato a un'attività specifica e ciascuno con il proprio insieme di autorizzazioni. Questo migliora la sicurezza suddividendo l'accesso e limitando l'ambito e i privilegi di accesso di ciascun account di servizio. Come per gli account utente, queste autorizzazioni vengono applicate assegnando uno o più ruoli all'account di servizio.

Per funzionare correttamente, Apigee hybrid richiede la creazione di diversi account di servizio. Ogni account di servizio richiede un ruolo o ruoli specifici che lo consentano di svolgere la sua funzione.

La tabella seguente descrive gli account di servizio per i componenti ibridi. I nomi assegnati a ogni account di servizio sono i nomi predefiniti. Puoi utilizzare tutti i nomi che preferisci, ma devono essere facili da identificare in base allo scopo di ogni account.

Componente* Ruolo Obbligatorio per l'installazione di base? Descrizione
apigee-cassandra Amministratore oggetti Storage
roles/storage.objectAdmin
Consente i backup di Cassandra in Cloud Storage, come descritto in Backup e ripristino.
apigee-logger Writer log
roles/logging.logWriter
Consente la raccolta dei dati, come descritto in Logging. Richiesto 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 gli consente di comunicare in modo sicuro con il processo Apigee Connect, come descritto in Utilizzo di Apigee Connect.
apigee-metrics Writer metriche Monitoring
roles/monitoring.metricWriter
Consente la raccolta dei dati delle metriche, come descritto in Panoramica della raccolta delle metriche.
apigee-runtime Nessun ruolo richiesto Consente al runtime ibrido Apigee di connettersi ai servizi Google e a servizi personalizzati su Google Cloud, come Google Authentication, Google Cloud Trace e Jaeger.
apigee-synchronizer Gestore del programma di sincronizzazione di Apigee
roles/apigee.synchronizerManager
Consente al sincronizzatore di scaricare bundle proxy e dati di configurazione dell'ambiente. Abilita anche il funzionamento della funzionalità di traccia.
apigee-udca Agente Analytics Apigee
roles/apigee.analyticsAgent
Consente il trasferimento di dati di traccia, analisi e stato del deployment al piano di gestione.
apigee-watcher Agente di runtime Apigee
roles/apigee.runtimeAgent
Apigee Watcher estrae le modifiche relative agli host virtuali per un'organizzazione dal sincronizzatore e apporta le modifiche necessarie per configurare il traffico in entrata istio.
* Questo nome viene utilizzato nel nome file della chiave dell'account di servizio scaricata.

In alternativa, per gli ambienti non di produzione, di test e demo, puoi utilizzare un singolo account di servizio con tutti i ruoli assegnati. Questa opzione non è consigliata per gli ambienti di produzione.

Componente* Ruolo Obbligatorio per l'installazione di base? Descrizione
apigee-non-prod Agente Analytics, Apigee Connect Agent, Apigee Organization Admin, Apigee Runtime Agent, Apigee syncr Manager, Cloud Trace Agent, Logs Writer, Monitoring Metric Writer, Storage Object Admin. O tutti gli SA obbligatori sopra indicati Singolo account di servizio per ambienti demo o test. Vedi Installazione, parte 2, passaggio 5: creare account di servizio.

Oltre a creare gli account di servizio elencati in questa tabella, utilizzerai le chiavi private di ciascun account per generare token di accesso in modo da poter accedere alle API Apigee. Lo strumento create-service-account scarica automaticamente i file della chiave in una directory sulla tua macchina locale quando crea o aggiorna gli account di servizio.

Crea gli account di servizio

Esistono diversi modi per creare account di servizio, tra cui:

Ognuna di queste opzioni è descritta nelle sezioni seguenti.

Usa lo strumento create-service-account

Lo strumento create-service-account è disponibile dopo aver scaricato ed espanso i grafici Helm ibridi di Apigee. Puoi trovare lo strumento create-service-account nella seguente directory:

APIGEE_HELM_CHARTS_HOME/
└── apigee-operator/
    └── etc/
        └── tools/
            └── create-service-account

create-service-account crea account di servizio specifici per i componenti ibridi e ti assegna i ruoli richiesti. Inoltre, lo strumento scarica automaticamente le chiavi degli account di servizio e le archivia sulla tua macchina locale.

Ad esempio, il comando seguente creerà tutti i singoli account di servizio separati per un ambiente di produzione, assegnerà i ruoli IAM appropriati a ciascun account di servizio e scaricherà il file della chiave privata di ogni account nella directory ./service-accounts:

./tools/create-service-account --env prod

Il seguente comando crea un singolo account di servizio denominato apigee-non-prod con tutti i ruoli IAM per tutti i componenti ibridi, adatto per ambienti demo e test, ma non per ambienti di produzione:

./tools/create-service-account --env non-prod

Per maggiori informazioni sull'utilizzo di create-service-account, consulta Riferimento create-service-account.

Utilizzare la console Google Cloud

Puoi creare account di servizio con la console Google Cloud.

Per creare un account di servizio con la console Google Cloud e generare una chiave per l'account di servizio:

  1. Crea un account di servizio:

    1. Nella console Cloud, vai alla pagina Account di servizio.

      Vai ad Account di servizio

    2. Seleziona il progetto.
    3. Fai clic su Crea account di servizio.
    4. Inserisci un nome nel campo Nome account di servizio. La console Cloud compila il campo ID account di servizio in base a questo nome.

      Apigee consiglia di utilizzare un nome che rifletta il ruolo dell'account di servizio; puoi impostare il nome dell'account di servizio in modo che abbia lo stesso nome del componente che lo utilizza. Ad esempio, imposta il nome dell'account di servizio dello strumento di scrittura dei log apigee-logger.

      Per saperne di più sui nomi e sui ruoli degli account di servizio, consulta Account di servizio e ruoli utilizzati dai componenti ibridi.

    5. (Facoltativo) Nel campo Descrizione account di servizio, inserisci una descrizione per l'account di servizio. Le descrizioni sono utili per ricordarti per cosa viene utilizzato un determinato account di servizio.
    6. Fai clic su Crea e continua.
    7. Fai clic sul campo Seleziona un ruolo e seleziona un ruolo, come descritto in Account di servizio e ruoli utilizzati dai componenti ibridi. Se i ruoli di Apigee non vengono visualizzati nell'elenco a discesa, aggiorna la pagina.

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

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

      Puoi aggiungere più di un ruolo a un account di servizio, ma Apigee consiglia di utilizzare un solo ruolo per ciascuno degli account di servizio consigliati. Per modificare i ruoli di un account di servizio dopo averlo creato, utilizza la pagina IAM nella console Cloud.

    8. Fai clic su Continua.

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

      Campi per il ruolo Utenti dell'account di servizio e il ruolo Amministratori account di servizio, pulsante per Crea chiave

    9. In 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

    10. Seleziona JSON (valore predefinito) e fai clic su Crea.

      Google Cloud salva il file della chiave in formato JSON sulla tua macchina locale e mostra una conferma dell'esito positivo, come mostrato nell'esempio seguente:

      Esempio filename.json

      In seguito, utilizzerai alcune delle chiavi dell'account di servizio per configurare i servizi di runtime ibridi. Ad esempio, quando configuri il runtime ibrido, specificherai la località delle chiavi dell'account di servizio utilizzando le proprietà SERVICE_NAME.serviceAccountPath.

      Queste chiavi vengono utilizzate dagli account di servizio per ottenere i token di accesso, che questi ultimi utilizzano quindi per effettuare richieste alle API Apigee per tuo conto. (ma per un po' di tempo non è ancora così; per il momento, ricordati solo dove l'hai salvata).

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

      Al termine, dovresti avere i seguenti account di servizio (oltre ai valori predefiniti, se presenti):

      Elenco di account di servizio. Casella di selezione colonna 1, colonna 2 Email, colonna 3 Stato, colonna 4 nome account di servizio

      Nella console Google Cloud, gli account di servizio sono indicati con l'icona tasto laterale sinistro, metà rettangolo a destra, tutto sottolineato.

    Dopo aver creato un account di servizio, per aggiungere o rimuovere un ruolo devi utilizzare la visualizzazione IAM e amministratore. Non puoi gestire i ruoli per gli account di servizio nella visualizzazione Account di servizio.

    Utilizza le API di creazione dell'account di servizio gcloud

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

    Per ulteriori informazioni, consulta Creazione e gestione degli account di servizio.

    Risoluzione dei problemi