buat akun-layanan

Ringkasan create-serice-account

create-serice-account adalah alat command line yang disediakan dengan Apigee Hybrid yang membuat akun layanan Google Cloud dengan peran yang memungkinkan setiap komponen hybrid Apigee untuk melakukan panggilan API yang diotorisasi dan mendownload file kunci akun layanan terkait. Anda dapat menggunakan file kunci akun layanan yang dibuat oleh di file pengganti konfigurasi Anda.

create-service-account membuat satu atau beberapa akun layanan dalam project Google Cloud Anda saat ini atau project yang Anda tentukan, menetapkan Peran IAM 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 production, lihat referensi berikut:

Anda juga dapat membuat akun layanan di Konsol Google Cloud. Lihat juga Membuat dan mengelola akun layanan.

Prasyarat

Peran

Alat create-service-account mengharuskan CLI gcloud akan diinstal. Pengguna pemanggilan utilitas harus memiliki peran Service Account Admin.

Project

Akun layanan terikat ke project Google Cloud tertentu. create-service-account membuat akun layanan di project saat ini atau dalam project yang Anda tentukan, dan mengikat IAM ke akun layanan dalam project tersebut. create-service-account juga menggunakan ID Project sebagai bagian dari nama file kunci dan email akun layanan. Misalnya, jika bernama my-hybrid-project, file kunci akun layanan apigee-logger akan bernama my-hybrid-project-apigee-logger.json dan alamat email akun layanan alamatnya adalah apigee-logger@my-hybrid-project..

Anda dapat menentukan project dengan menentukan variabel lingkungan PROJECT_ID atau dengan tanda --project-id. create-service-account membaca variabel lingkungan PROJECT_ID. Jika tidak ada, Anda dapat menggunakan --project-id.

Jika Anda tidak menentukan ID project Cloud, create-service-account 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 dalam Langkah 2: Membuat project Google Cloud.

Lokasi file

Anda dapat menemukan alat create-service-account di direktori berikut:

$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/

Memverifikasi bahwa alat create-service-account dapat dieksekusi

Pastikan Anda dapat menjalankan create-service-account. Jika Anda baru saja mengunduh Pada diagram Helm Apigee, alat command line mungkin tidak dalam mode yang dapat dieksekusi. Buka direktori tempat create-service-account diinstal dan memverifikasi bahwa file tersebut dapat dieksekusi dengan menjalankannya bersama --help:

./create-service-account --help

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

chmod +x ./create-service-account

Menggunakan create-service-account

Contoh berikut menunjukkan penggunaan create-service-account untuk Apigee Hybrid umum menyiapkan tugas.

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 untuk komponen hybrid dengan nama {i> default<i}-nya di direktori {i>default<i}.

./tools/create-service-account --env prod

Cara ini akan membuat akun layanan berikut dengan file sertifikat yang diunduh di Direktori ./tools/service-accounts:

Akun layanan Peran IAM Email File sertifikasi
apigee-cassandra roles/storage.objectAdmin apigee-cassandra@PROJECT_ID. PROJECT_ID-apigee-cassandra.json
apigee-logger roles/logging.logWriter apigee-logger@PROJECT_ID. PROJECT_ID-apigee-logger.json
apigee-mart roles/apigeeconnect.Agent apigee-mart@PROJECT_ID. PROJECT_ID-apigee-mart.json
apigee-metrics roles/monitoring.metricWriter apigee-metrics@PROJECT_ID. PROJECT_ID-apigee-metrics.json
apigee-runtime Tidak ada peran yang ditetapkan apigee-runtime@PROJECT_ID. PROJECT_ID-apigee-runtime.json
apigee-synchronizer roles/apigee.synchronizerManager apigee-synchronizer@PROJECT_ID. PROJECT_ID-apigee-synchronizer.json
apigee-udca roles/apigee.analyticsAgent apigee-udca@PROJECT_ID. PROJECT_ID-apigee-udca.json
apigee-watcher roles/apigee.runtimeAgent apigee-watcher@PROJECT_ID. PROJECT_ID-apigee-watcher.json

