Membuat peran khusus

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 --permissions saat 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

  1. Login ke konsol GDC.
  2. Di pemilih project, pilih organisasi atau project tempat Anda ingin melihat peran.
  3. Di menu navigasi, klik Identity & Access > Roles.

    Daftar peran bawaan dan kustom yang tersedia akan muncul.

  4. 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

  1. Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gcloud CLI.
  2. Mencantumkan peran yang tersedia:

    gdcloud iam roles list ROLE_TYPE \
      --project=PROJECT
    

    Ganti kode berikut:

    • ROLE_TYPE: Jenis peran yang akan dicantumkan. Nilai yang valid adalah predefined, custom, atau all.
    • PROJECT: Namespace project tempat Anda ingin melihat peran. Hapus tanda --project untuk peran cakupan organisasi.
  3. Melihat izin tertentu dalam suatu peran:

    gdcloud iam roles describe ROLE_NAME \
      --project=PROJECT
    

    Ganti kode berikut:

    • ROLE_NAME: Nama resource Kubernetes peran.
    • PROJECT: Namespace project tempat Anda ingin melihat izin peran. Hapus tanda --project untuk 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

  1. Login ke konsol GDC.
  2. Di pemilih project, pilih organisasi atau project tempat Anda ingin membuat peran khusus.
  3. Di menu navigasi, klik Identity & Access > Roles.
  4. Klik Buat Peran Kustom.
  5. Di kolom Judul, masukkan judul peran kustom Anda.
  6. Di kolom Deskripsi, berikan deskripsi tujuan peran kustom Anda.
  7. 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.

  8. Pilih Tahap peluncuran.

  9. 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.

  10. Klik Add Permissions.

  11. 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.

  12. Klik Simpan.

  13. Klik Buat.

    Peran kustom baru Anda akan muncul di halaman Peran.

