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 layanan tersebut.
Prosedur ini menggunakan dua variabel lingkungan berikut yang ditentukan di Langkah 2: Download diagram Helm Apigee. Variabel ini bersifat opsional. Jika Anda tidak menentukannya, ganti jalur direktori yang sesuai untuk setiap variabel dalam contoh kode.
$APIGEE_HELM_CHARTS_HOME
: Direktori tempat Anda mendownload diagram Helm Apigee, yang ditentukan di Langkah 2: Download diagram Helm Apigee.$PROJECT_ID
: Project ID Google Cloud Anda, yang ditentukan di Bagian 1: Penyiapan Project dan Org--Langkah 1: Aktifkan API.
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 ditujukan untuk tujuan pembelajaran dan demonstrasi.
Saat membuat dan mengonfigurasi akun layanan untuk Apigee hybrid, Anda harus mengetahui jenis penginstalan yang Anda targetkan.
Untuk penginstalan produksi, sebaiknya buat akun layanan terpisah untuk setiap komponen hybrid Apigee. Misalnya, runtime, mart, metrics, mint, udca, dan setiap komponen lainnya memiliki akun layanan khusus.
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 untuk akun tersebut, lihat Akun layanan dan peran yang digunakan oleh komponen hybrid.
Mengautentikasi akun layanan
Apigee hybrid mendukung metode berikut untuk mengautentikasi akun layanan Google:
- Secret Kubernetes
- File kunci JSON akun layanan ("file JSON" di tab pilihan di bagian berikut).
- Vault
- Workload Identity Federation for GKE ("WIF for GKE" di tab pilihan di bagian berikut).
- Workload Identity Federation di platform lain ("WIF di platform lain" di tab pilihan di bagian berikut).
Di bagian berikut, pilih prosedur untuk jenis autentikasi yang ingin Anda gunakan.
Buat akun layanan
Apigee Hybrid menggunakan akun layanan berikut:
Produksi
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-mint-task-scheduler (Hanya diperlukan jika Anda menggunakan Monetisasi untuk Apigee Hybrid) |
Tidak memerlukan peran | apigee-org |
apigee-runtime |
Tidak memerlukan peran | apigee-env |
apigee-synchronizer |
Apigee Synchronizer Manager Storage Object Admin |
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 |
Admin Objek Penyimpanan 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.
Pastikan 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 menampilkan 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
Buat akun layanan
Pilih prosedur untuk metode autentikasi akun layanan yang akan Anda gunakan dalam penginstalan. Untuk mengetahui informasi selengkapnya, lihat Metode autentikasi akun layanan di Apigee Hybrid.
Secret Kubernetes
Untuk menyiapkan file kunci akun layanan yang akan disimpan di Secret Kubernetes, Anda dapat menggunakan alat
create-service-account
untuk membuat file kunci akun layanan dengan tanda --dir
guna membuat direktori untuk file kunci.
Produksi
- Pastikan variabel lingkungan
PROJECT_ID
ditentukan.echo $PROJECT_ID
create-service-account tool uses the value of the
. Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tandaPROJECT_ID
environment variable--project-id PROJECT_ID
ke perintahcreate-service-account
. -
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. Berikan respons dengany
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/service-accounts
- Pastikan file akun layanan telah dibuat dengan memeriksa
konten direktori
service-accounts
. Output Anda akan terlihat seperti ini:ls $APIGEE_HELM_CHARTS_HOME/service-accounts/
my-project-apigee-cassandra.json my-project-apigee-runtime.json my-project-apigee-logger.json my-project-apigee-synchronizer.json my-project-apigee-mart.json my-project-apigee-udca.json my-project-apigee-metrics.json my-project-apigee-watcher.json my-project-apigee-mint-task-scheduler.json
Non-prod
- Pastikan variabel lingkungan
PROJECT_ID
ditentukan.echo $PROJECT_ID
create-service-account tool uses the value of the
. Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tandaPROJECT_ID
environment variable--project-id PROJECT_ID
ke perintahcreate-service-account
. -
Buat akun layanan dengan perintah berikut, dengan
$APIGEE_HELM_CHARTS_HOME
adalah jalur tempat Anda mendownload diagram Helm Apigee. Anda mungkin diminta untuk membuat akun layanan. Berikan respons dengany
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env non-prod \ --dir $APIGEE_HELM_CHARTS_HOME/service-accounts
- Pastikan file akun layanan dibuat dengan memeriksa
konten direktori
service-accounts
. Output Anda akan terlihat seperti ini:ls $APIGEE_HELM_CHARTS_HOME/service-accounts/
my-project-apigee-non-prod.json
File JSON
Karena Helm tidak mendukung referensi file di luar direktori chart, Anda akan membuat setiap file sertifikat akun layanan di direktori chart untuk komponen hybrid yang sesuai.
Untuk langkah berikutnya, pilih apakah Anda mengonfigurasi penginstalan Produksi atau Non-produksi.
Produksi
- Pastikan variabel lingkungan
PROJECT_ID
ditentukan.echo $PROJECT_ID
create-service-account tool uses the value of the
. Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tandaPROJECT_ID
environment variable--project-id PROJECT_ID
ke perintahcreate-service-account
. -
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. Berikan respons dengany
.$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
Jika Anda mengaktifkan Monetisasi untuk Apigee hybrid (Apigee hybrid v1.15.1 dan yang lebih baru):
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-mint-task-scheduler \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
- Salin file JSON
apigee-udca
ke direktori diagramapigee-env
. ID ini diperlukan untuk operasi cakupan organisasi dan cakupan lingkungan.cp $APIGEE_HELM_CHARTS_HOME/apigee-org/$PROJECT_ID-apigee-udca.json $APIGEE_HELM_CHARTS_HOME/apigee-env/
- Pastikan file akun layanan dibuat di direktori yang benar dengan memeriksa
konten setiap direktori diagram. Output Anda akan terlihat seperti ini:
ls ./apigee-datastore
Chart.yaml my-project-apigee-cassandra.json templates values.yamlls ./apigee-telemetry
Chart.yaml my-project-apigee-metrics.json values.yaml my-project-apigee-logger.json templatesls ./apigee-org
Chart.yaml my-project-apigee-udca.json my-project-apigee-mart.json my-project-apigee-watcher.json my-project-apigee-mint-task-scheduler.json values.yamlls ./apigee-env
Chart.yaml my-project-apigee-synchronizer.json templates my-project-apigee-runtime.json my-project-apigee-udca.json values.yaml
Non-prod
- Pastikan variabel lingkungan
PROJECT_ID
ditentukan.echo $PROJECT_ID
create-service-account tool uses the value of the
. Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tandaPROJECT_ID
environment variable--project-id PROJECT_ID
ke perintahcreate-service-account
. -
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. Berikan respons dengany
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env non-prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-datastore
- 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
- Salin file akun layanan ke direktori diagram lain yang akan memerlukannya:
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/
Vault
Untuk menyiapkan file kunci akun layanan yang akan disimpan di Vault, Anda dapat menggunakan alat
create-service-account
untuk membuat file kunci akun layanan
dengan tanda --dir
untuk membuat direktori bagi file kunci.
Produksi
- Pastikan variabel lingkungan
PROJECT_ID
ditentukan.echo $PROJECT_ID
create-service-account tool uses the value of the
. Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tandaPROJECT_ID
environment variable--project-id PROJECT_ID
ke perintahcreate-service-account
. -
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. Berikan respons dengany
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/service-accounts
- Pastikan file akun layanan telah dibuat dengan memeriksa
konten direktori
service-accounts
. Output Anda akan terlihat seperti ini:ls $APIGEE_HELM_CHARTS_HOME/service-accounts/
my-project-apigee-cassandra.json my-project-apigee-runtime.json my-project-apigee-logger.json my-project-apigee-synchronizer.json my-project-apigee-mart.json my-project-apigee-udca.json my-project-apigee-metrics.json my-project-apigee-watcher.json my-project-apigee-mint-task-scheduler.json
Non-prod
- Pastikan variabel lingkungan
PROJECT_ID
ditentukan.echo $PROJECT_ID
create-service-account tool uses the value of the
. Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tandaPROJECT_ID
environment variable--project-id PROJECT_ID
ke perintahcreate-service-account
. -
Buat akun layanan dengan perintah berikut, dengan
$APIGEE_HELM_CHARTS_HOME
adalah jalur tempat Anda mendownload diagram Helm Apigee. Anda mungkin diminta untuk membuat akun layanan. Berikan respons dengany
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env non-prod \ --dir $APIGEE_HELM_CHARTS_HOME/service-accounts
- Pastikan file akun layanan dibuat dengan memeriksa
konten direktori
service-accounts
. Output Anda akan terlihat seperti ini:ls $APIGEE_HELM_CHARTS_HOME/service-accounts/
my-project-apigee-non-prod.json
WIF untuk GKE
Buat akun layanan untuk penginstalan Anda dengan perintah berikut:
Produksi
- Pastikan variabel lingkungan
PROJECT_ID
ditentukan.echo $PROJECT_ID
create-service-account tool uses the value of the
. Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tandaPROJECT_ID
environment variable--project-id PROJECT_ID
ke perintahcreate-service-account
. -
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. Berikan respons dengany
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/service-accounts
-
Verifikasi pembuatan akun layanan Google" dengan perintah berikut:
gcloud iam service-accounts list --project $PROJECT_ID
Output-nya akan terlihat seperti berikut:
DISPLAY NAME EMAIL DISABLED apigee-cassandra apigee-cassandra@my-project.iam.gserviceaccount.com False apigee-mart apigee-mart@my-project.iam.gserviceaccount.com False apigee-metrics apigee-metrics@my-project.iam.gserviceaccount.com False apigee-mint-task-scheduler apigee-mint-task-scheduler@my-project.iam.gserviceaccount.com False apigee-runtime apigee-runtime@my-project.iam.gserviceaccount.com False apigee-synchronizer apigee-synchronizer@my-project.iam.gserviceaccount.com False apigee-udca apigee-udca@my-project.iam.gserviceaccount.com False apigee-watcher apigee-watcher@my-project.iam.gserviceaccount.com False
Non-prod
- Pastikan variabel lingkungan
PROJECT_ID
ditentukan.echo $PROJECT_ID
create-service-account tool uses the value of the
. Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tandaPROJECT_ID
environment variable--project-id PROJECT_ID
ke perintahcreate-service-account
. -
Buat akun layanan dengan perintah berikut, dengan
$APIGEE_HELM_CHARTS_HOME
adalah jalur tempat Anda mendownload diagram Helm Apigee. Anda mungkin diminta untuk membuat akun layanan. Berikan respons dengany
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env non-prod \ --dir $APIGEE_HELM_CHARTS_HOME/service-accounts
-
Verifikasi pembuatan akun layanan Google" dengan perintah berikut:
gcloud iam service-accounts list --project $PROJECT_ID
Output-nya akan terlihat seperti berikut:
DISPLAY NAME EMAIL DISABLED apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False
Opsional: Anda tidak memerlukan file kunci akun layanan untuk Workload Identity Federation for GKE. Anda dapat menghapus direktori service-accounts
setelah selesai.
WIF di platform lain
Buat akun layanan untuk penginstalan Anda dengan perintah berikut:
Produksi
- Pastikan variabel lingkungan
PROJECT_ID
ditentukan.echo $PROJECT_ID
create-service-account tool uses the value of the
. Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tandaPROJECT_ID
environment variable--project-id PROJECT_ID
ke perintahcreate-service-account
. -
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. Berikan respons dengany
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/service-accounts
-
Verifikasi pembuatan akun layanan Google" dengan perintah berikut:
gcloud iam service-accounts list --project $PROJECT_ID
Output-nya akan terlihat seperti berikut:
DISPLAY NAME EMAIL DISABLED apigee-cassandra apigee-cassandra@my-project.iam.gserviceaccount.com False apigee-mart apigee-mart@my-project.iam.gserviceaccount.com False apigee-metrics apigee-metrics@my-project.iam.gserviceaccount.com False apigee-mint-task-scheduler apigee-mint-task-scheduler@my-project.iam.gserviceaccount.com False apigee-runtime apigee-runtime@my-project.iam.gserviceaccount.com False apigee-synchronizer apigee-synchronizer@my-project.iam.gserviceaccount.com False apigee-udca apigee-udca@my-project.iam.gserviceaccount.com False apigee-watcher apigee-watcher@my-project.iam.gserviceaccount.com False
Non-prod
- Pastikan variabel lingkungan
PROJECT_ID
ditentukan.echo $PROJECT_ID
create-service-account tool uses the value of the
. Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tandaPROJECT_ID
environment variable--project-id PROJECT_ID
ke perintahcreate-service-account
. -
Buat akun layanan dengan perintah berikut, dengan
$APIGEE_HELM_CHARTS_HOME
adalah jalur tempat Anda mendownload diagram Helm Apigee. Anda mungkin diminta untuk membuat akun layanan. Berikan respons dengany
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env non-prod \ --dir $APIGEE_HELM_CHARTS_HOME/service-accounts
-
Verifikasi pembuatan akun layanan Google" dengan perintah berikut:
gcloud iam service-accounts list --project $PROJECT_ID
Output-nya akan terlihat seperti berikut:
DISPLAY NAME EMAIL DISABLED apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False
Opsional: Anda tidak memerlukan file kunci akun layanan untuk Workload Identity Federation for GKE. Anda dapat menghapus direktori service-accounts
setelah selesai.
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 hybrid Apigee. Selanjutnya, buat sertifikat TLS yang diperlukan oleh gateway traffic masuk hybrid.