Identity and Access Management (IAM) menyediakan beberapa peran bawaan untuk sebagian besar layanan Google Cloud. Setiap peran bawaan berisi izin yang diperlukan untuk melakukan tugas, atau sekelompok tugas terkait.
Untuk tugas sederhana, menemukan peran bawaan yang sesuai sering kali
mudah. Misalnya, jika akun utama perlu melihat objek di
bucket Cloud Storage, peran Storage Object Viewer
(roles/storage.objectViewer
) kemungkinan akan sesuai.
Namun, ada ratusan peran bawaan, yang dapat menyulitkan identifikasi peran yang paling sesuai untuk diberikan kepada akun utama Anda. Menemukan peran yang mengikuti prinsip hak istimewa terendah juga dapat menyulitkan, yang menyatakan bahwa akun utama tidak boleh memiliki izin lebih dari yang sebenarnya diperlukan.
Halaman ini akan memandu Anda melalui proses memilih peran bawaan yang paling sesuai:
- Identifikasi izin yang diperlukan.
- Temukan peran yang berisi izin tersebut.
- Pilih peran yang paling sesuai.
- Tentukan tempat untuk memberikan peran.
- Memberikan peran ke akun utama.
Identifikasi izin yang diperlukan
Untuk mengidentifikasi izin yang diperlukan akun utama, mulailah dengan membuat daftar tugas yang perlu mereka lakukan, dan layanan Google Cloud yang akan mereka gunakan untuk tugas tersebut. Misalnya, akun utama mungkin perlu menggunakan Compute Engine untuk membuat instance mesin virtual.
Setelah mengidentifikasi tugas dan layanan, ada beberapa strategi yang dapat digunakan untuk mengidentifikasi izin yang diperlukan untuk setiap tugas:
Periksa dokumentasi untuk layanan Google Cloud.
Untuk beberapa layanan, panduan cara kerja berorientasi tugas mencantumkan peran atau izin yang Anda perlukan untuk setiap tugas, baik di bagian "Sebelum memulai" atau dengan petunjuk untuk setiap tugas. Misalnya, lihat prasyarat untuk mengimpor dan mengekspor image VM Compute Engine.
Beberapa layanan lain mengidentifikasi peran dan izin yang diperlukan di halaman tentang kontrol akses. Misalnya, lihat izin yang diperlukan untuk tugas Google Cloud Console Spanner.
Identifikasi metode REST atau RPC API yang akan Anda gunakan untuk menyelesaikan tugas, dan periksa dokumentasi referensi API untuk izin IAM yang diperlukan.
Untuk beberapa layanan, dokumentasi REST dan RPC API mencantumkan izin yang diperlukan setiap metode. Misalnya, lihat dokumentasi Compute Engine untuk metode
instances.get
.Lihat daftar izin untuk setiap layanan, dan gunakan pertimbangan Anda untuk menemukan izin yang relevan.
Dalam sebagian besar kasus, nama setiap izin juga menjelaskan hal yang dapat Anda lakukan dengan izin tersebut. Misalnya, izin untuk membuat instance VM Compute Engine diberi nama
compute.instances.create
.Untuk membantu Anda memahami setiap nama izin, ingat bahwa nama izin menggunakan format
SERVICE.RESOURCE_TYPE.ACTION
.
Secara umum, Anda tidak perlu mengidentifikasi setiap izin yang diperlukan untuk setiap tugas. Sebaliknya, fokuskan pada mengidentifikasi izin yang paling relevan untuk setiap tugas. Jika peran bawaan berisi izin tersebut, peran tersebut kemungkinan juga berisi izin terkait.
Sebagai bagian dari proses ini, Anda juga harus mencoba mengidentifikasi izin yang diperlukan mana yang paling efektif. Secara umum, izin yang lebih kuat disertakan dalam sejumlah kecil peran bawaan. Akibatnya, jika berfokus pada izin ini, Anda akan memiliki daftar peran potensial yang lebih sedikit untuk dipilih.
Misalnya, jenis izin berikut sangat berguna:
- Izin untuk membuat dan menghapus resource
- Izin untuk mengakses data sensitif, seperti kunci enkripsi atau informasi identitas pribadi (PII)
- Izin untuk menetapkan kebijakan izinkan atau tolak untuk resource
- Izin untuk mengupdate organisasi, folder, dan project, yang dapat menyebabkan resource lain mewarisi update tersebut
Sebaliknya, jenis izin berikut kurang berguna:
- Izin untuk mencantumkan resource
- Izin untuk mengakses data yang tidak sensitif
- Izin untuk memperbarui setelan yang memiliki risiko terbatas, seperti platform CPU minimum untuk instance mesin virtual Compute Engine
Menemukan peran yang berisi izin
Setelah mengidentifikasi izin yang diperlukan, Anda dapat menelusuri peran bawaan yang berisi izin tersebut dan membuat daftar peran yang mungkin cocok. Cara termudah untuk menemukan peran ini adalah dengan menelusuri referensi izin, yang mencantumkan semua izin IAM dan peran yang berisi setiap izin.
Untuk mengikuti prinsip hak istimewa terendah, Anda mungkin perlu mengidentifikasi lebih dari satu peran bawaan untuk diberikan, terutama jika izin yang diperlukan termasuk dalam beberapa layanan Google Cloud. Misalnya, jika akun utama perlu melihat objek Cloud Storage dan mengelola database Cloud SQL, tidak mungkin satu peran bawaan berisi izin yang sesuai untuk kedua layanan tersebut. Jika ada, peran tersebut mungkin juga mencakup sejumlah besar izin yang tidak terkait yang tidak diperlukan akun utama. Untuk mengurangi risiko, cari satu peran yang berisi izin yang diperlukan untuk Cloud Storage, dan peran lain yang berisi izin yang diperlukan untuk Cloud SQL.
Memilih peran yang paling sesuai
Setelah memiliki daftar peran bawaan yang mungkin cocok, Anda dapat memilih peran yang paling sesuai dari daftar tersebut.
Mulailah dengan menghilangkan jenis peran berikut:
Untuk lingkungan produksi: Peran dasar, termasuk Pemilik (
roles/owner
), Editor (roles/editor
), dan Viewer (roles/viewer
).Peran dasar mencakup ribuan izin di semua layanan Google Cloud. Dalam lingkungan produksi, jangan berikan peran dasar kecuali jika tidak ada alternatif. Sebagai gantinya, berikan peran bawaan atau peran khusus paling terbatas yang memenuhi kebutuhan Anda.
Peran agen layanan, yang biasanya memiliki judul yang berakhiran "Agen Layanan" dan nama yang berakhiran
serviceAgent
.Peran ini ditujukan untuk agen layanan, yang merupakan jenis akun layanan khusus yang digunakan layanan Google Cloud untuk mengakses resource Anda. Peran agen layanan cenderung berisi izin untuk beberapa layanan, yang mungkin mencakup layanan yang tidak perlu diakses oleh akun utama Anda.
Selanjutnya, gunakan referensi peran bawaan atau halaman Peran di Konsol Google Cloud untuk mencantumkan izin yang dimiliki setiap peran yang ada di dalamnya. Periksa setiap peran untuk melihat izin yang tidak Anda inginkan dari akun utama, dan hilangkan peran apa pun yang berisi izin yang tidak diinginkan.
Jika proses ini menghilangkan semua peran bawaan, pertimbangkan untuk membuat peran khusus agar sesuai dengan kasus penggunaan Anda. Jika tidak, pilih peran yang memiliki jumlah izin paling sedikit, sambil tetap memenuhi kebutuhan Anda.
Tentukan tempat untuk memberikan peran
Saat memberikan peran, Anda akan selalu memberikannya pada resource Google Cloud tertentu, yang termasuk dalam hierarki resource. Resource level lebih rendah, seperti instance VM Compute Engine, mewarisi peran yang diberikan pada resource level yang lebih tinggi, seperti project, folder, dan organisasi.
Pilih tempat untuk memberikan peran bawaan yang Anda identifikasi:
- Jika akun utama memerlukan akses ke resource tertentu pada tingkat yang lebih rendah, berikan peran pada resource tersebut.
Jika akun utama memerlukan akses ke banyak resource dalam project, folder, atau organisasi, berikan peran pada project, folder, atau organisasi. Pilih resource level terendah yang memenuhi kebutuhan prinsipal.
Selain itu, pertimbangkan penggunaan IAM Conditions untuk memberikan peran hanya pada resource tertentu dalam project, folder, atau organisasi.
Jika Anda mengidentifikasi beberapa peran bawaan, pertimbangkan apakah Anda harus memberikan peran pada berbagai level hierarki resource. Misalnya, jika akun utama memerlukan akses ke satu database Cloud SQL, tetapi berbagai instance VM Compute Engine yang berbeda, sebaiknya berikan peran Cloud SQL pada database dan peran untuk Compute dalam project.
Memberikan peran kepada akun utama
Sekarang Anda siap untuk memberikan peran tersebut kepada akun utama. Untuk mempelajari cara memberikan peran, lihat berikut ini:
- Mengelola akses ke project, folder, dan organisasi
- Mengelola akses ke akun layanan
- Mengelola akses ke resource lain
Setelah memberikan peran, Anda dapat menggunakan Penganalisis Kebijakan dan Pemecah Masalah Kebijakan untuk memeriksa resource mana yang dapat diakses oleh akun utama dan memecahkan masalah akses.
Jika akun utama memiliki izin yang diinginkan pada resource yang tepat, tetapi dia tidak dapat menyelesaikan tugasnya, mungkin Anda mengabaikan izin yang dibutuhkan oleh akun utama. Lakukan iterasi pada upaya sebelumnya dengan menambahkan izin yang diperlukan ke daftar; menemukan peran yang berisi izin tersebut; dan memilih peran yang paling sesuai.
Jika Anda tidak sengaja memberikan peran dengan terlalu banyak izin, maka rekomendasi peran mungkin menyarankan peran yang kurang permisif yang dapat memenuhi kebutuhan akun utama. Beberapa binding peran tidak mendapatkan rekomendasi peran.
Langkah selanjutnya
- Pelajari cara Policy Simulator membantu Anda menguji perubahan pada peran akun utama.
- Cari tahu cara Penganalisis Kebijakan memberi tahu Anda akses apa saja yang dimiliki akun utama ke resource.
- Dapatkan detail tentang pemecahan masalah akses.