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
- Memahami konsep dasar dari IAM.
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:
Lihat peran di konsol Google Cloud.
Jalankan perintah
gcloud iam roles describe
Dapatkan peran menggunakan metode REST API yang sesuai:
- Untuk peran yang telah ditetapkan, gunakan
roles.get()
. - Untuk peran kustom level project, gunakan
projects.roles.get()
. - Untuk peran khusus level organisasi, gunakan
organizations.roles.get()
.
- Untuk peran yang telah ditetapkan, gunakan
Khusus untuk peran dasar dan peran yang telah ditetapkan: Telusuri referensi izin untuk melihat apakah izin diberikan oleh peran tersebut.
Khusus untuk peran yang telah ditetapkan: Telusuri deskripsi peran yang telah ditetapkan untuk melihat izin yang disertakan oleh peran tersebut.
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.
- Peran yang telah ditetapkan:
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
, atauGA
. 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, dancompute.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 izinpubsub.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: |
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: |
Pemilik (roles/owner ) |
Semua izin Editor, plus izin untuk tindakan seperti berikut:
Untuk daftar izin di dalam peran Pemilik, lihat detail peran di Google Cloud Console: |
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
atauALPHA
: 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
- Pelajari cara memberikan peran IAM ke akun utama.
- Cari tahu cara memilih peran yang telah ditetapkan yang paling sesuai.
- Pelajari cara membuat peran khusus.
- Gunakan Pemecah Masalah Kebijakan untuk memahami alasan pengguna memiliki atau tidak memiliki akses ke resource atau memiliki izin untuk memanggil API.