Membuat satu akun layanan untuk lingkungan non-produksi

Untuk lingkungan non-produksi, seperti lingkungan eksperimental atau demo, Anda dapat membuat satu akun layanan bernama "apigee-non-prod" yang dapat Anda gunakan untuk semua komponen. Akun layanan ini akan memiliki semua peran IAM dalam contoh sebelumnya yang ditetapkan.

./tools/create-service-account --env non-prod

Tindakan ini akan dibuat sebagai akun layanan tunggal bernama apigee-non-prod dan mendownload file sertifikat di direktori ./tools/service-accounts:

Akun layanan Peran IAM Email File sertifikasi
apigee-non-prod roles/apigee.analyticsAgent
roles/apigee.runtimeAgent
roles/apigee.synchronizerManager
roles/apigeeconnect.Agent
roles/logging.logWriter
roles/monitoring.metricWriter
roles/storage.objectAdmin
apigee-non-prod@PROJECT_ID. 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 di direktori yang memiliki sama dengan nama file kunci yang dibuatnya.

Jika Anda tidak menentukan direktori output, create-service-account akan menulis file akun layanan ke direktori service-accounts/ dalam direktori tempat create-service-account tinggal.

--env
-e
prod
non-prod
Menentukan apakah Anda membuat akun layanan untuk produksi (prod) atau lingkungan non-produksi (non-prod).
  • --env prod membuat akun layanan untuk lingkungan hybrid produksi.

    Di lingkungan produksi, sebaiknya Anda memiliki satu akun layanan untuk setiap layanan Apigee. Setiap peran yang dibuat akan memiliki satu peran IAM yang terkait dengannya.

    create-service-account -env prod akan membuat semua akun layanan yang digunakan oleh Apigee Hybrid kecuali jika Anda menentukan akun layanan tertentu dengan --profile.

  • --env non-prod membuat satu akun layanan dengan semua peran IAM terikat padanya. Hal ini berguna untuk lingkungan non-produksi seperti lingkungan eksperimental atau penginstalan demo.

    Akun layanan akan diberi nama apigee-non-prod kecuali jika Anda menentukan nama dengan flag --name.

Jika Anda menjalankan create-service-account tanpa --env, dialog akan muncul Anda untuk memasukkan prod atau non-prod.

--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 ditetapkan dengan --profile atau --env non-prod.

Nama juga merupakan bagian dari email dan nama file sertifikat untuk akun layanan. Misalnya jika Anda menjalankan create-service-account --profile apigee-logger --name my-logger (dengan asumsi bahwa dalam contoh ini, project Cloud Anda saat ini adalah my-hybrid-project) create-service-account akan membuat akun dengan:

  • Nama: my-logger
  • Email: my-logger@my-hybrid-project.
  • File sertifikat: my-hybrid-project-my-logger.json

Jika Anda tidak menentukan --name, create-service-account akan menggunakan nama tersebut profil untuk nama akun layanan atau "apigee-non-prod" jika Anda menentukan --env non-prod.

‑‑profile
-p
apigee‑cassandra
apigee‑logger
apigee‑mart
apigee‑metrics
apigee‑runtime
apigee‑synchronizer
apigee‑udca
apigee‑watcher
Khusus untuk lingkungan produksi, tentukan satu akun layanan yang akan dibuat.

Anda dapat menentukan nama untuk akun layanan dengan flag --name.

Memerlukan --env prod.

‑‑project‑id
-i
project id Project ID untuk project Google Cloud tempat Anda membuat akun layanan.

create-service-account membaca nilai PROJECT_ID variabel lingkungan. Jika tidak ada, Anda dapat menggunakan tanda --project-id.

Jika Anda tidak menentukan ID Project, create-service-account akan menggunakan ID project di konfigurasi gcloud Anda saat ini.

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.