Peran dan izin

Halaman ini menjelaskan peran dari Identity and Access Management (IAM) yang merupakan kumpulan izin IAM.

Peran berisi serangkaian izin yang memungkinkan Anda untuk melakukan tindakan tertentu pada resource Google Cloud. Agar izin tersedia untuk entity utama, termasuk pengguna, grup, dan akun layanan, Anda perlu memberikan peran kepada entity utama.

Sebelum memulai

Jenis peran

Ada tiga jenis peran di IAM:

  • Peran dasar, yang mencakup peran Pemilik, Editor, dan Viewer yang ada sebelum pengenalan IAM.
  • Peran yang telah ditetapkanmemberikan akses terperinci untuk layanan tertentu dan dikelola oleh Google Cloud.
  • Peran khusus, yang memberikan akses terperinci berdasarkan daftar izin yang ditentukan pengguna.

Untuk menentukan apakah izin disertakan dalam peran dasar, bawaan, atau khusus, Anda dapat menggunakan salah satu dari metode berikut:

Komponen peran

Setiap peran memiliki komponen berikut:

  • Judul: Nama yang dapat dibaca manusia untuk peran tersebut. Judul peran digunakan untuk mengidentifikasi peran di konsol Google Cloud.
  • Nama: ID untuk peran dalam salah satu format berikut ini:

    • Peran yang telah ditetapkan: roles/SERVICE.IDENTIFIER
    • Peran khusus level project: projects/PROJECT_ID/roles/IDENTIFIER
    • Peran khusus level organisasi: organizations/ORG_ID/roles/IDENTIFIER

    Nama peran digunakan untuk mengidentifikasi peran di dalam kebijakan izin.

  • ID: ID unik untuk peran. Untuk peran dasar dan peran yang telah ditetapkan, memiliki ID yang sama dengan nama peran. Untuk peran khusus, ID adalah semuanya setelah roles/ dalam nama peran.

  • Deskripsi: Deskripsi peran yang dapat dibaca manusia.

  • Tahap: Tahapan peran di dalam siklus proses peluncuran, seperti ALPHA, BETA, atau GA. Untuk mempelajari lebih lanjut tentang tahap peluncuran, lihat Menguji dan men-deploy.

  • Izin: Izin yang disertakan dalam peran. Izin memungkinkan akun utama untuk melakukan tindakan tertentu pada resource Google Cloud. Saat Anda memberikan peran kepada akun utama, akun utama tersebut akan mendapatkan semua izin di dalam peran tersebut.

    Izin memiliki format sebagai berikut:

    SERVICE.RESOURCE.VERB
    

    Sebagai contoh, izin compute.instances.list memungkinkan pengguna untuk mencantumkan instance Compute Engine yang dimilikinya, dan compute.instances.stop memungkinkan pengguna menghentikan VM.

    Izin biasanya, tetapi tidak selalu, berkaitan 1:1 dengan metode REST. Artinya, setiap layanan Google Cloud memiliki izin terkait untuk setiap metode REST yang dimilikinya. Untuk memanggil metode, pemanggil membutuhkan izin terkait. Sebagai contoh, untuk memanggil metode projects.topics.publish Pub/Sub API, Anda memerlukan izin pubsub.topics.publish.

  • ETag: Sebuah ID untuk versi peran guna membantu mencegah update serentak menimpa satu sama lain. Peran dasar dan peran yang telah ditetapkan selalu memiliki AA== ETag. ETag untuk peran khusus berubah setiap kali Anda memodifikasi peran tersebut.

Peran dasar

Peran dasar adalah peran yang sangat permisif yang sudah ada sebelum pengantar IAM. Awalnya dikenal sebagai peran dasar (primitif). Anda dapat menggunakan peran dasar untuk memberi akun utama akses yang luas ke resource Google Cloud.

Saat Anda memberikan peran dasar kepada akun utama, akun utama akan mendapatkan semua izin di dalam peran dasar tersebut. Layanan tersebut juga mendapatkan izin yang diberikan layanan kepada akun utama dengan peran dasar—misalnya, izin yang diperoleh melalui nilai kemudahan Cloud Storage dan grup khusus BigQuery langganan.

Tabel berikut ini merangkum izin yang diberikan peran dasar kepada pengguna di semua layanan Google Cloud:

Peran dasar Izin
Viewer (roles/viewer)

Izin untuk tindakan hanya-baca yang tidak memengaruhi status, seperti melihat (tetapi tidak mengubah) resource atau data yang sudah ada.

Untuk melihat daftar izin di dalam peran Viewer, lihat detail peran di konsol Google Cloud:

Buka peran Viewer

Editor (roles/editor)

