Kontrol akses untuk project dengan IAM

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

Dengan IAM, Anda dapat mengontrol siapa (pengguna) yang memiliki akses (peran) ke resource tertentu dengan menetapkan kebijakan izin. Kebijakan yang diizinkan memberikan peran tertentu kepada pengguna, yang akan memberikan izin tertentu kepada pengguna tersebut.

Halaman ini menjelaskan izin dan peran IAM yang dapat Anda gunakan untuk mengelola akses ke project. Untuk mengetahui informasi selengkapnya, lihat Mengelola akses ke project, folder, dan organisasi.

Izin dan peran

Untuk mengontrol akses ke resource, Google Cloud mengharuskan akun yang membuat permintaan API memiliki peran IAM yang sesuai. Peran IAM mencakup izin yang memungkinkan pengguna melakukan tindakan tertentu pada Google Cloud resource. Misalnya, izin resourcemanager.projects.delete memungkinkan pengguna menghapus project.

Anda tidak secara langsung memberikan izin kepada pengguna; tetapi, Anda memberikan peran kepada pengguna, yang memiliki satu atau beberapa izin yang dipaketkan di dalamnya. Anda memberikan peran ini pada resource tertentu, tetapi peran ini juga berlaku untuk semua turunan resource tersebut dalam hierarki resource.

Izin

Untuk mengelola project, pemanggil harus memiliki peran yang mencakup izin berikut. Peran diberikan pada resource organisasi atau folder yang berisi project:

Metode Izin yang diperlukan
resourcemanager.projects.create resourcemanager.projects.create
resourcemanager.projects.delete resourcemanager.projects.delete
resourcemanager.projects.get resourcemanager.projects.get
Pemberian izin ini juga akan memberikan akses untuk mendapatkan nama akun penagihan yang terkait dengan project melalui metode Billing API billing.projects.getBillingInfo .
resourcemanager.projects.getIamPolicy resourcemanager.projects.getIamPolicy
resourcemanager.projects.list resourcemanager.projects.list
resourcemanager.projects.search resourcemanager.projects.get
resourcemanager.projects.setIamPolicy resourcemanager.projects.setIamPolicy
resourcemanager.projects.testIamPermissions Tidak memerlukan izin apa pun.
resourcemanager.projects.undelete resourcemanager.projects.undelete
resourcemanager.projects.patch Untuk memperbarui metadata project, diperlukan izin resourcemanager.projects.update. Untuk memperbarui induk project dan memindahkan project ke resource organisasi, diperlukan izin resourcemanager.projects.create pada resource organisasi.
projects.move projects.move

Menggunakan peran bawaan

Peran bawaan IAM memungkinkan Anda mengelola izin yang tersedia untuk pengguna. Untuk mengetahui daftar lengkap peran yang dapat diberikan di tingkat project, lihat Memahami Peran.

Tabel berikut mencantumkan peran standar yang dapat Anda gunakan untuk memberikan akses ke project. Setiap peran mencakup deskripsi tujuannya dan izin yang dikandungnya.

Peran Izin

(roles/resourcemanager.projectCreator)

Memberikan akses untuk membuat project baru. Setelah pengguna membuat project, dia akan otomatis diberi peran pemilik untuk project tersebut.

Resource level terendah tempat Anda dapat memberikan peran ini:

  • Folder

resourcemanager.organizations.get

resourcemanager.projects.create

(roles/resourcemanager.projectDeleter)

Memberikan akses untuk menghapus Google Cloud project.

Resource level terendah tempat Anda dapat memberikan peran ini:

  • Project

resourcemanager.projects.delete

(roles/resourcemanager.projectMover)

Memberikan akses untuk mengupdate dan memindahkan project.

Resource level terendah tempat Anda dapat memberikan peran ini:

  • Project

resourcemanager.projects.get

resourcemanager.projects.move

resourcemanager.projects.update

(roles/resourcemanager.projectIamAdmin)

Memberikan izin untuk mengelola kebijakan izin pada project.

Resource level terendah tempat Anda dapat memberikan peran ini:

  • Project

iam.policybindings.*

  • iam.policybindings.get
  • iam.policybindings.list

resourcemanager.projects.createPolicyBinding

resourcemanager.projects.deletePolicyBinding

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.searchPolicyBindings

resourcemanager.projects.setIamPolicy

resourcemanager.projects.updatePolicyBinding

(roles/browser)

Akses baca untuk menelusuri hierarki dalam suatu project, termasuk folder, organisasi, dan kebijakan izin. Peran ini tidak termasuk izin untuk melihat resource dalam project.

Resource level terendah tempat Anda dapat memberikan peran ini:

  • Project

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.list

Peran dasar

Gunakan peran dasar hanya jika diperlukan. Peran ini memiliki hak istimewa tinggi dan memberikan izin yang luas di semua layanan Google Cloud . Untuk mengetahui informasi selengkapnya tentang kapan harus menggunakan peran dasar, lihat Peran dasar.

Peran Deskripsi Izin
roles/owner Akses penuh ke semua resource. Semua izin untuk semua resource.
roles/editor Akses edit ke sebagian besar resource. Membuat dan memperbarui akses untuk sebagian besar resource.
roles/viewer Akses baca ke sebagian besar resource. Mendapatkan dan mencantumkan akses untuk sebagian besar resource.

Membuat peran khusus

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

Kontrol akses di level project

Anda dapat memberikan peran kepada pengguna di tingkat project menggunakan Google Cloud console, Cloud Resource Manager API, dan Google Cloud CLI. Untuk mengetahui petunjuknya, lihat Memberikan, Mengubah, dan Mencabut Akses.

Peran default

Saat membuat project, Anda akan menerima peran roles/owner, yang memberi Anda kontrol penuh atas project tersebut. Anda dapat mengubah peran default ini dalam kebijakan izin.

Kontrol Layanan VPC

Kontrol Layanan VPC dapat memberikan keamanan tambahan saat menggunakan Cloud Resource Manager API. Untuk mempelajari lebih lanjut Kontrol Layanan VPC, lihat Ringkasan Kontrol Layanan VPC.

Untuk mempelajari batasan saat ini dalam menggunakan Resource Manager dengan Kontrol Layanan VPC, lihat halaman produk dan batasan yang didukung.