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.
L'ambiente ibrido utilizza gli account di servizio Google Cloud per eseguire diverse 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 potrebbe eseguire tutte queste operazioni, Apigee consiglia di crei più account di servizio, ognuno dei quali è assegnato a un'attività specifica e ognuno con il proprio di autorizzazioni. Questo migliora la sicurezza compartimentando l'accesso e limitando ciascun servizio l'ambito e i privilegi di accesso dell'account. Come per gli account utente, queste autorizzazioni vengono applicate assegnando uno o più ruoli all'account di 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:
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-distributed-trace |
Agente Cloud Traceroles/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 |
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-org-admin |
Amministratore organizzazione Apigeeroles/apigee.admin |
Consente di chiamare l'API getSyncAuthorization e
API setSyncAuthorization. Poiché Amministratore organizzazione Apigee è un ruolo esterno al runtime
non puoi assegnare questo ruolo all'account di servizio con
Strumento create-service-account . |
|
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. |
Oltre a creare gli account di servizio elencati in questa tabella, scarica anche e le relative chiavi private. In seguito, utilizzerai queste chiavi per generare token di accesso in modo da poter accedere ai le API Apigee.
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.
Utilizzare lo strumento di creazione degli account di servizio
Lo strumento create-service-account
(disponibile dopo
scarica ed espandi apigeectl
) crea
specifici dei componenti ibridi e assegna i ruoli richiesti per te. La
di Google Cloud, inoltre, scarica automaticamente le chiavi degli account di servizio e le archivia sul computer locale
della directory specificata.
Per creare account di servizio con lo strumento create-service-account
:
- Scarica ed espandi
apigeectl
(se non l'hai già fatto), come descritto in scaricare e installare apigeectl. - Crea una directory in cui archiviare le chiavi dell'account di servizio. Ad esempio:
mkdir ./service-accounts
- 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 nel Directory
./service-accounts
.Se questi comandi hanno esito negativo, assicurati di aver fatto riferimento a una directory esistente in cui archiviare e i file chiave.
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 account di servizio con la console Google Cloud:
- Apri la console Google Cloud e accedi con l'account utente che hai creato. Passaggio 1: crea un account Google Cloud.
- Seleziona il progetto che hai creato nel Passaggio 2: crea un progetto Google Cloud.
- Seleziona IAM e amministratore > Account di servizio.
Nella console viene mostrata la vista Account di servizio. Questa visualizzazione mostra un elenco agli account di servizio del progetto. Nella maggior parte dei casi, non viene ancora elencato alcun account, anche se potrebbero esserci account di servizio predefiniti nell'elenco, a seconda di come hai creato project.)
- Per creare un nuovo account di servizio, fai clic su + Crea account di servizio nella parte superiore della
la vista.
Viene visualizzata la visualizzazione Dettagli account di servizio.
- Nel campo Nome account di servizio, inserisci il nome dell'account di servizio.
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. Per 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.
Quando inserisci un nome, Google Cloud genera per te un ID account di servizio univoco, strutturato come un indirizzo email, come illustrato nell'esempio seguente:
In via facoltativa, puoi aggiungere una descrizione nella Descrizione dell'account di servizio . Le descrizioni sono utili per ricordarti quale particolare account di servizio viene utilizzato .
- Fai clic su Crea.
Google Cloud crea un nuovo account di servizio e visualizza l'icona Account di servizio autorizzazioni, come illustrato nell'esempio seguente:
Utilizza questa vista per assegnare un ruolo al nuovo account di servizio.
- Fai clic sull'elenco a discesa Seleziona un ruolo.
- Seleziona il ruolo per l'account di servizio, come descritto in
Account di servizio 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 Writer log.
Se necessario, inserisci del testo per filtrare l'elenco dei ruoli per nome. Ad esempio, per elencare solo Per i ruoli Apigee, inserisci
Apigee
nel campo del filtro, come mostra l'esempio seguente: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 di un creato per l'account di servizio, utilizza il programma IAM e pannello di amministrazione nel in Google 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 eseguita 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 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.