Semua izin viewer, plus izin untuk tindakan yang memodifikasi status, seperti mengubah resource yang sudah ada.

Izin di dalam peran Editor memungkinkan Anda membuat dan menghapus resource untuk sebagian besar layanan Google Cloud. Akan tetapi, peran Editor tidak berisi izin untuk melakukan semua tindakan bagi semua layanan. Untuk informasi lebih lanjut tentang cara memeriksa apakah suatu peran memiliki izin yang Anda perlukan, lihat Jenis peran di halaman ini.

Untuk daftar izin di dalam peran Editor, lihat detail peran di Google Cloud Console:

Buka peran Editor

Pemilik (roles/owner)

Semua izin Editor, plus izin untuk tindakan seperti berikut:

  • Menyelesaikan tugas sensitif, seperti membuat aplikasi App Engine
  • Mengelola peran dan izin untuk sebuah project dan semua resource di dalamnya.
  • Menyiapkan penagihan untuk sebuah project

Peran Pemilik tidak berisi semua izin untuk semua resource Google Cloud. Misalnya, akun tersebut tidak berisi izin untuk mengubah informasi pembayaran Penagihan Cloud atau membuat kebijakan penolakan IAM.

Untuk daftar izin di dalam peran Pemilik, lihat detail peran di konsol Google Cloud:

Buka peran Pemilik

Anda dapat memberikan peran dasar menggunakan konsol Google Cloud, API, dan gcloud CLI. Akan tetapi, untuk memberikan peran Pemilik pada project kepada pengguna di luar organisasi Anda, Anda harus menggunakan konsol Google Cloud, bukan gcloud CLI. Jika project Anda bukan bagian dari sebuah organisasi, Anda harus menggunakan konsol Google Cloud untuk memberikan peran Pemilik.

Untuk mengetahui petunjuknya, lihat Memberikan, mengubah, dan mencabut akses.

Peran yang telah ditetapkan

Sebagai tambahan pada peran dasar, IAM menyediakan tambahan peran yang telah ditetapkan yang memberikan akses terperinci ke resource Google Cloud tertentu. Peran ini dibuat dan dikelola oleh Google. Google memperbarui izinnya secara otomatis jika diperlukan, seperti saat Google Cloud menambahkan fitur atau layanan yang baru.

Anda dapat memberikan beberapa peran kepada pengguna yang sama, di tingkat hierarki resource mana pun. Sebagai contoh, pengguna yang sama dapat memiliki peran Compute Network Admin dan Logs Viewer pada sebuah project, dan juga memiliki peran Pub/Sub Publisher di topik Pub/Sub dalam project tersebut. Untuk mencantumkan izin yang terdapat di dalam peran, lihat Mendapatkan metadata peran.

Untuk mendapatkan bantuan dalam memilih peran yang telah ditetapkan yang paling sesuai, lihat Memilih peran yang telah ditetapkan.

Untuk daftar peran yang telah ditetapkan, lihat referensi peran.

Peran khusus

IAM juga memungkinkan Anda membuat peran IAM kustom. Peran khusus membantu Anda menerapkan prinsip hak istimewa terendah, karena peran tersebut membantu memastikan bahwa akun utama di organisasi Anda hanya memiliki izin yang diperlukan.

Peran khusus ditetapkan oleh pengguna, dan memungkinkan Anda untuk menggabungkan satu atau beberapa izin yang didukung untuk memenuhi kebutuhan spesifik Anda. Saat Anda membuat peran khusus, Anda harus memilih organisasi atau project untuk membuatnya. Kemudian, Anda dapat memberikan peran khusus pada organisasi atau project, serta resource apa pun dalam organisasi atau project tersebut.

Anda hanya dapat memberikan peran khusus dalam project atau organisasi tempat Anda membuatnya. Anda tidak dapat memberikan peran khusus pada project atau organisasi lain, atau pada resource dalam project atau organisasi lain.

Anda membuat peran khusus dengan menggabungkan satu atau beberapa izin IAM yang didukung.

Izin yang didukung

Anda dapat menyertakan banyak, tetapi tidak semua, izin IAM di dalam peran khusus. Setiap izin memiliki salah satu level dukungan berikut untuk digunakan dalam peran khusus:

Level Dukungan Deskripsi
SUPPORTED Izin didukung sepenuhnya dalam peran khusus.
TESTING Google sedang menguji izin untuk memeriksa kompatibilitasnya dengan peran khusus. Anda dapat menyertakan izin dalam peran khusus, tetapi Anda mungkin melihat perilaku yang tidak terduga. Tidak direkomendasikan untuk penggunaan produksi
NOT_SUPPORTED Izin tidak didukung dalam peran khusus.