gdcloud

  1. Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gcloud CLI.
  2. Membuat peran khusus:

    gdcloud iam roles create ROLE_ID \
      --title=TITLE \
      --description=DESCRIPTION \
      --permissions=PERMISSIONS
      --stage=LAUNCH_STAGE
    

    Ganti 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 iamRoleName adalah 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 adalah ALPHA, BETA, GA, atau DISABLED. Nilai defaultnya adalah ALPHA jika 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_PATH
    

    Ganti YAML_FILE_PATH dengan jalur ke file YAML yang berisi flag wajib dan opsional. Jika Anda menggunakan flag --file, semua flag lainnya seperti --title, --description, dan --permissions akan 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. Gunakan platform untuk peran cakupan organisasi dan untuk beberapa project. Gunakan namespace project (seperti my-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: Gunakan organization untuk peran yang dibuat di namespace platform. Gunakan project untuk peran yang dibuat di namespace project.
  • LAUNCH_STAGE: Opsional. Tahap rilis peran khusus. Nilai yang valid adalah ALPHA, BETA, GA, atau DISABLED. Nilai defaultnya adalah ALPHA jika kolom ini dihilangkan.
  • TITLE: Judul yang mudah digunakan untuk peran kustom.
  • RULES_TYPE: Kolom ini menentukan cakupan aturan. Ganti dengan globalRules (untuk izin di API global) atau zonalRules (untuk izin di API zonal). Anda tidak dapat menggunakan keduanya di resource CustomRole yang sama.
  • RULES_LIST: Daftar standar objek aturan RBAC Kubernetes yang diindentasi. Setiap objek dalam daftar memberikan izin. Anda dapat menentukan apiGroups, resources, dan verbs yang benar dengan memeriksa izin dalam peran bawaan menggunakan gdcloud 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

  1. Login ke konsol GDC.
  2. Di pemilih project, pilih organisasi atau project tempat Anda ingin mengedit peran khusus.
  3. Di menu navigasi, klik Identity & Access > Roles.
  4. Dari daftar peran, pilih peran kustom yang ingin Anda edit.
  5. Dari halaman detail peran kustom, klik Edit.
  6. Edit detail peran kustom Anda seperti judul, deskripsi, ID, atau tahap peluncuran.
  7. Secara opsional, tambahkan atau hapus izin yang ditetapkan.
    1. Klik Tambahkan izin untuk memilih dari daftar izin yang tersedia.
    2. Untuk menghapus izin yang ditetapkan, centang kotak di samping izin yang ingin Anda hapus, lalu klik Hapus.
  8. Klik Simpan.

    Pesan akan muncul untuk mengonfirmasi perubahan yang Anda simpan.

gdcloud

  1. Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gcloud CLI.
  2. Mengedit peran khusus:

    gdcloud iam roles update ROLE_ID \
      --title=TITLE \
      --description=DESCRIPTION \
      --permissions=PERMISSIONS
      --stage=LAUNCH_STAGE
    

    Ganti 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 iamRoleName adalah 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 adalah ALPHA, BETA, GA, atau DISABLED. Nilai defaultnya adalah ALPHA jika 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_PATH
    

    Ganti YAML_FILE_PATH dengan jalur ke file YAML yang berisi flag wajib dan opsional yang diperbarui. Jika Anda menggunakan flag --file, semua flag lainnya seperti --title, --description, dan --permissions akan 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. Gunakan platform untuk peran cakupan organisasi dan untuk beberapa project. Gunakan namespace project (seperti my-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: Gunakan organization untuk peran yang dibuat di namespace platform. Gunakan project untuk peran yang dibuat di namespace project.
  • LAUNCH_STAGE: Opsional. Tahap rilis peran khusus. Nilai yang valid adalah ALPHA, BETA, GA, atau DISABLED. Nilai defaultnya adalah ALPHA jika kolom ini dihilangkan.
  • TITLE: Judul yang mudah digunakan untuk peran kustom.
  • RULES_TYPE: Kolom ini menentukan cakupan aturan. Ganti dengan globalRules (untuk izin di API global) atau zonalRules (untuk izin di API zonal). Anda tidak dapat menggunakan keduanya di resource CustomRole yang sama.
  • RULES_LIST: Daftar standar objek aturan RBAC Kubernetes yang diindentasi. Setiap objek dalam daftar memberikan izin. Anda dapat menentukan apiGroups, resources, dan verbs yang benar dengan memeriksa izin dalam peran bawaan menggunakan gdcloud 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

  1. Login ke konsol GDC.
  2. Di pemilih project, pilih organisasi atau project tempat Anda ingin menonaktifkan peran khusus.
  3. Di menu navigasi, klik Identity & Access > Roles.
  4. Dalam daftar peran, pilih peran khusus yang ingin Anda nonaktifkan.
  5. Di halaman detail peran khusus, klik Nonaktifkan.

gdcloud

  1. Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gcloud CLI.
  2. Menonaktifkan peran khusus:

    gdcloud iam roles update ROLE_ID --stage=DISABLED
    

    Ganti 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. Gunakan platform untuk peran cakupan organisasi dan untuk beberapa project. Gunakan namespace project (seperti my-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: Gunakan organization untuk peran yang dibuat di namespace platform. Gunakan project untuk peran yang dibuat di namespace project.
  • TITLE: Judul yang mudah digunakan untuk peran kustom.
  • RULES_TYPE: Kolom ini menentukan cakupan aturan. Ganti dengan globalRules (untuk izin di API global) atau zonalRules (untuk izin di API zonal). Anda tidak dapat menggunakan keduanya di resource CustomRole yang sama.
  • RULES_LIST: Daftar standar objek aturan RBAC Kubernetes yang diindentasi. Setiap objek dalam daftar memberikan izin. Anda dapat menentukan apiGroups, resources, dan verbs yang benar dengan memeriksa izin dalam peran bawaan menggunakan gdcloud 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

  1. Pastikan Anda telah menginstal gdcloud CLI. Untuk mengetahui informasi selengkapnya, lihat halaman Ringkasan gcloud CLI.
  2. Menghapus peran khusus:

    gdcloud iam roles delete ROLE_ID --project=PROJECT
    

    Ganti kode berikut:

    • ROLE_ID: ID unik untuk peran kustom Anda.
    • PROJECT: Namespace project tempat Anda ingin menghapus peran kustom. Jika tanda --project tidak 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.