Langkah 4: Buat akun layanan

Ringkasan

Langkah ini menjelaskan cara membuat akun layanan Google Cloud yang diperlukan agar Apigee hybrid dapat beroperasi, dan menetapkan peran IAM yang sesuai untuk akun tersebut.

Prosedur ini menggunakan dua variabel lingkungan berikut yang ditentukan di Langkah 2: Mendownload diagram Helm Apigee. Variabel ini bersifat opsional. Jika Anda tidak menentukannya, ganti jalur direktori yang sesuai untuk setiap variabel dalam contoh kode.

Lingkungan produksi vs. non-produksi

Panduan ini mengacu pada penginstalan Produksi ("Prod") dan Non-produksi ("Non-prod"). Penginstalan produksi disesuaikan untuk kapasitas penggunaan, penyimpanan, dan skalabilitas yang lebih besar. Penginstalan non-produksi menggunakan lebih sedikit resource dan terutama untuk tujuan pembelajaran dan demonstrasi.

Saat membuat dan mengonfigurasi akun layanan untuk Apigee hybrid, penting untuk mengetahui jenis penginstalan yang Anda targetkan.

Untuk penginstalan produksi, sebaiknya buat akun layanan terpisah untuk setiap komponen campuran Apigee. Misalnya, runtime, mart, metrik, udca, dan sebagainya masing-masing mendapatkan akun layanannya sendiri.

Untuk penginstalan non-prod, Anda dapat membuat satu akun layanan yang berlaku untuk semua komponen.

Untuk mempelajari lebih lanjut akun layanan yang digunakan oleh Apigee dan peran yang ditetapkan, lihat Akun layanan dan peran yang digunakan oleh komponen campuran.

Mengautentikasi akun layanan

Apigee hybrid mendukung tiga metode autentikasi akun layanan Google:

Workload Identity di AKS, EKS, atau GKE

Untuk penginstalan hybrid Apigee di GKE, Google Cloud menawarkan opsi yang disebut Workload Identity untuk mengautentikasi komponen runtime hybrid. Opsi ini tidak menggunakan file sertifikat yang didownload untuk mengautentikasi akun layanan. Sebagai gantinya, opsi ini mengaitkan akun layanan Google Cloud yang Anda buat pada langkah ini dengan akun layanan Kubernetes di cluster Kubernetes. Lihat Mengaktifkan Workload Identity di GKE atau Mengaktifkan Workload Identity Federation di AKS dan EKS

Membuat akun layanan

Apigee hybrid menggunakan akun layanan berikut:

Prod

Akun layanan Peran IAM Diagram Helm Apigee
apigee-cassandra Storage Object Admin apigee-datastore
apigee-logger Penulis Log apigee-telemetry
apigee-mart Apigee Connect Agent apigee-org
apigee-metrics Penulis Metrik Pemantauan apigee-telemetry
apigee-runtime Tidak ada peran yang diperlukan apigee-env
apigee-synchronizer Apigee Synchronizer Manager apigee-env
apigee-udca Apigee Analytics Agent apigee-org
apigee-env
apigee-watcher Apigee Runtime Agent apigee-org

Non-prod

Akun layanan Peran IAM Diagram Helm 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

Alat create-service-account

Apigee menyediakan alat, create-service-account, di direktori apigee-operator/etc/tools:

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

Alat ini membuat akun layanan, menetapkan peran IAM ke setiap akun, dan mendownload file sertifikat dalam format JSON untuk setiap akun.

Verifikasi bahwa Anda dapat menjalankan create-service-account. Jika Anda baru saja mendownload diagram, file create-service-account mungkin tidak dalam mode yang dapat dieksekusi. Di direktori APIGEE_HELM_CHARTS_HOME, jalankan perintah berikut:

$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account --help

Jika output Anda bertuliskan permission denied, Anda harus membuat file dapat dieksekusi, misalnya dengan chmod di Linux, MacOS, atau UNIX atau di Windows Explorer atau dengan perintah icacls di Windows. Contoh:

chmod +x $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account

Membuat akun layanan

Karena Helm tidak mendukung file referensi di luar direktori diagram, Anda akan membuat setiap file sertifikat akun layanan di direktori diagram untuk komponen campuran yang sesuai.

Untuk langkah berikutnya, pilih apakah Anda mengonfigurasi penginstalan Produksi atau Non-produksi.

Prod

  1. Pastikan variabel lingkungan PROJECT_ID ditentukan.
    echo $PROJECT_ID

    create-service-account tool uses the value of thePROJECT_ID environment variable . Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tanda --project-id PROJECT_ID ke perintah create-service-account.

  2. Buat akun layanan dengan perintah berikut, dengan $APIGEE_HELM_CHARTS_HOME adalah jalur tempat Anda mendownload diagram Helm Apigee. Anda mungkin diminta untuk membuat setiap akun layanan. Respons dengan 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-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. Salin file JSON apigee-udca ke direktori diagram apigee-env. Hal ini diperlukan untuk operasi cakupan org dan cakupan env.
    cp $APIGEE_HELM_CHARTS_HOME/apigee-org/$PROJECT_ID-apigee-udca.json $APIGEE_HELM_CHARTS_HOME/apigee-env/
  4. Pastikan file akun layanan dibuat di direktori yang benar dengan memeriksa konten direktori setiap diagram. Output Anda akan terlihat seperti:
    ls ./apigee-datastore
    Chart.yaml  PROJECT_ID-apigee-cassandra.json  templates  values.yaml
    
    ls ./apigee-telemetry
    Chart.yaml  PROJECT_ID-apigee-logger.json  PROJECT_ID-apigee-metrics.json  templates  values.yaml
    
    ls ./apigee-org
    Chart.yaml                      PROJECT_ID-apigee-udca.json     templates
    PROJECT_ID-apigee-mart.json  PROJECT_ID-apigee-watcher.json  values.yaml
    
    ls ./apigee-env
    Chart.yaml  PROJECT_ID-apigee-runtime.json  PROJECT_ID-apigee-synchronizer.json my_project_id-apigee-udca.json  templates  values.yaml
    

Non-prod

  1. Pastikan variabel lingkungan PROJECT_ID ditentukan.
    echo $PROJECT_ID

    create-service-account tool uses the value of thePROJECT_ID environment variable . Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tanda --project-id PROJECT_ID ke perintah create-service-account.

  2. Buat akun layanan dengan perintah berikut, dengan $APIGEE_HELM_CHARTS_HOME adalah jalur tempat Anda mendownload diagram Helm Apigee. Anda mungkin diminta untuk membuat setiap akun layanan. Respons dengan y.
    $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \
      --env non-prod \
      --dir $APIGEE_HELM_CHARTS_HOME/apigee-datastore
  3. Verifikasi nama file akun layanan yang dibuat di direktori apigee-datastore:
    ls $APIGEE_HELM_CHARTS_HOME/apigee-datastore
    Chart.yaml  PROJECT_ID-apigee-non-prod.json  templates  values.yaml
  4. Salin file akun layanan ke direktori diagram lain yang perlu merujuk ke file tersebut:
    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/

Untuk mengetahui informasi selengkapnya tentang akun layanan dan alat create-service-account, lihat:

Sekarang Anda telah membuat akun layanan dan menetapkan peran yang diperlukan oleh komponen hibrida Apigee. Selanjutnya, buat sertifikat TLS yang diperlukan oleh gateway traffic masuk hybrid.

Langkah berikutnya

1 2 3 4 (BERIKUTNYA) Langkah 5: Buat sertifikat TLS 6 7 8 9 10 11