Kontrol akses untuk folder dengan IAM

Google Cloud menawarkan Identity and Access Management (IAM), yang memungkinkan Anda memberikan akses yang lebih terperinci ke resource Google Cloud tertentu dan mencegah akses yang tidak diinginkan ke resource lain. Dengan IAM, Anda dapat menerapkan prinsip keamanan dengan hak istimewa terendah, jadi Anda hanya memberikan akses yang diperlukan ke resource Anda.

IAM memungkinkan Anda mengontrol siapa (pengguna) yang memiliki akses (peran) ke resource tertentu dengan menetapkan kebijakan IAM. Kebijakan IAM memberikan peran tertentu kepada pengguna untuk memberikan izin tertentu kepada pengguna.

Halaman ini menjelaskan peran IAM yang tersedia di tingkat Folder, serta cara membuat dan mengelola kebijakan IAM untuk folder menggunakan Cloud Resource Manager API. Untuk penjelasan lengkap tentang IAM, baca dokumentasi IAM. Secara khusus, lihat Memberikan, Mengubah, dan Mencabut Akses.

Ringkasan peran IAM untuk Folder

Untuk membantu Anda mengonfigurasi peran IAM, tabel berikut mencantumkan:

  • Jenis tindakan yang ingin diaktifkan
  • Peran yang diperlukan untuk melakukan tindakan tersebut
  • Level resource tempat Anda perlu menerapkan peran tersebut
Jenis tindakan Peran diperlukan Tingkat resource
Mengelola folder di seluruh resource organisasi Folder Admin Resource organisasi
Mengelola folder dan semua project serta folder yang ada di dalamnya Folder Admin Folder tertentu
Mengakses dan mengelola kebijakan IAM folder Folder IAM Admin Folder tertentu
Membuat folder baru Folder Creator Resource induk untuk lokasi folder baru
Memindahkan folder dan project Folder Mover Resource induk untuk lokasi folder asli dan lokasi folder baru
Memindahkan project ke folder baru Editor Project atau Pemilik Project Referensi induk untuk lokasi project asli dan lokasi project baru
Menghapus folder Editor Folder atau Admin Folder Folder tertentu

Praktik terbaik untuk menggunakan peran dan izin IAM dengan Folder

Saat menetapkan peran dan izin IAM untuk digunakan dengan Folder, perhatikan hal berikut:

  • Gunakan grup jika memungkinkan untuk mengelola akun utama.
  • Minimalkan penggunaan peran dasar, seperti pemilik, editor, dan pelihat. Sebagai gantinya, coba gunakan peran yang telah ditetapkan untuk prinsip hak istimewa terendah.
  • Untuk pengelolaan seluruh folder, tetapkan izin di level folder dan minta project mewarisinya secara otomatis. Misalnya, Anda dapat menetapkan peran Folder Admin kepada grup administrator departemen di folder tersebut. Administrator jaringan yang perlu memiliki izin tingkat departemen dapat memiliki peran Network Admin untuk folder tersebut.
  • Pertimbangkan izin yang mungkin berubah dengan cermat sebelum memindahkan resource dari folder. Jika tidak, Anda dapat berisiko merusak aplikasi atau alur kerja yang ada yang memerlukan izin tersebut pada resource tersebut.
  • Rencanakan dan uji hierarki resource Anda dengan cermat sebelum memindahkan project produksi ke dalam folder. Salah satu cara untuk melakukannya adalah dengan membuat folder pengujian di bagian resource organisasi dan membuat prototipe hierarki yang Anda inginkan lebih awal.
  • Memberikan peran kepada pengguna di level folder juga akan memberi pengguna peran tersebut untuk setiap resource di bawah folder tersebut. Misalnya, jika Anda memberikan peran Compute Admin (roles/compute.admin) kepada pengguna di sebuah folder, pengguna tersebut akan memiliki kontrol penuh atas semua resource Compute Engine di setiap project dalam folder tersebut.

Memahami peran dan izin folder

Peran default

Saat membuat folder, Anda diberi peran Admin Folder dan Editor Folder untuk folder tersebut, sehingga Anda memiliki kontrol penuh sebagai pembuat. Lihat di bawah untuk mengetahui izin yang diberikan peran ini. Peran default ini dapat diubah seperti biasa dalam kebijakan IAM.

Menggunakan peran bawaan

Peran Izin

(roles/resourcemanager.folderAdmin)

Menyediakan semua izin yang tersedia untuk bekerja dengan folder.

Resource tingkat terendah yang dapat Anda beri peran ini:

  • Folder

essentialcontacts.*

  • essentialcontacts.contacts.create
  • essentialcontacts.contacts.delete
  • essentialcontacts.contacts.get
  • essentialcontacts.contacts.list
  • essentialcontacts.contacts.send
  • essentialcontacts.contacts.update

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.folders.*

  • resourcemanager.folders.create
  • resourcemanager.folders.delete
  • resourcemanager.folders.get
  • resourcemanager.folders.getIamPolicy
  • resourcemanager.folders.list
  • resourcemanager.folders.move
  • resourcemanager.folders.setIamPolicy
  • resourcemanager.folders.undelete
  • resourcemanager.folders.update

resourcemanager.hierarchyNodes.*

  • resourcemanager.hierarchyNodes.createTagBinding
  • resourcemanager.hierarchyNodes.deleteTagBinding
  • resourcemanager.hierarchyNodes.listEffectiveTags
  • resourcemanager.hierarchyNodes.listTagBindings

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.list

resourcemanager.projects.move

resourcemanager.projects.setIamPolicy

(roles/resourcemanager.folderIamAdmin)

