Kontrol akses untuk project dengan IAM

Identity and Access Management (IAM) memungkinkan Anda memberikan akses terperinci ke resource Google Cloud tertentu dan mencegah akses yang tidak diinginkan ke resource lain. Model ini membantu Anda menerapkan prinsip hak istimewa terendah, yang membantu memastikan bahwa Anda hanya memberikan akses yang diperlukan ke resource Anda.

Dengan menetapkan kebijakan izin, Anda mengontrol siapa (pengguna) yang memiliki akses (peran) ke resource tertentu. Untuk mengelola akses ke project, Anda mengonfigurasi peran dan izin IAM, atau menggunakan kebijakan penolakan untuk mencegah akun utama menggunakan izin tertentu. Untuk mengetahui informasi selengkapnya, lihat Mengelola akses ke project, folder, dan organisasi.

Jika baru mulai menggunakan Google Cloud, Anda dapat membuat hierarki resource dan memberikan akses awal sebagai bagian dari proses penyiapanGoogle Cloud .

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 resourceGoogle Cloud . 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 tersebut juga berlaku untuk semua turunan resource tersebut dalam hierarki resource.

Izin

Untuk mengelola project, pemanggil harus memiliki peran yang mencakup izin berikut. Peran ini 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 level project, lihat Memahami Peran.

Tabel berikut mencantumkan peran yang telah ditetapkan yang dapat Anda gunakan untuk memberikan akses ke project. Setiap peran menyertakan deskripsi tujuannya dan izin yang dimilikinya.

Peran Izin

(roles/resourcemanager.projectCreator)

Memberikan akses untuk membuat project baru. Setelah membuat project, pengguna 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 project Google Cloud .

Resource level terendah tempat Anda dapat memberikan peran ini:

  • Project

resourcemanager.projects.delete

(roles/resourcemanager.projectMover)

Memberikan akses untuk memperbarui 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 yang 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 Mengedit akses 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 khusus untuk digunakan dengan Resource Manager, perhatikan poin-poin berikut:
  • Izin list dan get, 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 level 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.