Passaggio 4: crea gli account di servizio

Panoramica

Questo passaggio spiega come creare gli account di servizio Google Cloud necessari per Apigee hybrid per operare e assegnare loro i ruoli IAM appropriati.

Questa procedura utilizza le due variabili di ambiente seguenti definite Passaggio 2: scarica i grafici Apigee Helm. Queste variabili sono facoltative. Se non le hai definite, sostituisci il percorso della directory appropriato per ogni variabile negli esempi di codice.

Ambienti di produzione e non di produzione

Questa guida fa riferimento ai contenuti Produzione ("Produzione") e Non di produzione ("Non di produzione") e le installazioni di app. Un'installazione in produzione è ottimizzata per una maggiore capacità di utilizzo, e scalabilità. Un'installazione non di produzione utilizza meno risorse ed è destinata principalmente all'apprendimento e dimostrativi.

Quando crei e configuri account di servizio per Apigee hybrid, è importante conoscere il tipo di installazione scelto come target.

Per le installazioni di produzione, ti consigliamo di creare un account di servizio separato per ogni Componente ibrido Apigee. Ad esempio, runtime, mart, metriche, udca e così via, ognuno ha il proprio l'account di servizio.

Per le installazioni non di produzione, puoi creare un singolo account di servizio applicabile tutti i componenti.

Per saperne di più sugli account di servizio utilizzati da Apigee e sui ruoli loro assegnati, vedi Account di servizio e ruoli utilizzati da componenti ibridi.

Autenticazione degli account di servizio

Apigee hybrid supporta tre metodi per autenticare gli account di servizio Google:

Workload Identity su AKS, EKS o GKE

Per le installazioni ibride di Apigee su GKE, Google Cloud offre un'opzione denominata Workload Identity per autenticare il runtime ibrido componenti. Questa opzione non utilizza i file dei certificati scaricati per autenticare il servizio , associa invece gli account di servizio Google Cloud che crei in questo passaggio con gli account di servizio Kubernetes nel cluster Kubernetes. Vedi Attivazione di Workload Identity su GKE o Abilitare la federazione delle identità per i carichi di lavoro su AKS ed EKS

Crea gli account di servizio

Apigee hybrid utilizza i seguenti account di servizio:

Produzione

Account di servizio Ruoli IAM Grafico Apigee Helm
apigee-cassandra Storage Object Admin apigee-datastore
apigee-logger Logs Writer apigee-telemetry
apigee-mart Agente Apigee Connect apigee-org
apigee-metrics Monitoring Metric Writer apigee-telemetry
apigee-runtime Nessun ruolo richiesto apigee-env
apigee-synchronizer Gestore sincronizzatore Apigee apigee-env
apigee-udca Agente di analisi Apigee apigee-org
apigee-watcher Agente di runtime Apigee apigee-org

Non di produzione

Account di servizio Ruoli IAM Grafico Apigee Helm
apigee-non-prod Amministratore oggetti Storage
Writer log
Agente Apigee Connect
Writer metriche Monitoring
Gestore sincronizzatore Apigee
Agente Apigee Analytics
Agente di runtime Apigee
apigee-datastore
apigee-telemetry
apigee-org
apigee-env

Lo strumento create-service-account

Apigee offre uno strumento, create-service-account, nel Directory apigee-operator/etc/tools:

$APIGEE_HELM_CHARTS_HOME/
    └── apigee-operator/
        └── etc/
            └── tools/
                └── create-service-account

Questo strumento crea gli account di servizio, assegna i ruoli IAM a ogni account e scarica i file dei certificati in formato JSON per ogni account.

Verifica di poter eseguire create-service-account. Se hai appena scaricato i grafici il file create-service-account potrebbe non essere in modalità eseguibile. Nel tuo La directory APIGEE_HELM_CHARTS_HOME esegui questo comando:

$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/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 $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account

Crea gli account di servizio

Poiché Helm non supporta i riferimenti a file al di fuori del grafico di servizio, creerai ciascun file di certificato dell'account di servizio nella directory del grafico per il componente ibrido corrispondente.

Per i passaggi successivi, scegli se stai configurando un'installazione di produzione o non di produzione.

