Kontrol akses untuk project 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) tertentu ke resource tertentu dengan menetapkan kebijakan IAM, yang memberikan peran tertentu yang berisi izin tertentu.

Halaman ini menjelaskan izin dan peran IAM yang dapat Anda gunakan untuk mengelola akses ke project. Untuk penjelasan lengkap tentang IAM, baca dokumentasi IAM. Secara khusus, lihat Memberikan, mengubah, dan mencabut akses.

Izin dan peran

Untuk mengontrol akses ke resource, Google Cloud mewajibkan akun yang membuat permintaan API memiliki peran IAM yang sesuai. Peran IAM mencakup izin yang memungkinkan pengguna melakukan tindakan tertentu pada resource Google 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 dapat memberikan peran ini pada resource tertentu, tetapi 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 atau folder organisasi 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
Memberikan 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, memerlukan izin resourcemanager.projects.create di resource organisasi.
projects.move projects.move

Menggunakan peran bawaan

Dengan peran bawaan IAM, Anda dapat mengelola dengan cermat kumpulan izin yang dapat diakses pengguna Anda. Untuk mengetahui daftar lengkap peran yang dapat diberikan pada level project, baca Memahami Peran.

Tabel berikut mencantumkan peran bawaan yang dapat Anda gunakan untuk memberikan akses ke sebuah project. Setiap peran mencakup deskripsi tentang fungsi peran tersebut, dan izin yang disertakan dalam peran tersebut.

Peran Izin

(roles/resourcemanager.projectCreator)

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

Resource tingkat terendah yang dapat Anda beri peran ini:

  • Folder

resourcemanager.organizations.get

resourcemanager.projects.create

(roles/resourcemanager.projectDeleter)

Memberikan akses untuk menghapus project Google Cloud.

Resource tingkat terendah yang dapat Anda beri peran ini:

  • Folder

resourcemanager.projects.delete

(roles/resourcemanager.projectMover)

Memberikan akses untuk memperbarui dan memindahkan project.

Resource tingkat terendah yang dapat Anda beri peran ini:

  • Project

resourcemanager.projects.get

resourcemanager.projects.move

resourcemanager.projects.update

(roles/resourcemanager.projectIamAdmin)

Memberikan izin untuk mengelola kebijakan izinkan pada project.

Resource tingkat terendah yang dapat Anda beri peran ini:

  • Project

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.setIamPolicy

(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 tingkat terendah yang dapat Anda beri peran ini:

  • Project

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.list

Peran dasar

Hindari penggunaan peran dasar kecuali jika benar-benar diperlukan. Peran-peran ini sangat kuat, dan mencakup sejumlah besar izin di semua layanan Google Cloud. Untuk mengetahui detail selengkapnya tentang kapan Anda 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. Buat dan perbarui akses untuk sebagian besar resource.
roles/viewer Akses baca ke sebagian besar resource. Akses mendapatkan dan mencantumkan untuk sebagian besar resource.

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.

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 diberi peran roles/owner untuk project tersebut, sehingga Anda memiliki kontrol penuh sebagai pembuat. Peran default ini dapat diubah seperti biasa dalam kebijakan IAM.

Kontrol Layanan VPC

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

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