Peran kustom level organisasi dapat mencakup izin IAM yang didukung dalam peran kustom. Peran khusus level project dapat berisi semua izin yang didukung, kecuali untuk izin yang hanya dapat digunakan di level organisasi atau folder.

Alasan Anda tidak dapat menyertakan izin khusus folder dan khusus organisasi dalam peran level project adalah karena izin tersebut tidak melakukan apa pun saat diberikan di level project. Hal ini karena resource di Google Cloud diatur secara hierarkis. Izin diwarisi melalui hierarki resource, yang berarti izin tersebut berlaku untuk resource dan semua turunan dari resource tersebut. Namun, organisasi dan folder selalu berada di atas project dalam hierarki resource Google Cloud. Akibatnya, Anda tidak akan dapat menggunakan izin yang diberikan pada level project untuk mengakses folder atau organisasi. Akibatnya, izin khusus folder dan khusus organisasi— misalnya, resourcemanager.folders.list—tidak efektif untuk peran khusus level project.

Kapan harus menggunakan peran khusus

Dalam sebagian besar situasi, Anda dapat menggunakan Peran yang telah ditetapkan, bukan peran khusus. Peran yang telah ditetapkan dikelola oleh Google, dan diperbarui secara otomatis saat izin, fitur, atau layanan yang baru ditambahkan ke Google Cloud. Sebaliknya, peran khusus tidak dikelola oleh Google; saat Google Cloud menambahkan izin, fitur, atau layanan yang baru, peran khusus Anda tidak akan diperbarui secara otomatis.

Namun, Anda mungkin ingin membuat peran khusus di dalam situasi berikut:

  • Akun utama memerlukan izin, tetapi setiap peran yang telah ditentukan yang menyertakan izin tersebut juga menyertakan izin yang tidak diperlukan dan tidak boleh dimiliki akun utama.
  • Anda menggunakan rekomendasi peran untuk mengganti pemberian peran yang terlalu permisif dengan pemberian peran yang lebih sesuai. Dalam beberapa kasus, Anda mungkin menerima rekomendasi untuk membuat peran khusus.

Perhatikan juga batasan berikut:

  • Peran khusus dapat berisi hingga 3,000 izin. Selain itu, ukuran total maksimum judul, deskripsi, dan nama izin untuk peran khusus adalah 64 KB.
  • Ada batasan jumlah peran khusus yang dapat Anda buat:

    • Anda dapat membuat hingga 300 peran khusus level organisasi di organisasi Anda
    • Anda dapat membuat hingga 300 peran khusus level project di setiap project di organisasi Anda.

Dependensi izin

Beberapa izin hanya berlaku jika diberikan secara bersamaan. Misalnya, untuk memperbarui kebijakan izin, Anda harus membaca kebijakan tersebut sebelum Anda dapat mengubah dan menulisnya. Oleh karena itu, untuk memperbarui kebijakan izin, Anda hampir selalu memerlukan izin getIamPolicy untuk layanan dan jenis resource tersebut, sebagai tambahan ke izin setIamPolicy.

Untuk memastikan peran khusus Anda efektif, Anda dapat membuat peran khusus berdasarkan Peran yang telah ditetapkan dengan izin yang serupa. Peran yang telah ditetapkan dirancang dengan mempertimbangkan tugas tertentu dan berisi semua izin yang Anda perlukan untuk menyelesaikan tugas tersebut. Meninjau peran ini dapat membantu Anda melihat izin mana yang biasanya diberikan secara bersamaan. Kemudian, Anda dapat menggunakan informasi tersebut untuk mendesain peran khusus yang efektif.

Untuk mempelajari cara membuat peran khusus berdasarkan peran yang telah ditetapkan, lihat Membuat dan mengelola peran khusus.

Siklus proses peran khusus

Bagian berikut menjelaskan pertimbangan utama pada setiap fase dari siklus proses peran khusus. Anda dapat menggunakan informasi ini untuk mengetahui cara membuat dan mengelola peran khusus Anda.

Kreasi