Produzione

  1. Assicurati che la variabile di ambiente PROJECT_ID sia definita.
    echo $PROJECT_ID

    L'elemento create-service-account tool uses the value of thePROJECT_ID environment variable . Se non è definito, definiscilo con l'ID del tuo ID progetto Google Cloud o aggiungi il flag --project-id my_project_id alla Comandi create-service-account.

  2. Crea gli account di servizio con i comandi seguenti, dove $APIGEE_HELM_CHARTS_HOME è il percorso in cui hai scaricato i grafici Apigee Helm. Ti potrebbe essere richiesto per creare ciascun account di servizio. Rispondi y.
    $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \
      --profile apigee-cassandra \
      --env prod \
      --dir $APIGEE_HELM_CHARTS_HOME/apigee-datastore
    
    $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \
      --profile apigee-logger \
      --env prod \
      --dir $APIGEE_HELM_CHARTS_HOME/apigee-telemetry
    
    $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \
      --profile apigee-mart \
      --env prod \
      --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
    
    $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \
      --profile apigee-metrics \
      --env prod \
      --dir $APIGEE_HELM_CHARTS_HOME/apigee-telemetry
    
    $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \
      --profile apigee-runtime \
      --env prod \
      --dir $APIGEE_HELM_CHARTS_HOME/apigee-env
    
    $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \
      --profile apigee-synchronizer \
      --env prod \
      --dir $APIGEE_HELM_CHARTS_HOME/apigee-env
    
    $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \
      --profile apigee-udca \
      --env prod \
      --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
    
    $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \
      --profile apigee-watcher \
      --env prod \
      --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
  3. Verifica che i file dell'account di servizio siano stati creati nelle directory corrette controllando il file contenuti della directory di ciascun grafico. L'output dovrebbe essere simile al seguente:
    ls ./apigee-datastore
    Chart.yaml  my_project_id-apigee-cassandra.json  templates  values.yaml
    
    ls ./apigee-telemetry
    Chart.yaml  my_project_id-apigee-logger.json  my_project_id-apigee-metrics.json  templates  values.yaml
    
    ls ./apigee-org
    Chart.yaml                      my_project_id-apigee-udca.json     templates
    my_project_id-apigee-mart.json  my_project_id-apigee-watcher.json  values.yaml
    
    ls ./apigee-env
    Chart.yaml  my_project_id-apigee-runtime.json  my_project_id-apigee-synchronizer.json  templates  values.yaml
    

Non di produzione

  1. Assicurati che la variabile di ambiente PROJECT_ID sia definita.
    echo $PROJECT_ID

    L'elemento create-service-account tool uses the value of thePROJECT_ID environment variable . Se non è definito, definiscilo con l'ID del tuo ID progetto Google Cloud o aggiungi il flag --project-id my_project_id alla Comandi create-service-account.

  2. Crea l'account di servizio con il comando seguente, dove $APIGEE_HELM_CHARTS_HOME è il percorso in cui hai scaricato i grafici Apigee Helm. Ti potrebbe essere richiesto per creare ciascun account di servizio. Rispondi y.
    $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \
      --env non-prod \
      --dir $APIGEE_HELM_CHARTS_HOME/apigee-datastore
  3. Verifica il nome del file dell'account di servizio creato in apigee-datastore directory:
    ls $APIGEE_HELM_CHARTS_HOME/apigee-datastore
    Chart.yaml  my_project_id-apigee-non-prod.json  templates  values.yaml
  4. Copia il file dell'account di servizio nelle altre directory del grafico a cui dovrà far riferimento:
    cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME.json $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME.json $APIGEE_HELM_CHARTS_HOME/apigee-org/
    cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME.json $APIGEE_HELM_CHARTS_HOME/apigee-env/

Per ulteriori informazioni sugli account di servizio e sullo strumento create-service-account, consulta:

Ora hai creato gli account di servizio e hai assegnato i ruoli richiesti da Apigee hybrid componenti. Quindi, crea i certificati TLS richiesti dal gateway ibrido in entrata.

Passaggio successivo

1 2 3 4 (SUCCESSIVO) Passaggio 5: crea i certificati TLS 6 7 8 9 10 11 12