Panoramica di create-serice-account
create-serice-account
è uno strumento a riga di comando fornito con Apigee Hybrid che
crea account di servizio Google Cloud con ruoli che
consentono ai singoli componenti di Apigee Hybrid di effettuare chiamate API autorizzate e scarica i
file delle chiavi dell'account di servizio associati. Puoi usare i file chiave dell'account di servizio generati
nel file di override della configurazione.
create-service-account
crea uno o più account di servizio
nel tuo progetto Google Cloud attuale o nel progetto specificato, assegna il corretto
ruolo IAM all'account di servizio e scarica il
file del certificato per l'account di servizio in una directory sulla tua macchina locale.
Per scoprire di più sugli account di servizio e leggere l'elenco completo degli account di servizio consigliati per gli ambienti di produzione, consulta quanto segue:
Puoi anche creare account di servizio nella console Google Cloud. Consulta anche Creare e gestire gli account di servizio.
Prerequisiti
Ruolo
Lo strumento create-service-account
richiede che
L'interfaccia a riga di comando gcloud
da installare. Gli utenti
che richiamano l'utilità devono avere il ruolo Service Account Admin
.
Progetto
Gli account di servizio sono associati a un progetto Google Cloud specifico. create-service-account
crea account di servizio nel progetto corrente o in quello specificato e associa i file IAM
agli account di servizio
all'interno del progetto. create-service-account
usa anche
l'ID progetto come parte del nome e dell'email della chiave dell'account di servizio. Ad esempio, se
il progetto è denominato my-hybrid-project, il file della chiave dell'account di servizio apigee-logger sarà
denominato my-hybrid-project-apigee-logger.json
e l'indirizzo email dell'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
--project-id
flag. create-service-account
legge il valore della variabile di ambiente PROJECT_ID
. Se non è presente, puoi utilizzare
--project-id
flag.
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
impostato correntemente con il seguente comando:
gcloud config list project
Se devi modificare l'ID progetto attuale, utilizza il seguente comando:
gcloud config set project PROJECT_ID
Dove PROJECT_ID è l'ID del tuo progetto Cloud attuale. Istruzioni per la creazione di una Il progetto Cloud è trattato nel Passaggio 2: crea un progetto Google Cloud.
Posizione file
A seconda dello strumento che utilizzi per installare e gestire Apigee hybrid, create-service-account
si trova nelle seguenti directory:
- Grafici Helm:
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/
apigeectl
:$APIGEECTL_HOME/apigeectl/tools/
Verifica che lo strumento create-service-account
sia eseguibile
Verifica di poter eseguire create-service-account
. Se hai appena scaricato il
Nei grafici Apigee Helm, gli strumenti a riga di comando potrebbero non essere in modalità eseguibile. Vai alla sezione
directory in cui è installato create-service-account
e verifica che sia eseguibile
eseguendolo con --help
:
./create-service-account --help
Se l'output indica permission denied
, devi rendere il file eseguibile, ad esempio
esempio con chmod
in Linux, MacOS o UNIX o in Esplora risorse o con la
icacls
in Windows. Ad esempio:
chmod +x ./create-service-account
Uso: create-service-account
Gli esempi seguenti mostrano l'utilizzo di create-service-account
per Apigee ibrido comune
di configurazione di Google Cloud.
Creare account di servizio per un ambiente di produzione
In un ambiente ibrido di produzione, Apigee consiglia di utilizzare un account di servizio separato per ogni componente. Utilizza il comando seguente per creare tutti gli account di servizio per i componenti ibridi con i nomi predefiniti nella directory predefinita.
./tools/create-service-account --env prod
Verranno creati i seguenti account di servizio con i file dei certificati scaricati nella directory ./tools/service-accounts
:
Service account | Ruolo IAM | File di certificazione | |
---|---|---|---|
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 |
Creare un singolo account di servizio per un ambiente non di produzione
Per gli ambienti non di produzione, come quelli sperimentali o demo, puoi creare una singola account di servizio denominato "apigee-non-prod" che puoi utilizzare per tutti i componenti. Questo account di servizio gli verranno assegnati tutti i ruoli IAM nell'esempio precedente.
./tools/create-service-account --env non-prod
Verrà creato come un singolo account di servizio denominato apigee-non-prod e scaricherà il file di certificato
nella directory ./tools/service-accounts
:
Service account | Ruoli IAM | File di certificazione | |
---|---|---|---|
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
:
Bandiera | Valori | Descrizione |
---|---|---|
--dir -d |
nome directory | Specifica una directory di output per i file delle chiavi dell'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
con lo stesso nome dei file chiave che sta creando.
Se non specifichi una directory di output, |
--env -e |
prod non-prod |
Specifica se stai creando account di servizio per una produzione (prod )
o un ambiente non di produzione (non-prod ).
Se esegui |
--help -h |
nessuno | Mostra il testo della guida. |
--name -n |
nome account di servizio | Specifica un nome per l'account di servizio. --name si applica a una sola
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 l'account di servizio. Ad esempio, se
esegui
Se non specifichi |
‑‑profile -p |
apigee‑cassandra apigee‑logger apigee‑mart apigee‑metrics apigee‑runtime apigee‑synchronizer apigee‑udca apigee‑watcher |
Solo per ambienti di produzione, specifica un singolo account di servizio da creare.
Puoi specificare un nome per l'account di servizio con il flag
Richiede |
‑‑project‑id -i |
ID progetto | L'ID del progetto Google Cloud in cui stai creando gli account di servizio.
Se non specifichi un ID progetto, |
Per ulteriori informazioni sugli account di servizio utilizzati da Apigee hybrid, vedi Informazioni sugli account di servizio.
Puoi anche creare account di servizio nella console Google Cloud. Vedi anche Creazione in corso e la gestione degli account di servizio.