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 ulteriori 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:
- Inviare dati di log e metriche
- Richieste di tracciamento pull
- Connettiti ad API Gateway per le richieste API amministrative
- Esegui i 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ù account di servizio, ciascuno assegnato a un'attività specifica e ciascuno con il proprio insieme di autorizzazioni. In questo modo, la sicurezza viene migliorata suddividendo 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 all'account di servizio.
Service account e ruoli utilizzati dai componenti ibride
Per funzionare correttamente, Apigee Hybrid richiede la creazione di diversi account di servizio. Ogni account di servizio richiede uno o più ruoli specifici che gli consentano di svolgere la sua funzione.
La tabella seguente descrive gli account di servizio per i componenti ibride. I nomi assegnati a ciascun account di servizio sono i nomi predefiniti. Puoi utilizzare i nomi che preferisci, ma devono essere facili da associare allo scopo di ciascun account.
Componente* | Ruolo | Obbligatorio per l'installazione di base? | Descrizione |
---|---|---|---|
apigee-cassandra |
Storage Object Adminroles/storage.objectAdmin |
Consente i backup di Cassandra in Cloud Storage, come описано в 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 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-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 di proxy e i dati di configurazione dell'ambiente. Consente inoltre il funzionamento della funzionalità di traccia. | |
apigee-udca |
Apigee Analytics Agentroles/apigee.analyticsAgent |
Consente il trasferimento di dati di analisi, traccia e stato di implementazione al piano di gestione. | |
apigee-watcher |
Apigee Runtime Agentroles/apigee.runtimeAgent |
Apigee Watcher estrae le modifiche relative agli host virtuali per un'organizzazione dal sincronizzatore e apporta le modifiche necessarie per configurare l'ingresso Istio. | |
* Questo nome viene utilizzato nel nome file della chiave dell'account di servizio scaricata. |
In alternativa, per gli ambienti di produzione, di test e dimostrativi, puoi utilizzare un singolo account 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 |
Apigee Analytics Agent, Apigee Connect Agent, Apigee Organization Admin, Apigee Runtime Agent, Apigee Synchronizer Manager, Cloud Trace Agent, Logs Writer, Monitoring Metric Writer, Storage Object Admin | Oppure tutte le SA richieste sopra | Un singolo account di servizio per ambienti di prova o demo. Vedi Installazione, Parte 2, Passaggio 5: crea gli 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 strumentocreate-service-account
scarica automaticamente i file delle chiavi in una directory sul computer locale quando crea o aggiorna gli 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 è descritta nelle sezioni seguenti.
Utilizzare lo strumento create-service-account
Lo strumento create-service-account
è disponibile dopo aver scaricato ed espanso i grafici Helm ibride di Apigee o apigeectl
.
Puoi trovare lo strumento create-service-account
nella seguente directory:
- Per le installazioni di Helm Charts:
APIGEE_HELM_CHARTS_HOME/ └── apigee-operator/ └── etc/ └── tools/ └── create-service-account
- Per le installazioni di
apigeectl
:APIGEECTL_HOME/ └── tools/ └── create-service-account
create-service-account
crea account di servizio specifici per i componenti ibride e assegna i ruoli richiesti. Lo strumento scarica automaticamente anche le chiavi dell'account di servizio e le memorizza sul computer locale.
Ad esempio, il seguente comando crea tutti i singoli account di servizio separati per un ambiente di produzione, assegna i ruoli IAM appropriati a ciascun account di servizio e scarica il file della chiave privata di ciascun 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 ibride, adatto per ambienti di demo e test, ma non per ambienti di produzione:
./tools/create-service-account --env non-prod
Per ulteriori informazioni sull'utilizzo di create-service-account
, consulta
la documentazione di riferimento di 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, procedi nel seguente modo:
-
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 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 corrisponda a quello del componente che lo utilizza. Ad esempio, imposta il nome dell'account di servizio Logs Writer
apigee-logger
.Per ulteriori informazioni sui nomi e sui ruoli degli account di servizio, consulta Account di servizio e ruoli utilizzati dai componenti ibride.
- (Facoltativo) Nel campo Descrizione account di servizio, inserisci una descrizione per l'account di servizio. Le descrizioni sono utili per ricordare lo scopo di un determinato account di servizio.
- 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 ibride. Se i ruoli Apigee non vengono visualizzati nell'elenco a discesa, aggiorna la pagina.
Ad esempio, per il componente di logging, seleziona il ruolo Scrittore di log.
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 solo un 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.
- 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 (il valore predefinito) e fai clic su Crea.
Google Cloud salva il file della chiave in formato JSON sul tuo computer locale e mostra una conferma al termine dell'operazione, come mostrato nell'esempio seguente:
In un secondo momento, utilizzerai alcune delle chiavi dell'account di servizio per configurare i servizi di runtime ibrida. Ad esempio, quando configuri il runtime ibrido, specifichi la posizione delle chiavi dell'account di servizio 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 inviare richieste alle API Apigee per tuo conto. (Ma non è ancora possibile, per ora ricordati solo dove li hai salvati.)
- Ripeti i passaggi da 4 a 11 per ogni account di servizio elencato in
Account di servizio e ruoli utilizzati dai componenti ibride
(tranne l'account
apigee-mart
, che non ha alcun ruolo associato, quindi non assegnargli un ruolo).Al termine, dovresti avere i seguenti account di servizio (oltre a quelli predefinite, se presenti):
Nella console Google Cloud, gli account di servizio 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 gli account di servizio nella visualizzazione Account di servizio.
Utilizzare 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, consulta Creare e gestire gli account di servizio.
Risoluzione dei problemi
-