Passaggio 4: crea gli account di servizio

Panoramica

Questo passaggio spiega come creare gli account di servizio Google Cloud necessari per il funzionamento di Apigee Hybrid e assegnarvi i ruoli IAM appropriati.

Questa procedura utilizza le due seguenti variabili di ambiente definite in Passaggio 2: scarica i grafici Helm di Apigee. 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 alle installazioni di produzione ("Prod") e non di produzione ("Non-prod"). Un'installazione di produzione è ottimizzata per una maggiore capacità di utilizzo, archiviazione e scalabilità. Un'installazione non di produzione utilizza meno risorse ed è principalmente destinata a scopi didattici e dimostrativi.

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

Per le installazioni di produzione, ti consigliamo di creare un account di servizio separato per ogni componente Apigee ibrido. Ad esempio, runtime, mart, metriche, udca e così via hanno ciascuno il proprio account di servizio.

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

Per scoprire di più sugli account di servizio utilizzati da Apigee e sui ruoli che vengono assegnati, consulta Account di servizio e ruoli utilizzati dai componenti ibride.

Workload Identity su GKE

Per le installazioni ibride di Apigee su GKE, Google Cloud offre un'opzione chiamata Workload Identity per autenticare i componenti di runtime ibrida. Questa opzione non utilizza i file dei certificati scaricati per autenticare gli account di servizio, ma associa gli account di servizio Google Cloud che crei in questo passaggio agli account di servizio Kubernetes nel cluster Kubernetes.

Workload Identity è disponibile solo nelle installazioni GKE.

Crea gli account di servizio

Apigee Hybrid utilizza i seguenti account di servizio:

Produzione

Service account Ruoli IAM Grafico Helm di Apigee
apigee-cassandra Storage Object Admin apigee-datastore
apigee-logger Logs Writer apigee-telemetry
apigee-mart Apigee Connect Agent 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 Apigee Analytics Agent apigee-org
apigee-env
apigee-watcher Apigee Runtime Agent apigee-org

Non prod

Service account Ruoli IAM Grafico Helm di Apigee
apigee-non-prod Storage Object Admin
Logs Writer
Apigee Connect Agent
Monitoring Metric Writer
Apigee Synchronizer Manager
Apigee Analytics Agent
Apigee Runtime Agent
apigee-datastore
apigee-telemetry
apigee-org
apigee-env

Lo strumento create-service-account

Apigee fornisce uno strumento, create-service-account, nella 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 ciascun account e scarica i file dei certificati in formato JSON per ciascun 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. Nella directory APIGEE_HELM_CHARTS_HOME, esegui il seguente 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 con chmod in Linux, macOS o UNIX o in Esplora risorse di Windows o con il comando 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 ai file esterni alla directory del grafico, dovrai creare ogni file del 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 progetto Google Cloud o aggiungi il flag --project-id my_project_id ai comandi create-service-account.

  2. Crea gli account di servizio con i seguenti comandi, dove $APIGEE_HELM_CHARTS_HOME è il percorso in cui hai scaricato i grafici Helm di Apigee. È possibile che ti venga richiesto di creare ogni account di servizio. Rispondi con 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 i contenuti della directory di ogni diagramma. 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 my_project_id-apigee-udca.json templates  values.yaml
    

Non prod

  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 progetto Google Cloud o aggiungi il flag --project-id my_project_id ai comandi create-service-account.

  2. Crea l'account di servizio con il seguente comando, dove $APIGEE_HELM_CHARTS_HOME è il percorso in cui hai scaricato i grafici Helm di Apigee. È possibile che ti venga richiesto di creare ogni account di servizio. Rispondi con 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 nella directory apigee-datastore:
    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 dei grafici che dovranno farvi riferimento:
    cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME $APIGEE_HELM_CHARTS_HOME/apigee-org/
    cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME $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 assegnato i ruoli necessari ai componenti Apigee hybrid. Successivamente, crea i certificati TLS richiesti dal gateway di ingresso ibrida.

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