Akun layanan dapat dibagi menjadi dua kategori: akun layanan yang Anda kelola, dan akun layanan yang dikelola Google. Halaman ini menjelaskan cara pembuatan dan penggunaan masing-masing akun layanan.
Akun layanan yang dikelola pengguna
Akun layanan yang dikelola pengguna adalah akun layanan yang Anda buat di project Anda. Anda dapat memperbarui, menonaktifkan, dan menghapus akun layanan ini atas kebijaksanaan Anda. Anda juga dapat mengelola akses utama lain pada akun layanan ini.
Anda dapat membuat akun layanan yang dikelola pengguna di project Anda menggunakan API IAM, konsol Google Cloud, atau Google Cloud CLI.
Secara default, Anda dapat membuat hingga 100 akun layanan yang dikelola pengguna di suatu project. Apabila kuota ini tidak memenuhi kebutuhan Anda, Anda dapat menggunakan konsol Google Cloud untuk Meminta penambahan kuota. Hanya akun layanan yang buatan pengguna yang diperhitungkan dalam kuota ini—akun layanan default dan akun layanan yang dikelola Google tidak diperhitungkan.
Ketika Anda membuat akun layanan yang dikelola pengguna di project Anda, Anda akan memilih nama untuk akun layanan Anda. Nama ini muncul di alamat email yang mengidentifikasi akun layanan, dan menggunakan format berikut:
service-account-name@project-id.iam.gserviceaccount.com
Untuk mempelajari cara membuat akun layanan, lihat Membuat akun layanan.
Akun layanan default
Akun layanan default adalah akun layanan yang dikelola pengguna dan yang dibuat secara otomatis ketika Anda mengaktifkan atau menggunakan layanan Google Cloud tertentu. Akun layanan ini memungkinkan layanan dapat men-deploy tugas yang mengakses resource Google Cloud lainnya. Anda bertanggung jawab mengelola akun layanan default setelah akun tersebut dibuat.
Apabila aplikasi Anda berjalan di lingkungan Google Cloud yang memiliki akun layanan default, aplikasi Anda dapat menggunakan kredensial sebagai akun layanan default untuk memanggil Cloud API Google. Atau, Anda dapat membuat akun layanan yang dikelola pengguna Anda sendiri dan menggunakannya untuk mengautentikasi. Untuk mengetahui detailnya, lihat Menyiapkan Kredensial Default Aplikasi.
Tabel berikut mencantumkan layanan yang dapat membuat akun layanan default:
Layanan | Nama akun layanan | Alamat email |
---|---|---|
Setiap App Engine, dan layanan Google Cloud yang menggunakan App Engine | Akun layanan default App Engine | project-id@appspot.gserviceaccount.com |
Compute Engine, dan setiap layanan Google Cloud yang menggunakan Compute Engine | Akun layanan default Compute Engine |
project-number-compute@developer.gserviceaccount.com
|
Akun layanan yang dikelola Google
Beberapa layanan Google Cloud memerlukan akses ke resource Anda agar layanan tersebut dapat bertindak atas nama Anda. Misalnya, ketika Anda menjalankan Cloud Run untuk menjalankan container, layanan tersebut memerlukan akses ke setiap topik Pub/Sub yang dapat memicu container.
Untuk memenuhi kebutuhan ini, Google membuat dan mengelola akun layanan untuk beberapa layanan Google Cloud. Akun layanan ini dikenal sebagai akun layanan yang dikelola Google. Anda mungkin menemukan akun layanan yang dikelola Google di kebijakan izin project, di log audit, atau di halaman IAM yang ada di konsol Google Cloud.
Akun layanan yang dikelola Google tidak dibuat di project Anda, sehingga Anda tidak akan menemukannya ketika melihat akun layanan project Anda.
Google memiliki jenis akun layanan yang dikelola Google sebagai berikut:
- Agen layanan khusus layanan
- Agen Layanan Google API
- Pengelola peran untuk akun layanan yang dikelola Google
Visibilitas
Akun layanan yang dikelola Google tidak tercantum di halaman Akun layanan yang ada di konsol Google Cloud. Akun layanan ini tidak berada di project Anda, dan Anda tidak dapat mengakses akun tersebut secara langsung.
Secara default, akun layanan yang dikelola Google juga tidak tercantum di halaman IAM yang berada di konsol Google Cloud, bahkan jika akun tersebut telah diberikan peran pada project Anda. Untuk melihat pemberian peran bagi akun layanan yang dikelola Google, pilih kotak centang Sertakan pemberian peran yang diberikan Google.
Agen layanan khusus layanan
Agen layanan merupakan akun layanan yang dikelola Google yang bertindak atas nama layanan perorangan. Dalam berbagai macam kasus, agen layanan ini diperlukan agar layanan berfungsi dengan baik. Misalnya, agen layanan adalah agen yang memungkinkan Cloud Logging sink untuk menulis log ke bucket Cloud Storage.
Setiap agen layanan terhubung dengan resource Resource ini biasanya adalah project, folder, atau organisasi, meskipun juga dapat berupa resource khusus layanan—misalnya, instance Cloud SQL. Resource ini menentukan cakupan tindakan agen layanan. Misalnyua, jika agen layanan dikaitkan dihubungkan dengan project, agen layanan akan bertindak atas nama layanan untuk project dan resource turunannya.
Anda dapat menentukan manakah jenis resource yang akan dikaitkan dengan agen layanan dengan memeriksa alamat emailnya:
- Jika agen layanan dihubungkan dengan project, folder, atau organisasi alamat emailnya berisi ID numerik untuk project, folder, atau organisasi tersebut.
- Jika agen layanan dihubungkan dengan sumber khusus layanan, alamat emailnya berisi ID project dan identitas pengenal unik. ID project numerik ini menyatakan manakah project yang memiliki resource yang dihubungkan dengan agen layanan. Identitas pengenal unik membedakan agen layanan dengan agen layanan lainnya yang ada di dalam project yang sama.
Pembuatan agen layanan
Waktu yang tepat untuk pembuatan agen layanan bergantung pada jenis resource yang akan dihubungkan dengan agen layanan tersebut.
Agen layanan yang dihubungkan dengan resource khusus layanan dibuat jika Anda membuat resource. Untuk informasi lebih lanjut tentang cara mengidentifikasi dan mengonfigurasi agen layanan ini, serta meninjau dokumentasi untuk resource yang dihubungkan.
Agen layanan yang dihubungkan dengan project, folder, dan organisasi dibuat saat Anda membutuhkannya, biasanya ketika Anda pertama kali menggunakan suatu layanan. Jika perlu, Anda juga dapat meminta Google Cloud untuk membuat agen layanan bagi suatu layanan sebelum Anda menggunakan layanan. Untuk informasi lebih lanjut, lihat Membuat dan memberikan peran pada agen layanan.
Peran agen layanan
Beberapa tindakan di Google Cloud memerlukan agen layanan untuk membuat dan mengakses resource atas nama Anda. Misalnya, ketika Anda membuat cluster Dataproc, agen layanan Dataproc memerlukan izin untuk membuat instance Compute Engine di project Anda agar dapat membuat cluster.
Untuk mendapatkan akses ini, agen layanan memerlukan peran IAM tertentu.
Sebagian besar agen layanan level project diberikan peran yang dibutuhkan
secara otomatis. Nama dari peran yang diberikan otomatis ini biasanya berakhiran
serviceAgent
atau ServiceAgent
. Untuk agen layanan lain, Anda harus memberikan
peran bagi mereka agar layanan dapat berfungsi dengan benar. Untuk mencari tahu manakah agen
layanan yang diberikan peran secara otomatis, lihatreferensi agen
layanan.
Jika Anda meminta Google Cloud untuk membuat agen layanan sebelum Anda menggunakan layanan, Anda harus memberikan agen layanan peran yang biasanya diberikan secara otomatis. Hal ini dikarenakan agen layanan yang dibuat berdasarkan permintaan pengguna tidak diberikan peran secara otomatis. Jika Anda tidak memberikan agen layanan peran ini, beberapa layanan mungkin tidak berfungsi dengan baik. Untuk mempelajari cara memberikan peran untuk agen layanan, lihat Membuat dan memberikan peran untuk agen layanan.
Agen layanan utama
Dalam referensi agen layanan, beberapa agen layanan diidentifikasi sebagai agen layanan utama. Agen layanan utama adalah agen layanan yang alamat emailnya ditampilkan ketika Anda memicu pembuatan agen layanan suatu layanan.
Agen Layanan Google API
Kebijakan izin project Anda kemungkinan merujuk
ke akun layanan dengan nama Agen Layanan API Google dengan alamat
email yang menggunakan format berikut:
project-number@cloudservices.gserviceaccount.com
Akun layanan ini menjalankan proses internal Google atas nama Anda. Peran ini
diberikan peran Editor (roles/editor
) secara otomatis pada project.
Pengelola peran untuk akun layanan yang dikelola Google
Log audit untuk IAM mungkin mengacu pada akun
layanan service-agent-manager@system.gserviceaccount.com
.
Akun layanan ini mengelola peran yang diberikan kepada agen layanan. Akun layanan ini hanya dapat dilihat dalam log audit.
Misalnya, jika Anda menggunakan API baru, Google mungkin secara otomatis membuat agen
layanan baru dan memberikan peran untuk API tersebut di project Anda. Memberikan peran ini membuat
entri log audit, yang menunjukkan bahwa service-agent-manager@system.gserviceaccount.com
menetapkan kebijakan
izin untuk project.
Langkah selanjutnya
- Cari tahu cara membuat dan mengelola akun layanan.
- Pelajari cara membuat dan mengelola kunci akun layanan.
- Dapatkan praktik terbaik untuk menangani akun layanan.
- Lihat praktik terbaik untuk mengelola kunci akun layanan.
Cobalah sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Mulai secara gratis