Crea service account Google Cloud con ruoli che consentono ai singoli componenti di Apigee Hybrid di effettuare chiamate API autorizzate e scarica i file delle chiavi del account di servizio associati. Puoi utilizzare i file della chiave del account di servizio generati da questo comando nel file di override della configurazione.
create-service-account crea uno o più service account nel progetto Google Cloud corrente o nel progetto che specifichi, assegna il ruolo IAM corretto al account di servizio e scarica il file del certificato per il account di servizio in una directory della macchina locale.
Lo strumento create-service-account si trova nella directory
HYBRID_ROOT_DIR/tools.
Per scoprire di più sui service account e leggere l'elenco completo dei service account consigliati per gli ambienti di produzione, consulta le seguenti pagine:
Puoi creare service account anche nella console Google Cloud. Vedi anche Creazione e gestione dei service account.
Prerequisiti
Ruolo
Lo strumento create-service-account richiede l'installazione dell'interfaccia a riga di comando gcloud. Gli utenti
che richiamano l'utilità devono avere il ruolo Service Account Admin.
Progetto
I service account sono associati a un progetto Google Cloud specifico. create-service-account
crea service account nel progetto corrente o nel progetto specificato e associa i ruoli IAM
ai service account all'interno di quel progetto. create-service-account utilizza anche l'ID progetto come parte del nome file e dell'email della chiave del account di servizio. Ad esempio, se il tuo
progetto si chiama my-hybrid-project, il file della chiave del account di servizio apigee-logger si chiamerà
my-hybrid-project-apigee-logger.json e l'indirizzo email del account di servizio
sarà apigee-logger@my-hybrid-project.iam.gserviceaccount.com.
Puoi specificare un progetto definendo una variabile di ambiente PROJECT_ID o con il flag --project-id. create-service-account legge il valore
della variabile di ambiente PROJECT_ID. Se non è presente, puoi utilizzare il flag --project-id.
Se non specifichi un ID progetto Cloud, create-service-account
utilizza il progetto nella configurazione del progetto gcloud corrente.
Puoi controllare la configurazione del progetto gcloud impostata attualmente con il seguente comando:
gcloud config list project
Se devi modificare l'ID progetto corrente, utilizza il seguente comando:
gcloud config set project PROJECT_ID
Dove PROJECT_ID è l'ID del tuo progetto Cloud attuale. Le istruzioni per la creazione di un progetto Cloud sono descritte nel passaggio 2: crea un progetto Google Cloud.
Uso: create-service-account
Gli esempi riportati di seguito mostrano l'utilizzo di create-service-account per le attività comuni di configurazione di Apigee Hybrid.
Crea service account per un ambiente di produzione
In un ambiente ibrido di produzione, Apigee consiglia di utilizzare un account di servizio separato per ogni componente. Utilizza questo comando per creare tutti i service account per i componenti ibridi con i relativi nomi predefiniti nella directory predefinita.
./tools/create-service-account --env prod
Verranno creati i seguenti service account con i file di certificato scaricati nella directory ./tools/service-accounts:
| Service account | Ruolo IAM | File del certificato | |
|---|---|---|---|
apigee-cassandra |
roles/storage.objectAdmin |
apigee-cassandra@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-cassandra.json |
apigee-logger |
roles/logging.logWriter |
apigee-logger@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-logger.json |
apigee-mart |
roles/apigeeconnect.Agent |
apigee-mart@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-mart.json |
apigee-metrics |
roles/monitoring.metricWriter |
apigee-metrics@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-metrics.json |
apigee-runtime |
Nessun ruolo assegnato | apigee-runtime@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-runtime.json |
apigee-synchronizer |
roles/apigee.synchronizerManager |
apigee-synchronizer@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-synchronizer.json |
apigee-udca |
roles/apigee.analyticsAgent |
apigee-udca@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-udca.json |
apigee-watcher |
roles/apigee.runtimeAgent |
apigee-watcher@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-watcher.json |
Crea un singolo account di servizio per un ambiente non di produzione
Per gli ambienti non di produzione, come un ambiente sperimentale o demo, puoi creare un singolo account di servizio denominato "apigee-non-prod" che puoi utilizzare per tutti i componenti. A questo account di servizio verranno assegnati tutti i ruoli IAM dell'esempio precedente.
./tools/create-service-account --env non-prod
Verrà creato un singolo account di servizio denominato apigee-non-prod e verrà scaricato il file del certificato
nella directory ./tools/service-accounts:
| Service account | Ruoli IAM | File del certificato | |
|---|---|---|---|
apigee-non-prod |
roles/apigee.analyticsAgent |
apigee-non-prod@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-non-prod.json |
create-service-account syntax
Lo strumento create-service-account utilizza la seguente sintassi:
create-service-account [flags]
La tabella seguente elenca i flag create-service-account:
| Flag | Valori | Descrizione |
|---|---|---|
--dir-d |
directory name | Specifica una directory di output per i file delle chiavi del account di servizio. Se la directory non esiste, create-service-account la creerà. Se la directory esiste già,
create-service-account sovrascriverà tutti i file nella directory che hanno lo stesso nome dei file chiave che sta creando.
Se non specifichi una directory di output, |
--env-e |
prodnon-prod |
Specifica se stai creando service account per un ambiente di produzione (prod)
o per un ambiente non di produzione (non-prod).
Se esegui |
--help-h |
nessuno | Visualizza il testo della guida. |
--name-n |
service account name | Specifica un nome per il account di servizio. --name si applica solo a un singolo
account di servizio, specificato con --profile o --env non-prod.
Il nome fa parte anche del nome del file del certificato e dell'email per il account di servizio. Ad esempio, se esegui
Se non specifichi |
‑‑profile-p |
apigee‑cassandraapigee‑loggerapigee‑martapigee‑metricsapigee‑runtimeapigee‑synchronizerapigee‑udcaapigee‑watcher |
Specifica un singolo account di servizio da creare solo per gli ambienti di produzione.
Puoi specificare un nome per il account di servizio con il flag
Richiede |
‑‑project‑id-i |
ID progetto | L'ID progetto del progetto Google Cloud in cui stai creando i service account.
Se non specifichi un ID progetto, |
Per ulteriori informazioni sui service account utilizzati da Apigee Hybrid, consulta Informazioni sui service account.
Puoi creare service account anche nella console Google Cloud. Vedi anche Creazione e gestione dei service account.