Saat Anda membuat peran khusus, pilih ID, judul, dan deskripsi yang membantu Anda mengidentifikasi peran tersebut:

  • ID Peran: ID peran adalah ID yang unik untuk peran tersebut. Panjangnya dapat mencapai 64 byte dan dapat berisi karakter alfanumerik huruf besar dan kecil, garis bawah, serta titik. Anda tidak dapat menggunakan kembali ID peran dalam organisasi atau project.

    Anda tidak dapat mengubah ID peran, jadi pilih dengan cermat. Anda dapat menghapus peran khusus, tetapi Anda tidak dapat membuat peran khusus baru dengan ID yang sama dalam organisasi atau project yang sama sebelum proses penghapusan selama 44 hari selesai. Untuk informasi selengkapnya tentang proses penghapusan lihat Menghapus peran khusus.

  • Nama peran: Nama peran muncul dalam daftar peran di konsol Google Cloud. Nama tidak harus unik, tetapi sebaiknya gunakan nama yang unik dan deskriptif untuk membedakan peran Anda dengan lebih baik. Selain itu, pertimbangkan untuk menunjukkan nama peran jika peran tersebut dibuat di level organisasi atau level project.

    Nama peran dapat berisi hingga 100 byte dan dapat berisi simbol dan karakter alfanumerik huruf besar dan kecil. Anda dapat mengubah nama peran kapan saja.

  • Deskripsi peran: Deskripsi peran adalah kolom opsional tempat Anda dapat memberikan informasi tambahan tentang sebuah peran. Misalnya, Anda dapat menyertakan tujuan peran yang dimaksudkan, tanggal peran dibuat atau diubah, dan Peran yang telah ditetapkan yang menjadi dasar peran khusus. Panjang deskripsi dapat mencapai 300 byte dan dapat berisi karakter alfanumerik huruf besar dan huruf kecil serta simbol.

Perhatikan juga dependensi izin saat membuat peran khusus.

Untuk mempelajari cara membuat peran khusus berdasarkan peran yang telah ditetapkan, lihat Membuat dan mengelola peran khusus.

Peluncuran

Peran khusus mencakup tahap peluncuran sebagai bagian dari metadata peran. Tahapan peluncuran yang paling umum untuk peran khusus adalah ALPHA, BETA, dan GA. Tahap peluncuran ini bersifat informatif; membantu Anda melacak apakah setiap peran siap untuk digunakan secara luas. Tahap peluncuran umum lainnya adalah DISABLED. Tahap peluncuran ini memungkinkan Anda menonaktifkan peran khusus.

Sebaiknya gunakan tahap peluncuran untuk menyampaikan informasi berikut tentang peran tersebut:

  • EAP atau ALPHA: Peran ini masih dikembangkan atau diuji, atau mencakup izin untuk layanan atau fitur Google Cloud yang belum bersifat publik. Model ini belum siap untuk digunakan secara luas.
  • BETA: Peran ini telah diuji secara terbatas, atau mencakup izin untuk layanan atau fitur Google Cloud yang tidak tersedia secara umum.
  • GA: Peran ini telah diuji secara luas, dan semua izinnya ditujukan untuk layanan atau fitur Google Cloud yang tersedia secara umum.
  • DEPRECATED: Peran tidak lagi digunakan.

Untuk mempelajari cara mengubah tahap peluncuran peran, lihat Mengedit peran khusus yang sudah ada.

Pemeliharaan

Anda bertanggung jawab untuk mempertahankan peran khusus. Hal ini termasuk memperbarui peran saat tanggung jawab pengguna berubah, serta memperbarui peran untuk memungkinkan pengguna mengakses fitur baru yang memerlukan izin tambahan.

Jika Anda mendasarkan peran khusus Anda pada peran yang telah ditetapkan, sebaiknya periksa secara rutin peran yang telah ditetapkan tersebut untuk melihat perubahan izin. Melacak perubahan ini dapat membantu Anda memutuskan waktu dan cara memperbarui peran khusus. Misalnya, Anda mungkin melihat bahwa peran yang telah ditentukan telah diperbarui dengan izin untuk menggunakan fitur Pratinjau baru, dan mungkin memutuskan untuk menambahkan izin tersebut ke peran khusus Anda juga.

Untuk memudahkan Anda melihat peran yang telah ditetapkan mana yang harus dipantau, sebaiknya cantumkan semua peran yang telah ditetapkan yang menjadi dasar peran khusus Anda di kolom deskripsi peran khusus. Konsol Google Cloud otomatis melakukannya saat Anda menggunakan konsol Google Cloud untuk membuat peran khusus berdasarkan peran yang telah ditetapkan.

Untuk mempelajari cara memperbarui izin dan deskripsi peran khusus, lihat Mengedit peran khusus yang sudah ada.

Lihat log perubahan izin untuk menentukan peran dan izin yang baru saja diubah.

Menonaktifkan

Jika tidak ingin lagi akun utama di organisasi menggunakan peran khusus, Anda dapat menonaktifkan peran tersebut. Untuk menonaktifkan peran, ubah tahap peluncurannya menjadi DISABLED.

Peran yang dinonaktifkan tetap muncul di kebijakan IAM Anda dan dapat diberikan ke akun utama, tetapi tidak berpengaruh apa pun.

Untuk mempelajari cara menonaktifkan peran khusus, lihat menonaktifkan peran khusus.

Langkah selanjutnya