create-service-account

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 consentire a singoli componenti ibridi di Apigee di effettuare chiamate API autorizzate e scaricare e i file delle chiavi degli account di servizio associati. Puoi utilizzare i file della chiave dell'account di servizio generati da questo comando nel file delle sostituzioni di configurazione.

create-service-account crea uno o più account di servizio nel progetto Google Cloud attuale o nel progetto specificato, assegna i token ruolo IAM nell'account di servizio e scarica del certificato per l'account di servizio in una directory sulla 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. Vedi anche Creazione e gestione degli account di servizio.

Prerequisiti

Ruolo

Lo strumento create-service-account richiede che L'interfaccia a riga di comando gcloud da installare. Utenti che richiama l'utilità deve 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 si chiama my-hybrid-project, il file della chiave dell'account di servizio apigee-logger si chiamerà 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 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 del set attuale con il seguente comando:

gcloud config list project

Se devi modificare l'ID progetto attuale, usa il comando seguente:

gcloud config set project PROJECT_ID

Dove PROJECT_ID è l'ID del tuo progetto Cloud attuale. Le istruzioni per creare un progetto Cloud sono riportate nel passaggio 2: creazione di un progetto Google Cloud.

Posizione file

Puoi trovare lo strumento create-service-account nella seguente directory:

$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/

Verificare che lo strumento create-service-account sia eseguibile

Verifica di poter eseguire create-service-account. Se hai appena scaricato i grafici Helm di Apigee, 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 di produzione ibrido, Apigee consiglia di utilizzare un account di servizio distinto 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 di certificato scaricati nell' Directory ./tools/service-accounts:

Service account Ruolo IAM Email 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

Creare un singolo account di servizio per un ambiente non di produzione

Per gli ambienti non di produzione, come un ambiente sperimentale o dimostrativo, puoi creare un singolo account servizio denominato "apigee-non-prod" da 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 singolo account di servizio denominato apigee-non-prod e scaricherà il file di certificato nella directory ./tools/service-accounts:

Service account Ruoli IAM Email File del certificato
apigee-non-prod roles/apigee.analyticsAgent
roles/apigee.runtimeAgent
roles/apigee.synchronizerManager
roles/apigeeconnect.Agent
roles/logging.logWriter
roles/monitoring.metricWriter
roles/storage.objectAdmin
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] 

Nella tabella seguente sono elencati 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, create-service-account scriverà i file dell'account di servizio nella directory service-accounts/ all'interno della directory in cui risiede create-service-account.

--env
-e
prod
non-prod
Specifica se stai creando account di servizio per un ambiente di produzione (prod) o non di produzione (non-prod).
  • --env prod crea account di servizio per gli ambienti ibridi di produzione.

    In un ambiente di produzione, ti consigliamo di avere un unico account di servizio per ogni servizio Apigee. A ogni ruolo creato sarà associato un singolo ruolo IAM.

    create-service-account -env prod creerà tutti gli account di servizio utilizzati Apigee hybrid, a meno che non specifichi un account di servizio specifico con --profile.

  • --env non-prod crea un singolo account di servizio con tutti i ruoli IAM associati. Questo è utile per gli ambienti non di produzione, come un'installazione dimostrativa o sperimentale.

    L'account di servizio verrà denominato apigee-non-prod a meno che non specifichi un nome con il flag --name.

Se esegui create-service-account senza --env, verrà richiesto per inserire prod o non-prod.

--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 anche parte del nome e dell'indirizzo email del file di certificato per l'account di servizio. Ad esempio, se esegui create-service-account --profile apigee-logger --name my-logger (supponendo che per questo esempio il tuo progetto Cloud attuale sia my-hybrid-project) create-service-account creerà un account con:

  • Nome: my-logger
  • Email: my-logger@my-hybrid-project.iam.gserviceaccount.com
  • File del certificato: my-hybrid-project-my-logger.json

Se non specifichi --name, create-service-account utilizza il nome del profilo per il nome dell'account di servizio o "apigee-non-prod" se specifichi --env non-prod.

‑‑profile
-p
apigee‑cassandra
apigee‑logger
apigee‑mart
apigee‑metrics
apigee‑runtime
apigee‑synchronizer
apigee‑udca
apigee‑watcher
Solo per gli ambienti di produzione, specifica un singolo account di servizio da creare.

Puoi specificare un nome per l'account di servizio con il flag --name.

Richiede --env prod.

‑‑project‑id
-i
ID progetto L'ID progetto del progetto Google Cloud in cui stai creando gli account di servizio.

create-service-account legge il valore dell'attributo PROJECT_ID variabile di ambiente. Se non è presente, puoi utilizzare il flag --project-id.

Se non specifichi un ID progetto, create-service-account utilizzerà l'ID di il progetto nell'attuale configurazione di gcloud.

Per ulteriori informazioni sugli account di servizio utilizzati da Apigee Hybrid, consulta Informazioni sugli account di servizio.

Puoi anche creare account di servizio nella console Google Cloud. Consulta anche Creare e gestire gli account di servizio.