Un account di servizio è un tipo speciale di account in Google Cloud che abilita i componenti e applicazioni di un sistema per interagire tra loro e con altre API. Per ulteriori informazioni vedi 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 del pull
- Connettiti al gateway API per le richieste API amministrative
- Esegui backup
- Scarica bundle proxy
Anche se un account di servizio può eseguire tutte queste operazioni, per la produzione ambienti Apigee consiglia di creare più account di servizio, ciascuno assegnato per un'attività specifica e ognuno con il proprio insieme di autorizzazioni. Questo migliora la sicurezza compartimentare l'accesso e limitare l'ambito e i privilegi di accesso di ogni account di servizio. Come con account utente, queste autorizzazioni vengono applicate assegnando uno o più ruoli al servizio .
Account di servizio e ruoli utilizzati dai componenti ibridi
Per funzionare correttamente, Apigee hybrid richiede la creazione di diversi account di servizio. Ciascuna richiede uno o più ruoli specifici che gli consentano di svolgere la propria funzione.
Nella tabella seguente sono descritti gli account di servizio per i componenti ibridi. I nomi assegnati a ciascun account di servizio sono i nomi predefiniti. Puoi utilizzare tutti i nomi che preferisci, ma devono essere facilmente identificabili con lo scopo di ciascun account.
Componente* | Ruolo | Necessaria per l'installazione di base? | Descrizione |
---|---|---|---|
apigee-cassandra |
Amministratore oggetti Storageroles/storage.objectAdmin |
Consente i backup di Cassandra in Cloud Storage, descritta in Backup e ripristino. | |
apigee-logger |
Writer logroles/logging.logWriter |
Consente la raccolta dei dati di logging, come descritto in Logging. Obbligatorio solo per non GKE delle installazioni di cluster. | |
apigee-mart |
Agente Apigee Connectroles/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 Utilizzare Apigee Connect | |
apigee-metrics |
Writer metriche Monitoringroles/monitoring.metricWriter |
Consente la raccolta dei dati delle metriche, come descritto in Metriche panoramica della raccolta. | |
apigee-runtime |
Nessun ruolo richiesto | Consente al runtime ibrido Apigee di connettersi a servizi Google e servizi personalizzati su ad esempio Google Cloud Authentication, Google Cloud Trace, e Jaeger. | |
apigee-synchronizer |
Gestore della sincronizzazione di Apigeeroles/apigee.synchronizerManager |
Consente al sincronizzatore di scaricare bundle proxy e configurazione dell'ambiente e i dati di Google Cloud. Consente inoltre di utilizzare la funzionalità di traccia. | |
apigee-udca |
Agente Apigee Analyticsroles/apigee.analyticsAgent |
Consente il trasferimento dei dati di traccia, analisi e stato del deployment alla gestione aereo. | |
apigee-watcher |
Agente di runtime Apigeeroles/apigee.runtimeAgent |
Apigee Watcher estrae le modifiche relative agli host virtuali per un'organizzazione dal sincronizzatore e rende le modifiche necessarie per configurare il traffico Istio in entrata. | |
* Questo nome viene utilizzato nell'account di servizio scaricato il nome file della chiave. |
In alternativa, per gli ambienti non di produzione, di test e demo, puoi utilizzare un singolo servizio con tutti i ruoli assegnati. Questa operazione non è consigliata per gli ambienti di produzione.
Componente* | Ruolo | Necessaria per l'installazione di base? | Descrizione |
---|---|---|---|
apigee-non-prod |
Agente Apigee Analytics, Apigee Connect Agent, Amministratore organizzazione Apigee, agente di runtime Apigee, Apigee Syncr Manager, Cloud Trace Agent, Logs Writer, Writer metriche monitoraggio, amministratore oggetti Storage | Oppure tutte le SA obbligatorie sopra | Un unico account di servizio per ambienti demo o di test. Consulta: Installa, parte 2, passaggio 5: crea il servizio Google Cloud. |
Oltre a creare gli account di servizio elencati in questa tabella, utilizzerai tutti gli account
chiavi private per generare token di accesso in modo da poter accedere alle API Apigee. La
Lo strumento create-service-account
scarica automaticamente i file chiave in una directory
sul computer locale durante la creazione o l'aggiornamento degli account di servizio.
Crea gli account di servizio
Esistono diversi modi per creare account di servizio, tra cui:
- (Consigliato) Strumento
create-service-account
- Console Google Cloud
- SDK gcloud
Ognuna di queste opzioni è descritta nelle sezioni seguenti.
Usa lo strumento create-service-account
Lo strumento create-service-account
sarà disponibile dopo che avrai
scaricare ed espandere apigeectl
nella
Directory tools/
. Account di servizio specifici per i componenti ibridi, quindi assegna
i ruoli richiesti per te. Lo strumento, inoltre, scarica automaticamente le chiavi dell'account di servizio
e li archivia sul tuo computer locale.
Ad esempio, il comando seguente creerà tutti gli account di servizio individuali separati per un
di produzione, assegnare i ruoli IAM appropriati a ciascun account di servizio e scaricare
ciascun file della chiave privata dell'account nella directory ./service-accounts
:
./tools/create-service-account --env prod
Il comando seguente crea un singolo account di servizio denominato apigee-non-prod
con tutti i valori IAM
ruoli per tutti i componenti ibridi,
adatto per ambienti demo e di test, ma non per ambienti di produzione:
./tools/create-service-account --env non-prod
Per ulteriori informazioni sull'utilizzo di create-service-account
, vedi
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 account di servizio, segui questi passaggi:
-
Crea un account di servizio:
-
Nella console Cloud, vai alla pagina Account di servizio.
- Seleziona il progetto.
- Fai clic su Crea account di servizio.
-
Inserisci un nome nel campo Nome account di servizio. La 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; tu puoi impostare il nome dell'account di servizio in modo che corrisponda al nome del componente che lo utilizza. Ad esempio, imposta il nome dell'account di servizio Writer log
apigee-logger
.Per ulteriori informazioni sui nomi e sui ruoli degli account di servizio, consulta Account di servizio e ruoli utilizzati dai componenti ibridi.
- (Facoltativo) Nel campo Descrizione account di servizio, inserisci una descrizione per l'account di servizio. Le descrizioni sono utili per ricordarti cosa è un particolare servizio di destinazione.
- Fai clic su Crea e continua.
-
Fai clic sul campo Seleziona un ruolo e seleziona un ruolo, come descritto in Account di servizio e ruoli utilizzati dai componenti ibridi. Se se i ruoli Apigee non compaiono 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 utilizzerai un solo ruolo per ciascuno degli account di servizio consigliati. Per cambiare i ruoli un account di servizio, dopo averlo creato, utilizza la classe IAM nella console Cloud.
- Fai clic su Continua.
Google Cloud mostra la visualizzazione Concedi agli utenti l'accesso a questo account di servizio:
- In Crea chiave (facoltativo), fai clic su Crea chiave.
Google Cloud ti offre la possibilità di scaricare una chiave JSON o P12:
- 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 quando viene completata correttamente, come illustrato nell'esempio seguente:
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à del servizio delle chiavi dell'account utilizzando le proprietà SERVICE_NAME
.serviceAccountPath
.Queste chiavi vengono utilizzate dagli account di servizio per ottenere i token di accesso, che l'account di servizio e lo utilizza per effettuare richieste contro le API Apigee per tuo conto. (Ma non è da un po' ; per il momento, ricorda solo dove l'hai salvato.)
- Ripeti i passaggi da 4 a 11 per ciascun account di servizio elencato in
Account di servizio 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 account di servizio (oltre alla valori predefiniti, se presenti):
Nella console Google Cloud, gli account di servizio sono indicati con Icona di
.
Dopo aver creato un account di servizio, se vuoi aggiungere o rimuovere un ruolo, devi utilizzare le API IAM e Amministratore. Non puoi gestire i ruoli per gli account di servizio nel Vista Account di servizio.
Usa le API di creazione degli account di servizio gcloud
Puoi creare e gestire gli account di servizio con l'API Cloud Identity and Access Management.
Per ulteriori informazioni, vedi Creazione in corso e la gestione degli account di servizio.
Risoluzione dei problemi
-