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, vedi Informazioni sui servizi Google Cloud.
Apigee hybrid utilizza i service account Google Cloud per eseguire una serie di attività, tra cui:
- Inviare dati di log e metriche
- Richieste di pull delle tracce
- 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, per gli ambienti di produzione Apigee consiglia di creare più service account, ciascuno assegnato a un'attività specifica e ciascuno con il proprio insieme di autorizzazioni. Ciò migliora la sicurezza 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 al service account.
Service account e ruoli utilizzati dai componenti ibridi
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. I nomi forniti per ogniaccount di serviziot sono i nomi predefiniti. Puoi utilizzare i nomi che preferisci, ma devono essere facili da identificare con lo scopo di ciascun account.
Componente* | Ruolo | Necessario per l'installazione di base? | Descrizione |
---|---|---|---|
apigee-cassandra |
Storage Object Adminroles/storage.objectAdmin |
Consente i backup di Cassandra in Cloud Storage, come descritto in Backup e ripristino. | |
apigee-logger |
Logs Writerroles/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 Connectroles/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 Writerroles/monitoring.metricWriter |
Consente la raccolta dei dati delle metriche, come descritto nella panoramica della raccolta di metriche. | |
apigee-mint-task-scheduler |
Nessun ruolo richiesto | Funge da identità con cui viene eseguita l'immagine apigee-mint-task-scheduler , consentendo di generare commissioni ricorrenti per i piani tariffari che le definiscono. Consulta Abilitazione della monetizzazione per Apigee Hybrid.
|
|
apigee-runtime |
Nessun ruolo richiesto | Consente al runtime ibrido Apigee di connettersi ai servizi Google e ai servizi personalizzati su Google Cloud, come Google Authentication, Google Cloud Trace e Jaeger. | |
apigee-synchronizer |
Gestore sincronizzatore Apigeeroles/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 Analyticsroles/apigee.analyticsAgent |
Consente il trasferimento dei dati di traccia, analisi e stato di deployment al management plane. | |
apigee-watcher |
Apigee Runtime Agentroles/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. |
In alternativa, per gli ambienti non di produzione, di test e demo, puoi utilizzare un singolo service account con tutti i ruoli assegnati. Questa opzione non è consigliata per gli ambienti di produzione.
Componente* | Ruolo | Necessario per l'installazione di base? | Descrizione |
---|---|---|---|
apigee-non-prod |
Agente Apigee Analytics, agente Apigee Connect, Amministratore organizzazione Apigee, agente Apigee Runtime, Gestore sincronizzatore Apigee, agente Cloud Trace, scrittore di log, Scrittore di metriche di monitoraggio, amministratore di oggetti Storage | O tutte le SA richieste sopra | Un singolo account di servizio per gli ambienti demo o di test. Vedi Installazione, parte 2, passaggio 5: crea account di servizio. |
Oltre a creare gli account di servizio elencati in questa tabella, utilizzerai le chiavi private di ogni account per generare token di accesso in modo da poter accedere alle API Apigee. Lo strumento
create-service-account
scarica automaticamente i file delle chiavi in una directory
sul computer locale quando crea o aggiorna i service account.
Crea i service account
Esistono diversi modi per creare service account, tra cui:
- (Consigliato) Strumento
create-service-account
- Google Cloud console
- gcloud SDK
Ognuno di questi elementi è descritto nelle sezioni seguenti.
Utilizzare lo strumento create-service-account
Lo strumento create-service-account
è disponibile dopo aver
scaricato ed estratto i grafici Helm di Apigee hybrid.
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 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 memorizza sul computer locale.
Ad esempio, il seguente comando creerà tutti i service account individuali separati per un ambiente di produzione, assegnerà i ruoli IAM appropriati a ogni 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 di test, ma non per ambienti di produzione:
./tools/create-service-account --env non-prod
Per ulteriori informazioni sull'utilizzo di create-service-account
, consulta
il riferimento create-service-account.
Utilizzare la Google Cloud console
Puoi creare service account con la console Google Cloud .
Per creare un account di servizio con la console Google Cloud e generare una chiave per il account di servizio, procedi nel seguente modo:
-
Crea un account di servizio:
-
Nella console Google Cloud , vai alla pagina Service Accounts.
- Seleziona il progetto.
- Fai clic su Crea account di servizio.
-
Nel campo Nome service account, inserisci un nome. La console Google Cloud compila il campo ID service account in base a questo nome.
Apigee consiglia di utilizzare un nome che rifletta il ruolo del account di servizio. Puoi impostare il nome delaccount di serviziot 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.
- (Facoltativo) Nel campo Descrizione service account, inserisci una descrizione per ilaccount di serviziot. Le descrizioni sono utili per ricordarti a cosa serve un determinato service account.
- Fai clic su Crea e continua.
-
Fai clic sul campo Seleziona un ruolo e seleziona un ruolo, 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.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 la pagina IAM nella console Google Cloud .
- Fai clic su Continua.
Google Cloud mostra la visualizzazione Concedi agli utenti l'accesso a questo service account:
- Nella sezione Crea chiave (facoltativo), fai clic su Crea chiave.
Google Cloud ti offre la possibilità di scaricare una chiave JSON o P12:
- 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:
In seguito utilizzerai alcune delle chiavi del account di servizio per configurare i servizi di runtime ibrido. Ad esempio, quando configuri il 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.)
- 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):
Nella Google Cloud console, i service account sono indicati con l'icona
.
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 ulteriori informazioni, vedi Creazione e gestione dei service account.
Risoluzione dei problemi
-