Halaman ini menjelaskan cara membuat dan mengelola peran khusus di Google Distributed Cloud (GDC) dengan air gap. Peran khusus memungkinkan Anda mengelola akses di luar set izin standar yang tersedia dalam peran bawaan, sehingga Anda dapat mengonfigurasi izin untuk memenuhi kriteria tertentu.
Peran khusus mengikuti prinsip hak istimewa terendah dan berguna untuk memberikan akses paling sedikit yang diperlukan untuk tugas sensitif, 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 batasi izin ke project tertentu.
- Menyesuaikan akses terperinci: Pilih satu atau beberapa izin yang sudah tersedia melalui peran yang telah ditetapkan untuk menyesuaikan akses ke tugas atau tanggung jawab tertentu.
Peran khusus terikat oleh cakupan tempat peran tersebut dibuat. Akses ke peran khusus hanya dapat diberikan dalam organisasi atau project yang sama tempat peran khusus dibuat.
Halaman ini ditujukan untuk audiens dalam grup administrator platform, seperti admin IT atau engineer keamanan, yang ingin mengelola akses ke resource organisasi dengan aman. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.
Buka Deskripsi peran yang telah ditetapkan dan Definisi peran untuk mengetahui informasi selengkapnya tentang peran.
Sebelum memulai
Sebelum membuat atau mengelola peran khusus, Anda harus meminta izin yang diperlukan dan menyiapkan lingkungan Anda.
Meminta peran organisasi IAM
Untuk membuat, memperbarui, dan menghapus peran khusus di seluruh organisasi atau dalam
project, hubungi Admin Org IAM Anda untuk meminta
peran Custom Role Org Admin (custom-role-org-admin).
Pelajari lebih lanjut cara menetapkan izin peran untuk organisasi.
Meminta peran project IAM
Untuk membuat, memperbarui, dan menghapus peran khusus dalam project tertentu, hubungi
Admin Project IAM Anda untuk meminta peran Custom Role Project Admin
(custom-role-project-admin).
Pelajari lebih lanjut cara menetapkan izin peran untuk project.
Menyiapkan lingkungan Anda
Untuk menggunakan alat command line guna membuat atau mengelola peran khusus, selesaikan penyiapan berikut:
Download dan instal gdcloud CLI, jika Anda belum melakukannya.
Untuk menggunakan API dengan
kubectl, diperlukan penyiapan tambahan:- Instal kubectl CLI.
- Buat file kubeconfig untuk server API global
guna mengonfigurasi akses
kubectl.
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 agar sesuai dengan kebutuhan Anda. Izin yang dapat Anda sertakan dalam peran khusus bergantung pada cakupan tempat Anda membuat peran: 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 khusus baru: Temukan string izin tertentu yang diperlukan untuk flag
--permissionssaat menggunakan gdcloud CLI untuk membuat peran khusus. - Meninjau peran yang ada: Periksa izin yang terkait dengan peran yang telah ditetapkan atau peran khusus pada cakupan yang dipilih (organisasi atau project).
Cantumkan peran dan periksa 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 khusus yang tersedia akan muncul.
Klik nama peran untuk melihat detailnya, termasuk izin yang ditetapkan.
Izin yang tercantum untuk peran yang telah ditetapkan pada cakupan saat ini (organisasi atau project) adalah izin yang tersedia untuk disertakan dalam peran khusus baru.
gdcloud
- Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gdcloud CLI.
Cantumkan peran yang tersedia:
gdcloud iam roles list \ --type=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 flag--projectuntuk peran cakupan organisasi.
Melihat izin tertentu dalam peran:
gdcloud iam roles describe ROLE_NAME \ --project=PROJECTGanti kode berikut:
ROLE_NAME: nama resource Kubernetes dari peranPROJECT: namespace project tempat Anda ingin melihat izin peran. Hapus flag--projectuntuk peran cakupan organisasi.
Lihat gdcloud iam roles list dan gdcloud iam roles describe untuk mengetahui detail perintah dan contoh penggunaan selengkapnya.
Membuat peran khusus
Buat peran khusus baru dengan mengelompokkan izin dari peran yang telah ditetapkan. Peran khusus mewarisi kemampuan multi-zona IAM dari peran bawaan yang menjadi dasarnya. Setelah membuat peran khusus, Anda dapat memberikan akses kepada pengguna.
Buat peran khusus 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 Create Custom Role.
- Di kolom Title, masukkan judul peran khusus Anda.
- Di kolom Description, berikan deskripsi tujuan peran khusus Anda.
Di kolom ID, masukkan ID unik untuk peran khusus Anda.
ID peran khusus dapat berisi hingga 10 karakter alfanumerik huruf kecil dan tidak dapat diubah setelah pembuatan peran.
Pilih Launch stage.
Pilih cakupan peran khusus Anda.
Jika Anda memilih Organization, peran khusus akan berlaku untuk semua resource di seluruh organisasi. Jika Anda memilih Projects, peran khusus akan berlaku untuk semua project saat ini dan yang akan datang dalam organisasi. Anda dapat memilih Limit to selected projects jika ingin menentukan project mana yang dapat mengakses peran khusus.
Klik Add Permissions.
Pilih kotak centang di samping satu atau beberapa izin yang didukung yang ingin Anda tetapkan ke peran khusus.
Izin yang tersedia dibatasi untuk cakupan yang Anda pilih. Jika Anda mengubah cakupan setelah menambahkan izin, Anda harus mengonfirmasi bahwa semua izin yang ditetapkan sebelumnya direset.
Klik Simpan.
Klik Buat.
Peran khusus baru Anda akan muncul di halaman Roles.
gdcloud
- Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gdcloud 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 khusus Anda. ID peran khusus dapat berisi hingga 10 karakter alfanumerik huruf kecil dan dapat berisi tanda hubung. ID peran khusus tidak dapat diubah setelah pembuatan peran.TITLE: judul yang mudah digunakan untuk peran khususDESCRIPTION: deskripsi tujuan peran khususPERMISSIONS: daftar izin yang dipisahkan koma yang ingin Anda berikan untuk peran khususUntuk 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 Role definitions atau menggunakan perintah gdcloud iam roles list.LAUNCH_STAGE: Opsional. Tahap rilis peran khusus. Nilai yang valid adalahALPHA,BETA,GA, atauDISABLED. Nilai defaultnya adalahALPHAjika flag 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 lain 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 dari peranNAMESPACE: namespace untuk peran khusus. Gunakanplatformuntuk peran lingkup organisasi dan untuk beberapa project. Gunakan namespace project (sepertimy-project) untuk peran cakupan project dan project tunggal.DESCRIPTION: deskripsi tujuan peran khususROLE_ID: ID unik untuk peran khusus Anda. ID peran khusus dapat berisi hingga 10 karakter alfanumerik huruf kecil dan dapat berisi tanda hubung. ID peran khusus tidak dapat diubah setelah pembuatan peran.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 khususRULES_TYPE: cakupan aturan. Ganti denganglobalRules(untuk izin di API global),zonalRules(untuk izin di API zona), atau keduanya.RULES_LIST: daftar objek aturan RBAC Kubernetes standar yang diindentasi. Setiap objek dalam daftar memberikan izin. Anda dapat menentukanapiGroups,resources, danverbsyang benar dengan memeriksa izin dalam peran yang telah ditetapkan 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 kumpulan izin yang berbeda.
Mengelola peran khusus
Anda bertanggung jawab untuk mengelola siklus proses peran khusus Anda. Saat Distributed Cloud menambahkan izin, fitur, atau layanan baru, peran yang telah ditetapkan akan diperbarui. Pembaruan seperti menghapus peran yang telah ditetapkan atau menghapus izin dari peran yang telah ditetapkan dapat membuat peran khusus yang mengandalkan izin tersebut tidak berfungsi. Anda harus memantau update ini dan menyesuaikan peran khusus 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 yang telah ditetapkan. Untuk melihat daftar semua peran dan izin spesifiknya, lihat Melihat peran dan izinnya.
Mengedit peran khusus
Edit peran khusus 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 khusus yang ingin Anda edit.
- Dari halaman detail peran khusus, klik Edit.
- Edit detail peran khusus Anda seperti judul, deskripsi, ID, atau tahap peluncuran.
- Tambahkan atau hapus izin yang ditetapkan jika perlu.
- Klik Add permissions untuk memilih dari daftar izin yang tersedia.
- Untuk menghapus izin yang ditetapkan, centang kotak di samping izin yang ingin Anda hapus, lalu klik Remove.
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 gdcloud 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 khusus AndaTITLE: judul yang mudah digunakan untuk peran khususDESCRIPTION: deskripsi tujuan peran khususPERMISSIONS: daftar izin yang dipisahkan koma yang ingin Anda berikan untuk peran khususUntuk 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 Role definitions atau menggunakan perintah gdcloud iam roles list.LAUNCH_STAGE: Opsional. Tahap rilis peran khusus. Nilai yang valid adalahALPHA,BETA,GA, atauDISABLED. Nilai defaultnya adalahALPHAjika flag ini dihilangkan.
Lihat gdcloud iam roles update untuk mengetahui daftar lengkap flag yang diperlukan 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 telah diperbarui. Jika Anda menggunakan flag--file, semua flag lain seperti--title,--description, dan--permissionsakan diabaikan.
API
Edit 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 dari peranNAMESPACE: namespace untuk peran khusus. Gunakanplatformuntuk peran lingkup organisasi dan untuk beberapa project. Gunakan namespace project (sepertimy-project) untuk peran cakupan project dan project tunggal.DESCRIPTION: deskripsi tujuan peran khususROLE_ID: ID unik untuk peran khusus Anda. ID peran khusus dapat berisi hingga 10 karakter alfanumerik huruf kecil dan dapat berisi tanda hubung. ID peran khusus tidak dapat diubah setelah pembuatan peran.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 khususRULES_TYPE: cakupan aturan. Ganti denganglobalRules(untuk izin di API global),zonalRules(untuk izin di API zona), atau keduanya.RULES_LIST: daftar objek aturan RBAC Kubernetes standar yang diindentasi. Setiap objek dalam daftar memberikan izin. Anda dapat menentukanapiGroups,resources, danverbsyang benar dengan memeriksa izin dalam peran yang telah ditetapkan 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 kumpulan 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 khusus kapan saja.
Nonaktifkan peran khusus 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 Disable.
gdcloud
- Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gdcloud CLI.
Menonaktifkan peran khusus:
gdcloud iam roles update ROLE_ID --stage=DISABLEDGanti kode berikut:
ROLE_ID: ID unik untuk peran khusus 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 khusus 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 dari peranNAMESPACE: namespace untuk peran khusus. Gunakanplatformuntuk peran lingkup organisasi dan untuk beberapa project. Gunakan namespace project (sepertimy-project) untuk peran cakupan project dan project tunggal.DESCRIPTION: deskripsi tujuan peran khususROLE_ID: ID unik untuk peran khusus Anda. ID peran khusus dapat berisi hingga 10 karakter alfanumerik huruf kecil dan dapat berisi tanda hubung. ID peran khusus tidak dapat diubah setelah pembuatan peran.SCOPE: gunakanorganizationuntuk peran yang dibuat di namespaceplatform. Gunakanprojectuntuk peran yang dibuat di namespace project.TITLE: judul yang mudah digunakan untuk peran khususRULES_TYPE: cakupan aturan. Ganti denganglobalRules(untuk izin di API global),zonalRules(untuk izin di API zona), atau keduanya.RULES_LIST: daftar objek aturan RBAC Kubernetes standar yang diindentasi. Setiap objek dalam daftar memberikan izin. Anda dapat menentukanapiGroups,resources, danverbsyang benar dengan memeriksa izin dalam peran yang telah ditetapkan 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 kumpulan 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 gdcloud CLI.
Menghapus peran khusus:
gdcloud iam roles delete ROLE_ID --project=PROJECTGanti kode berikut:
ROLE_ID: ID unik untuk peran khusus AndaPROJECT: namespace project tempat Anda ingin menghapus peran khusus. Jika flag--projecttidak ditentukan, peran yang tercakup dalam organisasi akan dihapus.
Lihat gdcloud iam roles delete untuk mengetahui informasi selengkapnya dan contoh penggunaan.
API
Hapus resource kustom CustomRole menggunakan kubectl:
kubectl delete -f CUSTOM_ROLE
Ganti CUSTOM_ROLE dengan jalur ke file YAML CustomRole Anda. File ini sama dengan file yang Anda gunakan untuk membuat atau memperbarui peran.