Ringkasan create-serice-account
create-serice-account
adalah alat command line yang disediakan pada Apigee Hybrid yang membuat akun layanan Google Cloud dengan peran yang memungkinkan setiap komponen hybrid Apigee melakukan panggilan API yang diotorisasi dan mendownload file kunci akun layanan terkait. Anda dapat menggunakan file kunci akun layanan yang dihasilkan oleh perintah ini dalam file penggantian konfigurasi Anda.
create-service-account
membuat satu atau beberapa akun layanan
di project Google Cloud Anda saat ini atau project yang Anda tentukan, menetapkan
peran IAM yang tepat ke akun layanan, dan mendownload
file sertifikat untuk akun layanan ke direktori di komputer lokal Anda.
Untuk mempelajari lebih lanjut akun layanan dan membaca daftar lengkap akun layanan yang direkomendasikan untuk lingkungan produksi, lihat artikel berikut:
Anda juga dapat membuat akun layanan di konsol Google Cloud. Lihat juga Membuat dan mengelola akun layanan.
Prasyarat
Peran
Alat create-service-account
memerlukan penginstalan CLI gcloud
. Pengguna
yang memanggil utilitas harus memiliki peran Service Account Admin
.
Project
Akun layanan terikat dengan project Google Cloud tertentu. create-service-account
membuat akun layanan di project Anda saat ini atau dalam project yang Anda tentukan, dan mengikat peran IAM
ke akun layanan dalam project tersebut. create-service-account
juga menggunakan
Project ID sebagai bagian dari email dan nama file kunci akun layanan. Misalnya, jika project Anda diberi nama my-hybrid-project, file kunci akun layanan apigee-logger akan diberi nama my-hybrid-project-apigee-logger.json
dan alamat email akun layanan adalah apigee-logger@my-hybrid-project.iam.gserviceaccount.com
.
Anda dapat menentukan project dengan menentukan variabel lingkungan PROJECT_ID
atau dengan flag --project-id
. create-service-account
membaca nilai variabel lingkungan PROJECT_ID
. Jika tidak ada, Anda dapat menggunakan
flag --project-id
.
Jika ID project Cloud tidak ditentukan, create-service-account
akan menggunakan project dalam konfigurasi project gcloud Anda saat ini.
Anda dapat memeriksa konfigurasi project gcloud
yang ditetapkan saat ini dengan perintah berikut:
gcloud config list project
Jika Anda perlu mengubah project ID saat ini, gunakan perintah berikut:
gcloud config set project PROJECT_ID
Dengan PROJECT_ID sebagai ID project Cloud Anda saat ini. Petunjuk untuk membuat Project Cloud tercakup di Langkah 2: Buat project Google Cloud.
Lokasi file
Bergantung pada alat yang Anda gunakan untuk menginstal dan mengelola Apigee Hybrid, create-service-account
dapat ditemukan di direktori berikut:
- Diagram Helm:
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/
apigeectl
:$APIGEECTL_HOME/apigeectl/tools/
Memverifikasi bahwa alat create-service-account
dapat dijalankan
Pastikan Anda dapat mengeksekusi create-service-account
. Jika Anda baru saja mendownload diagram Helm Apigee, alat command line mungkin tidak berada dalam mode yang dapat dieksekusi. Buka direktori tempat create-service-account
diinstal dan pastikan bahwa file tersebut dapat dijalankan dengan menjalankannya dengan --help
:
./create-service-account --help
Jika output Anda menyatakan permission denied
, Anda harus menjadikan file ini dapat dieksekusi, misalnya dengan chmod
di Linux, MacOS, atau UNIX, atau di Windows Explorer atau dengan perintah icacls
di Windows. Contoh:
chmod +x ./create-service-account
Menggunakan create-service-account
Contoh berikut menunjukkan penggunaan create-service-account
untuk tugas penyiapan hybrid Apigee yang umum.
Membuat akun layanan untuk lingkungan produksi
Dalam lingkungan hybrid produksi, Apigee merekomendasikan penggunaan akun layanan terpisah untuk setiap komponen. Gunakan perintah berikut untuk membuat semua akun layanan bagi komponen hybrid dengan nama defaultnya di direktori default.
./tools/create-service-account --env prod
Tindakan ini akan membuat akun layanan berikut dengan file sertifikat yang didownload di direktori ./tools/service-accounts
:
Akun layanan | Peran IAM | File sertifikasi | |
---|---|---|---|
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 |
Tidak ada peran yang ditetapkan | 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 |
Membuat satu akun layanan untuk lingkungan non-produksi
Untuk lingkungan non-produksi, seperti lingkungan demo atau eksperimental, Anda dapat membuat satu akun layanan bernama "apigee-non-prod" yang dapat digunakan untuk semua komponen. Akun layanan ini akan memiliki semua peran IAM di contoh sebelumnya yang telah ditetapkan ke akun tersebut.
./tools/create-service-account --env non-prod
Langkah ini akan dibuat sebagai akun layanan tunggal bernama apigee-non-prod dan mendownload file sertifikat di direktori ./tools/service-accounts
:
Akun layanan | Peran IAM | File sertifikasi | |
---|---|---|---|
apigee-non-prod |
roles/apigee.analyticsAgent |
apigee-non-prod@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-non-prod.json |
create-service-account syntax
Alat create-service-account
menggunakan sintaksis berikut:
create-service-account [flags]
Tabel berikut mencantumkan flag create-service-account
:
Tanda | Nilai | Deskripsi |
---|---|---|
--dir -d |
nama direktori | Menentukan direktori output untuk file kunci akun layanan. Jika direktori tidak ada, create-service-account akan membuatnya. Jika direktori sudah ada,
create-service-account akan menimpa file apa pun dalam direktori yang memiliki
nama yang sama dengan file kunci yang dibuatnya.
Jika Anda tidak menentukan direktori output, |
--env -e |
prod non-prod |
Menentukan apakah Anda membuat akun layanan untuk lingkungan produksi (prod ) atau lingkungan non-produksi (non-prod ).
Jika Anda menjalankan |
--help -h |
tidak ada | Menampilkan teks bantuan. |
--name -n |
nama akun layanan | Menentukan nama untuk akun layanan. --name hanya berlaku untuk satu
akun layanan, baik yang ditentukan dengan --profile atau --env non-prod .
Nama ini juga merupakan bagian dari nama file dan email sertifikat untuk akun layanan. Misalnya, jika Anda menjalankan
Jika |
‑‑profile -p |
apigee‑cassandra apigee‑logger apigee‑mart apigee‑metrics apigee‑runtime apigee‑synchronizer apigee‑udca apigee‑watcher |
Hanya untuk lingkungan produksi, tentukan satu akun layanan yang akan dibuat.
Anda dapat menentukan nama untuk akun layanan dengan flag
Memerlukan |
‑‑project‑id -i |
project id | ID Project untuk project Google Cloud tempat Anda membuat akun layanan.
Jika Anda tidak menentukan Project ID, |
Untuk mengetahui informasi selengkapnya tentang akun layanan yang digunakan oleh Apigee Hybrid, lihat Tentang akun layanan.
Anda juga dapat membuat akun layanan di konsol Google Cloud. Lihat juga Membuat dan mengelola akun layanan.