Akun layanan adalah jenis akun khusus di Google Cloud yang memungkinkan komponen dan aplikasi sistem untuk berinteraksi satu sama lain dan dengan API lainnya. Untuk mendapatkan informasi selengkapnya tentang Google Cloud, lihat artikel Tentang layanan Google Cloud.
Apigee Hybrid menggunakan akun layanan Google Cloud untuk menjalankan berbagai tugas, termasuk:
- Mengirim data log dan metrik
- Permintaan trace pull
- Terhubung ke gateway API untuk permintaan API administratif
- Menjalankan pencadangan
- Mendownload paket proxy
Meskipun satu akun layanan dapat menjalankan semua operasi ini, untuk lingkungan produksi, Apigee merekomendasikan agar Anda membuat beberapa akun layanan, masing-masing ditetapkan ke sebuah tugas tertentu dan masing-masing memiliki sekumpulan izin sendiri. Hal ini akan meningkatkan keamanan dengan mengelompokkan akses dan membatasi cakupan serta hak istimewa akses setiap akun layanan. Seperti halnya akun pengguna, izin ini diterapkan dengan menetapkan satu atau beberapa peran ke akun layanan.
Akun layanan dan peran yang digunakan oleh komponen hybrid
Agar dapat beroperasi dengan benar, Apigee Hybrid mengharuskan Anda membuat beberapa akun layanan. Setiap akun layanan memerlukan satu atau beberapa peran tertentu yang memungkinkannya menjalankan fungsinya.
Tabel berikut menjelaskan akun layanan untuk komponen hybrid. Nama yang diberikan untuk setiap akun layanan adalah nama default. Anda dapat menggunakan nama apa pun yang diinginkan, tetapi nama tersebut harus mudah diidentifikasi dengan tujuan setiap akun.
Komponen* | Peran | Diperlukan untuk penginstalan dasar? | Deskripsi |
---|---|---|---|
apigee-cassandra |
Admin Objek Penyimpananroles/storage.objectAdmin |
Mengizinkan Cassandra melakukan pencadangan ke Cloud Storage, seperti yang dijelaskan dalam Pencadangan dan pemulihan. | |
apigee-logger |
Penulis Logroles/logging.logWriter |
Mengizinkan pengumpulan data logging, seperti yang dijelaskan dalam Logging. Hanya diperlukan untuk penginstalan cluster non-GKE. | |
apigee-mart |
Agen Apigee Connectroles/apigeeconnect.Agent |
Mengizinkan autentikasi layanan MART. Peran Agen Apigee Connect memungkinkannya berkomunikasi dengan aman dengan proses Apigee Connect, seperti yang dijelaskan dalam Menggunakan Apigee Connect. | |
apigee-metrics |
Penulis Metrik Monitoringroles/monitoring.metricWriter |
Memungkinkan pengumpulan data metrik, seperti yang dijelaskan dalam Ringkasan pengumpulan metrik. | |
apigee-runtime |
Peran tidak diperlukan | Memungkinkan runtime hybrid Apigee terhubung ke layanan Google dan layanan kustom di Google Cloud, seperti Autentikasi Google, Google Cloud Trace, dan Jaeger. | |
apigee-synchronizer |
Pengelola Sinkronisasi Apigeeroles/apigee.synchronizerManager |
Mengizinkan sinkronisasi mendownload paket proxy dan data konfigurasi lingkungan. Juga mengaktifkan pengoperasian fitur rekaman aktivitas. | |
apigee-udca |
Agen Analisis Apigeeroles/apigee.analyticsAgent |
Memungkinkan transfer data status trace, analisis, dan deployment ke bidang pengelolaan. | |
apigee-watcher |
Agen Runtime Apigeeroles/apigee.runtimeAgent |
Apigee Watcher mengambil perubahan terkait host virtual untuk suatu organisasi dari sinkronisasi dan membuat perubahan yang diperlukan untuk mengonfigurasi ingress istio. | |
* Nama ini digunakan pada nama file kunci akun layanan yang didownload. |
Sebagai alternatif, untuk lingkungan nonproduksi, pengujian, dan demo, Anda dapat menggunakan satu akun layanan dengan semua peran yang ditetapkan padanya. Tindakan ini tidak direkomendasikan untuk lingkungan produksi.
Komponen* | Peran | Diperlukan untuk penginstalan dasar? | Deskripsi |
---|---|---|---|
apigee-non-prod |
Apigee Analytics Agen, Apigee Connect Agent, Apigee Organization Admin, Apigee Runtime Agent, Apigee Synchronizer Manager, Cloud Trace Agent, Logs Writer, Monitoring Metric Writer, Storage Object Admin | Atau semua SA yang diperlukan di atas | Akun layanan tunggal untuk lingkungan demo atau pengujian. Lihat Menginstal, Bagian 2, Langkah 5: Membuat akun layanan. |
Selain membuat akun layanan yang tercantum dalam tabel ini, Anda akan menggunakan setiap kunci pribadi akun untuk menghasilkan token akses sehingga Anda dapat mengakses Apigee API. Alat
create-service-account
akan otomatis mendownload file kunci ke dalam direktori
di komputer lokal Anda saat membuat atau memperbarui akun layanan.
Membuat akun layanan
Ada beberapa cara untuk membuat akun layanan, termasuk:
- (Direkomendasikan) Alat
create-service-account
- Google Cloud console
- SDK gcloud
Setiap ini dijelaskan di bagian berikut.
Menggunakan alat create-service-account
Alat create-service-account
tersedia setelah Anda
mendownload dan memperluas apigeectl
di
direktori tools/
. Layanan ini menggabungkan akun layanan khusus komponen dan menetapkan peran yang diperlukan untuk Anda. Alat ini juga akan otomatis mendownload kunci akun layanan dan menyimpannya di komputer lokal Anda.
Misalnya, perintah berikut akan membuat semua akun layanan individual yang terpisah untuk lingkungan produksi, menetapkan peran IAM yang sesuai untuk setiap akun layanan, dan mendownload setiap file kunci pribadi akun ke direktori ./service-accounts
:
./tools/create-service-account --env prod
Perintah berikut akan membuat satu akun layanan bernama apigee-non-prod
dengan semua peran IAM untuk semua komponen campuran, yang cocok untuk lingkungan demo dan pengujian, tetapi tidak untuk lingkungan produksi:
./tools/create-service-account --env non-prod
Untuk informasi selengkapnya tentang penggunaan create-service-account
, lihat referensi pembuatan akun layanan.
Menggunakan konsol Google Cloud
Anda dapat membuat akun layanan dengan Konsol Google Cloud.
Untuk membuat akun layanan dengan Konsol Google Cloud dan membuat kunci untuk akun layanan, lakukan langkah berikut:
-
Buat akun layanan:
-
Di Cloud Console, buka halaman Service Accounts.
- Pilih project Anda.
- Klik Buat akun layanan.
-
Di kolom Nama akun layanan, masukkan nama. Cloud Console mengisi kolom Service account ID berdasarkan nama ini.
Apigee merekomendasikan agar Anda menggunakan nama yang mencerminkan peran akun layanan; Anda dapat menetapkan nama akun layanan agar sama dengan komponen yang menggunakannya. Misalnya, tetapkan nama akun layanan Penulis Log
apigee-logger
.Untuk informasi selengkapnya tentang nama dan peran akun layanan, lihat Akun dan peran layanan yang digunakan oleh komponen hybrid.
- Opsional: Di kolom Service account description, masukkan deskripsi akun layanan. Deskripsi sangat membantu mengingatkan Anda untuk apa akun layanan tertentu digunakan.
- Klik Buat dan lanjutkan.
-
Klik kolom Pilih peran, lalu pilih peran, seperti yang dijelaskan di Akun layanan dan peran yang digunakan oleh komponen hybrid. Jika peran Apigee tidak muncul dalam menu drop-down, muat ulang halaman.
Misalnya, untuk komponen logging, pilih peran Logs Writer.
Jika perlu, masukkan teks untuk memfilter daftar peran berdasarkan nama. Misalnya, untuk mencantumkan peran Apigee saja, masukkan
Apigee
di kolom filter.Anda dapat menambahkan lebih dari satu peran ke akun layanan, tetapi Apigee merekomendasikan agar Anda hanya menggunakan satu peran untuk setiap akun layanan yang direkomendasikan. Untuk mengubah peran akun layanan setelah Anda membuatnya, gunakan halaman IAM di Cloud Console.
- Klik Lanjutkan.
Google Cloud akan menampilkan tampilan Beri pengguna akses ke akun layanan ini:
- Di bagian Create key (optional), klik Create Key.
Google Cloud memberi Anda opsi untuk mendownload kunci JSON atau P12:
- Pilih JSON (default) dan klik Buat.
Google Cloud akan menyimpan file kunci dalam format JSON ke komputer lokal Anda dan menampilkan konfirmasi jika file tersebut berhasil, seperti yang ditunjukkan contoh berikut:
Anda akan menggunakan beberapa kunci akun layanan nanti untuk mengonfigurasi layanan runtime hybrid. Misalnya, saat mengonfigurasi runtime hybrid, Anda akan menentukan lokasi kunci akun layanan menggunakan properti SERVICE_NAME
.serviceAccountPath
.Kunci ini digunakan oleh akun layanan untuk mendapatkan token akses, yang kemudian digunakan oleh akun layanan untuk membuat permintaan terhadap Apigee API untuk Anda. (Tapi belum cukup lama; untuk saat ini, ingat saja di mana Anda menyimpannya.)
- Ulangi langkah 4 sampai 11 untuk setiap akun layanan yang tercantum di Akun dan peran layanan yang digunakan oleh komponen campuran (kecuali akun
apigee-mart
—yang tidak memiliki peran terkait dengannya—jadi jangan tetapkan peran).Setelah selesai, Anda akan memiliki akun layanan berikut (selain default, jika ada):
Di konsol Google Cloud, akun layanan ditunjukkan dengan ikon .
Setelah membuat akun layanan, jika ingin menambahkan atau menghapus peran, Anda harus menggunakan tampilan IAM & Admin. Anda tidak dapat mengelola peran untuk akun layanan dalam tampilan Akun layanan.
Menggunakan API pembuatan akun layanan gcloud
Anda dapat membuat dan mengelola akun layanan dengan Cloud Identity and Access Management API.
Untuk informasi selengkapnya, lihat Membuat dan mengelola akun layanan.
Pemecahan masalah
-