Jenis akun layanan

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:

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

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