Halaman ini menjelaskan cara membuat dan mengelola peran kustom di Google Distributed Cloud (GDC) yang terisolasi. Peran khusus memungkinkan Anda mengelola akses di luar kumpulan izin standar yang tersedia dalam peran bawaan, sehingga Anda dapat mengonfigurasi izin untuk memenuhi kriteria spesifik Anda.
Peran kustom mengikuti prinsip hak istimewa terendah dan berguna untuk memberikan akses paling sedikit yang diperlukan untuk tugas sensitif, sehingga mengurangi risiko keamanan dan mencegah konflik kepentingan.
Dengan membuat peran khusus, Anda dapat:
- Tentukan cakupan akses: Pilih untuk menerapkan izin di seluruh organisasi, di semua project, atau membatasinya ke project tertentu.
- Menyesuaikan akses terperinci: Pilih satu atau beberapa izin yang sudah tersedia melalui peran standar untuk menyesuaikan akses ke tugas atau tanggung jawab tertentu.
Halaman ini ditujukan bagi audiens dalam grup administrator platform, seperti admin IT atau engineer keamanan, yang ingin mengelola akses ke resource organisasi secara aman. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC yang terisolasi dari internet.
Buka Deskripsi peran bawaan dan Definisi peran untuk mengetahui informasi selengkapnya tentang peran.
Sebelum memulai
Akses peran khusus dikelola di tingkat organisasi dan project. Akses hanya dapat diberikan dalam organisasi atau project yang sama tempat peran khusus dibuat.
Untuk memiliki izin yang diperlukan untuk membuat dan mengelola peran khusus, minta administrator Anda untuk memberi Anda salah satu peran berikut:
Admin Org Peran Kustom: Membuat dan mengelola peran kustom dalam organisasi atau project. Peran ini mencakup kemampuan untuk memperbarui, mencantumkan, melihat, menonaktifkan, dan menghapus peran kustom.
Pengguna Admin IAM Organisasi dapat memberikan peran ini.
Admin Project Peran Kustom: Membuat dan mengelola peran kustom dalam project. Peran ini mencakup kemampuan untuk memperbarui, mencantumkan, melihat, menonaktifkan, dan menghapus peran kustom.
Pengguna Admin IAM Project dapat memberikan peran ini.
Pelajari lebih lanjut cara menetapkan izin peran untuk organisasi dan project.
Melihat peran dan izinnya
Peran khusus terdiri dari sekelompok izin yang dapat Anda tetapkan kepada pengguna. Untuk membuat peran khusus, pilih izin dari peran bawaan yang ada dan gabungkan untuk memenuhi kebutuhan Anda. Izin yang dapat Anda sertakan dalam peran khusus bergantung pada cakupan tempat Anda membuat peran tersebut: organisasi atau project.
Bagian ini menjelaskan cara mencantumkan peran yang tersedia (baik yang telah ditetapkan maupun kustom) dan melihat izin di dalamnya. Anda dapat menggunakan informasi ini untuk melakukan hal berikut:
- Mengidentifikasi izin untuk peran kustom baru: Temukan string izin spesifik yang diperlukan untuk flag
--permissionssaat menggunakan gcloud CLI untuk membuat peran kustom. - Tinjau peran yang ada: Periksa izin yang terkait dengan peran bawaan atau khusus dalam cakupan yang dipilih (organisasi atau project).
Mencantumkan peran dan memeriksa izinnya menggunakan konsol GDC atau gdcloud CLI:
Konsol
- Login ke konsol GDC.
- Di pemilih project, pilih organisasi atau project tempat Anda ingin melihat peran.
Di menu navigasi, klik Identity & Access > Roles.
Daftar peran bawaan dan kustom yang tersedia akan muncul.
Klik nama peran untuk melihat detailnya, termasuk izin yang ditetapkan.
Izin yang tercantum untuk peran bawaan dalam cakupan saat ini (organisasi atau project) adalah izin yang dapat disertakan dalam peran khusus baru.
gdcloud
- Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gcloud CLI.
Mencantumkan peran yang tersedia:
gdcloud iam roles list ROLE_TYPE \ --project=PROJECTGanti kode berikut:
ROLE_TYPE: Jenis peran yang akan dicantumkan. Nilai yang valid adalahpredefined,custom, atauall.PROJECT: Namespace project tempat Anda ingin melihat peran. Hapus tanda--projectuntuk peran cakupan organisasi.
Melihat izin tertentu dalam suatu peran:
gdcloud iam roles describe ROLE_NAME \ --project=PROJECTGanti kode berikut:
ROLE_NAME: Nama resource Kubernetes peran.PROJECT: Namespace project tempat Anda ingin melihat izin peran. Hapus tanda--projectuntuk peran cakupan organisasi.
Lihat gdcloud iam roles list dan gdcloud iam roles describe untuk mengetahui detail perintah dan contoh penggunaan lainnya.
Membuat peran khusus
Buat peran khusus baru dengan mengelompokkan izin dari peran standar. Peran khusus mewarisi kemampuan multi-zona IAM dari peran standar yang menjadi dasarnya. Setelah membuat peran khusus, Anda dapat memberikan akses kepada pengguna.
Buat peran kustom menggunakan konsol GDC, gdcloud CLI, atau API:
Konsol
- Login ke konsol GDC.
- Di pemilih project, pilih organisasi atau project tempat Anda ingin membuat peran khusus.
- Di menu navigasi, klik Identity & Access > Roles.
- Klik Buat Peran Kustom.
- Di kolom Judul, masukkan judul peran kustom Anda.
- Di kolom Deskripsi, berikan deskripsi tujuan peran kustom Anda.
Di kolom ID, masukkan ID unik untuk peran kustom Anda.
ID peran kustom dapat berisi hingga 10 karakter alfanumerik huruf kecil dan tidak dapat diubah setelah pembuatan peran.
Pilih Tahap peluncuran.
Pilih cakupan peran kustom Anda.
Jika Anda memilih Organisasi, peran kustom akan diterapkan ke semua resource di seluruh organisasi. Jika Anda memilih Project, peran khusus akan berlaku untuk semua project saat ini dan mendatang dalam organisasi. Anda dapat memilih Batasi ke project yang dipilih jika ingin menentukan project mana yang dapat mengakses peran khusus.
Klik Add Permissions.
Centang kotak di samping satu atau beberapa izin yang didukung yang ingin Anda tetapkan ke peran kustom.
Izin yang tersedia terbatas pada cakupan yang Anda pilih. Jika Anda mengubah cakupan setelah menambahkan izin, Anda harus mengonfirmasi bahwa semua izin yang diberikan sebelumnya akan direset.
Klik Simpan.
Klik Buat.
Peran kustom baru Anda akan muncul di halaman Peran.
gdcloud
- Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gcloud CLI.
Membuat peran khusus:
gdcloud iam roles create ROLE_ID \ --title=TITLE \ --description=DESCRIPTION \ --permissions=PERMISSIONS --stage=LAUNCH_STAGEGanti kode berikut:
ROLE_ID: ID unik untuk peran kustom Anda. ID peran kustom dapat berisi hingga 10 karakter alfanumerik huruf kecil dan dapat berisi tanda hubung. ID peran kustom tidak dapat diubah setelah peran dibuat.TITLE: Judul yang mudah digunakan untuk peran kustom.DESCRIPTION: Deskripsi tujuan peran kustom.PERMISSIONS: Daftar izin yang dipisahkan koma yang ingin Anda berikan untuk peran kustom.Untuk mengetahui detail tentang cara menemukan string izin yang benar, lihat Melihat peran dan izinnya. Setiap string izin harus diformat sesuai dengan panduan di gdcloud iam roles create, dengan
iamRoleNameadalah nama resource Kubernetes dari peran yang telah ditetapkan yang berisi izin. Anda dapat menemukan nama resource Kubernetes peran di halaman Definisi peran atau dengan menggunakan perintah gdcloud iam roles list.LAUNCH_STAGE: Opsional. Tahap rilis peran khusus. Nilai yang valid adalahALPHA,BETA,GA, atauDISABLED. Nilai defaultnya adalahALPHAjika tanda ini dihilangkan.
Lihat gdcloud iam roles create untuk mengetahui daftar lengkap flag wajib dan opsional, serta contoh penggunaannya.
Atau, Anda dapat menentukan peran khusus dalam file YAML dan menggunakan flag
--file:gdcloud iam roles create ROLE_ID --file=YAML_FILE_PATHGanti
YAML_FILE_PATHdengan jalur ke file YAML yang berisi flag wajib dan opsional. Jika Anda menggunakan flag--file, semua flag lainnya seperti--title,--description, dan--permissionsakan diabaikan.
API
Buat dan terapkan resource kustom CustomRole menggunakan kubectl:
kubectl apply -f - <<EOF
apiVersion: iam.global.gdc.goog/v1
kind: CustomRole
metadata:
name: ROLE_NAME
namespace: NAMESPACE
spec:
metadata:
description: DESCRIPTION
id: ROLE_ID
scope: SCOPE
stage: LAUNCH_STAGE
title: TITLE
RULES_TYPE:
- RULES_LIST
EOF
Ganti kode berikut:
ROLE_NAME: Nama resource Kubernetes peran.NAMESPACE: Namespace untuk peran kustom. Gunakanplatformuntuk peran cakupan organisasi dan untuk beberapa project. Gunakan namespace project (sepertimy-project) untuk peran yang tercakup dalam project dan project tunggal.DESCRIPTION: Deskripsi tujuan peran kustom.ROLE_ID: ID unik untuk peran kustom Anda. ID peran kustom dapat berisi hingga 10 karakter alfanumerik huruf kecil dan dapat berisi tanda hubung. ID peran kustom tidak dapat diubah setelah peran dibuat.SCOPE: Gunakanorganizationuntuk peran yang dibuat di namespaceplatform. Gunakanprojectuntuk peran yang dibuat di namespace project.LAUNCH_STAGE: Opsional. Tahap rilis peran khusus. Nilai yang valid adalahALPHA,BETA,GA, atauDISABLED. Nilai defaultnya adalahALPHAjika kolom ini dihilangkan.TITLE: Judul yang mudah digunakan untuk peran kustom.RULES_TYPE: Kolom ini menentukan cakupan aturan. Ganti denganglobalRules(untuk izin di API global) atauzonalRules(untuk izin di API zonal). Anda tidak dapat menggunakan keduanya di resourceCustomRoleyang sama.RULES_LIST: Daftar standar objek aturan RBAC Kubernetes yang diindentasi. Setiap objek dalam daftar memberikan izin. Anda dapat menentukanapiGroups,resources, danverbsyang benar dengan memeriksa izin dalam peran bawaan menggunakangdcloud iam roles describe, seperti yang ditunjukkan dalam Melihat peran dan izinnya.Contoh berikut menunjukkan struktur satu item dalam objek
globalRules:globalRules: - apiGroups: ["storage.global.gdc.goog"] resources: ["buckettypes"] verbs: ["get", "list", "watch"]Anda dapat menyertakan beberapa item dalam daftar, yang masing-masing menentukan serangkaian izin yang berbeda.
Mengelola peran khusus
Anda bertanggung jawab untuk mengelola siklus proses peran kustom Anda. Saat Distributed Cloud menambahkan izin, fitur, atau layanan baru, Distributed Cloud akan memperbarui peran yang telah ditetapkan. Pembaruan seperti menghapus peran bawaan atau menghapus izin dari peran bawaan dapat membuat peran khusus yang mengandalkan izin tersebut tidak berfungsi. Anda harus memantau pembaruan ini dan menyesuaikan peran kustom yang terpengaruh secara manual untuk memastikan peran tersebut terus berfungsi seperti yang diharapkan.
Anda dapat mengedit, menonaktifkan, atau menghapus peran khusus; namun, Anda tidak dapat mengedit, menonaktifkan, atau menghapus peran standar. Untuk melihat daftar semua peran dan izin spesifiknya, lihat Melihat peran dan izinnya.
Mengedit peran khusus
Edit peran kustom menggunakan konsol GDC, gdcloud CLI, atau API:
Konsol
- Login ke konsol GDC.
- Di pemilih project, pilih organisasi atau project tempat Anda ingin mengedit peran khusus.
- Di menu navigasi, klik Identity & Access > Roles.
- Dari daftar peran, pilih peran kustom yang ingin Anda edit.
- Dari halaman detail peran kustom, klik Edit.
- Edit detail peran kustom Anda seperti judul, deskripsi, ID, atau tahap peluncuran.
- Secara opsional, tambahkan atau hapus izin yang ditetapkan.
- Klik Tambahkan izin untuk memilih dari daftar izin yang tersedia.
- Untuk menghapus izin yang ditetapkan, centang kotak di samping izin yang ingin Anda hapus, lalu klik Hapus.
Klik Simpan.
Pesan akan muncul untuk mengonfirmasi perubahan yang Anda simpan.
gdcloud
- Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gcloud CLI.
Mengedit peran khusus:
gdcloud iam roles update ROLE_ID \ --title=TITLE \ --description=DESCRIPTION \ --permissions=PERMISSIONS --stage=LAUNCH_STAGEGanti kode berikut:
ROLE_ID: ID unik untuk peran kustom Anda.TITLE: Judul yang mudah digunakan untuk peran kustom.DESCRIPTION: Deskripsi tujuan peran kustom.PERMISSIONS: Daftar izin yang dipisahkan koma yang ingin Anda berikan untuk peran kustom.Untuk mengetahui detail tentang cara menemukan string izin yang benar, lihat Melihat peran dan izinnya. Setiap string izin harus diformat sesuai dengan panduan di gdcloud iam roles create, dengan
iamRoleNameadalah nama resource Kubernetes dari peran yang telah ditetapkan yang berisi izin. Anda dapat menemukan nama resource Kubernetes peran di halaman Definisi peran atau dengan menggunakan perintah gdcloud iam roles list.LAUNCH_STAGE: Opsional. Tahap rilis peran khusus. Nilai yang valid adalahALPHA,BETA,GA, atauDISABLED. Nilai defaultnya adalahALPHAjika tanda ini dihilangkan.
Lihat gdcloud iam roles update untuk mengetahui daftar lengkap flag wajib dan opsional, serta contoh penggunaannya.
Atau, Anda dapat memperbarui peran khusus dalam file YAML-nya dan menggunakan flag
--file:gdcloud iam roles update ROLE_ID --file=YAML_FILE_PATHGanti
YAML_FILE_PATHdengan jalur ke file YAML yang berisi flag wajib dan opsional yang diperbarui. Jika Anda menggunakan flag--file, semua flag lainnya seperti--title,--description, dan--permissionsakan diabaikan.
API
Mengedit resource kustom CustomRole menggunakan kubectl:
kubectl apply -f - <<EOF
apiVersion: iam.global.gdc.goog/v1
kind: CustomRole
metadata:
name: ROLE_NAME
namespace: NAMESPACE
spec:
metadata:
description: DESCRIPTION
id: ROLE_ID
scope: SCOPE
stage: LAUNCH_STAGE
title: TITLE
RULES_TYPE:
- RULES_LIST
EOF
Ganti kode berikut:
ROLE_NAME: Nama resource Kubernetes peran.NAMESPACE: Namespace untuk peran kustom. Gunakanplatformuntuk peran cakupan organisasi dan untuk beberapa project. Gunakan namespace project (sepertimy-project) untuk peran yang tercakup dalam project dan project tunggal.DESCRIPTION: Deskripsi tujuan peran kustom.ROLE_ID: ID unik untuk peran kustom Anda. ID peran kustom dapat berisi hingga 10 karakter alfanumerik huruf kecil dan dapat berisi tanda hubung. ID peran kustom tidak dapat diubah setelah peran dibuat.SCOPE: Gunakanorganizationuntuk peran yang dibuat di namespaceplatform. Gunakanprojectuntuk peran yang dibuat di namespace project.LAUNCH_STAGE: Opsional. Tahap rilis peran khusus. Nilai yang valid adalahALPHA,BETA,GA, atauDISABLED. Nilai defaultnya adalahALPHAjika kolom ini dihilangkan.TITLE: Judul yang mudah digunakan untuk peran kustom.RULES_TYPE: Kolom ini menentukan cakupan aturan. Ganti denganglobalRules(untuk izin di API global) atauzonalRules(untuk izin di API zonal). Anda tidak dapat menggunakan keduanya di resourceCustomRoleyang sama.RULES_LIST: Daftar standar objek aturan RBAC Kubernetes yang diindentasi. Setiap objek dalam daftar memberikan izin. Anda dapat menentukanapiGroups,resources, danverbsyang benar dengan memeriksa izin dalam peran bawaan menggunakangdcloud iam roles describe, seperti yang ditunjukkan dalam Melihat peran dan izinnya.Contoh berikut menunjukkan struktur satu item dalam objek
globalRules:globalRules: - apiGroups: ["storage.global.gdc.goog"] resources: ["buckettypes"] verbs: ["get", "list", "watch"]Anda dapat menyertakan beberapa item dalam daftar, yang masing-masing menentukan serangkaian izin yang berbeda.
Menonaktifkan peran khusus
Peran khusus yang dinonaktifkan tetap ada dalam daftar peran Anda dan masih dapat ditetapkan kepada pengguna; namun, peran tersebut tidak berpengaruh. Anda dapat mengaktifkan kembali peran kustom kapan saja.
Nonaktifkan peran kustom menggunakan konsol GDC, gdcloud CLI, atau API:
Konsol
- Login ke konsol GDC.
- Di pemilih project, pilih organisasi atau project tempat Anda ingin menonaktifkan peran khusus.
- Di menu navigasi, klik Identity & Access > Roles.
- Dalam daftar peran, pilih peran khusus yang ingin Anda nonaktifkan.
- Di halaman detail peran khusus, klik Nonaktifkan.
gdcloud
- Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gcloud CLI.
Menonaktifkan peran khusus:
gdcloud iam roles update ROLE_ID --stage=DISABLEDGanti kode berikut:
ROLE_ID: ID unik untuk peran kustom Anda.
Lihat gdcloud iam roles update untuk mengetahui informasi selengkapnya.
API
Nonaktifkan resource kustom CustomRole dengan mengubah kolom stage menjadi
DISABLED. Pastikan semua kolom lainnya cocok dengan nilai saat ini untuk peran kustom yang ingin Anda nonaktifkan.
kubectl apply -f - <<EOF
apiVersion: iam.global.gdc.goog/v1
kind: CustomRole
metadata:
name: ROLE_NAME
namespace: NAMESPACE
spec:
metadata:
description: DESCRIPTION
id: ROLE_ID
scope: SCOPE
stage: DISABLED
title: TITLE
RULES_TYPE:
- RULES_LIST
EOF
Ganti kode berikut:
ROLE_NAME: Nama resource Kubernetes peran.NAMESPACE: Namespace untuk peran kustom. Gunakanplatformuntuk peran cakupan organisasi dan untuk beberapa project. Gunakan namespace project (sepertimy-project) untuk peran yang tercakup dalam project dan project tunggal.DESCRIPTION: Deskripsi tujuan peran kustom.ROLE_ID: ID unik untuk peran kustom Anda. ID peran kustom dapat berisi hingga 10 karakter alfanumerik huruf kecil dan dapat berisi tanda hubung. ID peran kustom tidak dapat diubah setelah peran dibuat.SCOPE: Gunakanorganizationuntuk peran yang dibuat di namespaceplatform. Gunakanprojectuntuk peran yang dibuat di namespace project.TITLE: Judul yang mudah digunakan untuk peran kustom.RULES_TYPE: Kolom ini menentukan cakupan aturan. Ganti denganglobalRules(untuk izin di API global) atauzonalRules(untuk izin di API zonal). Anda tidak dapat menggunakan keduanya di resourceCustomRoleyang sama.RULES_LIST: Daftar standar objek aturan RBAC Kubernetes yang diindentasi. Setiap objek dalam daftar memberikan izin. Anda dapat menentukanapiGroups,resources, danverbsyang benar dengan memeriksa izin dalam peran bawaan menggunakangdcloud iam roles describe, seperti yang ditunjukkan dalam Melihat peran dan izinnya.Contoh berikut menunjukkan struktur satu item dalam objek
globalRules:globalRules: - apiGroups: ["storage.global.gdc.goog"] resources: ["buckettypes"] verbs: ["get", "list", "watch"]Anda dapat menyertakan beberapa item dalam daftar, yang masing-masing menentukan serangkaian izin yang berbeda.
Menghapus peran khusus
Peran yang dihapus akan dihapus secara permanen dari sistem; namun, Anda dapat membuat peran baru dengan nama yang sama.
Hapus peran khusus menggunakan gdcloud CLI atau API:
gdcloud
- Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gcloud CLI.
Menghapus peran khusus:
gdcloud iam roles delete ROLE_ID --project=PROJECTGanti kode berikut:
ROLE_ID: ID unik untuk peran kustom Anda.PROJECT: Namespace project tempat Anda ingin menghapus peran kustom. Jika tanda--projecttidak ditentukan, peran cakupan organisasi akan dihapus.
Lihat gdcloud iam roles delete untuk mengetahui informasi selengkapnya dan contoh penggunaan.
API
Menghapus resource kustom CustomRole menggunakan kubectl:
kubectl delete -f CUSTOM_ROLE
Ganti CUSTOM_ROLE dengan jalur ke file YAML CustomRole Anda. Ini adalah file yang sama dengan yang Anda gunakan untuk membuat atau memperbarui peran.