Memberikan izin untuk mengelola kebijakan izinkan pada folder.

Resource tingkat terendah yang dapat Anda beri peran ini:

  • Folder

resourcemanager.folders.get

resourcemanager.folders.getIamPolicy

resourcemanager.folders.setIamPolicy

(roles/resourcemanager.folderCreator)

Memberikan izin yang diperlukan untuk menjelajahi hierarki dan membuat folder.

Resource tingkat terendah yang dapat Anda beri peran ini:

  • Folder

essentialcontacts.contacts.get

essentialcontacts.contacts.list

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.folders.create

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/resourcemanager.folderEditor)

Memberikan izin untuk mengubah folder serta melihat kebijakan izin folder.

Resource tingkat terendah yang dapat Anda beri peran ini:

  • Folder

essentialcontacts.contacts.get

essentialcontacts.contacts.list

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.folders.delete

resourcemanager.folders.get

resourcemanager.folders.getIamPolicy

resourcemanager.folders.list

resourcemanager.folders.undelete

resourcemanager.folders.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/resourcemanager.folderMover)

Memberikan izin untuk memindahkan project dan folder ke dalam dan ke luar organisasi atau folder induk.

Resource tingkat terendah yang dapat Anda beri peran ini:

  • Folder

resourcemanager.folders.move

resourcemanager.projects.move

(roles/resourcemanager.folderViewer)

Memberikan izin untuk mendapatkan folder serta mencantumkan folder dan project di bawah resource.

Resource tingkat terendah yang dapat Anda beri peran ini:

  • Folder

essentialcontacts.contacts.get

essentialcontacts.contacts.list

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.projects.get

resourcemanager.projects.list

Membuat peran khusus

Selain peran yang telah ditetapkan yang dijelaskan dalam topik ini, Anda juga dapat membuat peran khusus yang merupakan kumpulan izin yang dapat disesuaikan dengan kebutuhan Anda. Saat membuat peran khusus untuk digunakan dengan Resource Manager, perhatikan hal-hal berikut:
  • Menampilkan dan mendapatkan izin, seperti resourcemanager.projects.get/list, harus selalu diberikan sebagai pasangan.
  • Saat peran khusus Anda menyertakan izin folders.list dan folders.get, peran khusus tersebut juga harus menyertakan projects.list dan projects.get.
  • Perlu diketahui bahwa izin setIamPolicy untuk organisasi, folder, dan resource project memungkinkan pengguna memberikan semua izin lain, sehingga harus diberikan dengan hati-hati.

Memberikan peran untuk mengaktifkan penjelajahan folder

Izin daftar mengaktifkan penjelajahan folder. Dua jenis izin daftar yang biasanya perlu diberikan adalah resourcemanager.folders.list, yang memungkinkan pengguna membuat daftar folder pada resource, dan resourcemanager.projects.list, yang memungkinkan pengguna menjelajahi project pada resource atau folder organisasi. Administrator Organisasi diinisialisasi dengan kedua izin ini. Untuk pengguna yang belum diberi peran Organization Administrator:

  • resourcemanager.folders.list dapat diberikan melalui peran Folder Viewer dan Folder Editor.
  • resourcemanager.projects.list dapat diberikan melalui peran Pelihat atau Browser.

Agar akun utama resource organisasi dapat menjelajahi seluruh hierarki resource organisasi, izin daftar harus diberikan pada level resource organisasi.

Memberikan peran untuk mengaktifkan pembuatan folder

Pengguna yang perlu membuat folder harus diberi peran Folder Creator pada resource dalam hierarki di atas tingkat tempat folder akan dibuat. Sebaiknya berikan izin penjelajahan beserta izin pembuatan folder sehingga pengguna dapat secara efektif membuka bagian dalam hierarki yang akan dibuat folder tersebut. Lihat bagian di atas untuk informasi selengkapnya tentang izin penjelajahan.

Folder Creator tidak memberikan izin kepada pengguna untuk menghapus folder. Namun, saat seseorang membuat folder, orang tersebut otomatis diberi peran Folder Editor. Peran Folder Editor memungkinkan penghapusan folder.

Memberikan peran untuk mengaktifkan pemindahan folder

Untuk memindahkan folder dari satu resource induk ke resource induk lainnya, pengguna harus memiliki peran Folder Mover pada resource induk lama dan baru, atau pada ancestor yang sama.

Memberikan peran untuk memungkinkan pemindahan proyek

Untuk memindahkan project ke folder, pengguna harus memiliki peran Project Editor atau Project Owner pada project tersebut dan Project Mover di resource induk sumber dan tujuan.

Hal ini sedikit berbeda dengan persyaratan untuk memindahkan project yang bukan milik organisasi ke resource organisasi, yang mengharuskan pengguna memiliki peran Project Editor atau Project Owner pada project tersebut dan peran Project Creator di resource organisasi.

Memberikan peran khusus folder untuk memungkinkan pembuatan project

Untuk membuat project, pengguna harus memiliki peran Project Creator. Namun, daripada memberikan izin pembuatan project di seluruh organisasi, akan lebih baik jika Anda membatasi pengguna agar hanya melihat dan membuat project dalam folder tertentu.

Untuk memberikan izin khusus folder:

  1. Beri pengguna peran Organization Viewer di tingkat node organisasi (misalnya, domain.com).
  2. Buat folder baru.
  3. Tambahkan pengguna ke IAM pada level folder, lalu beri pengguna peran Folder Viewer dan Project Creator.

Dengan demikian, pengguna dapat membuat project di foldernya tanpa memberinya visibilitas ke setiap project dalam resource organisasi yang lebih besar.