Kontrol akses dengan IAM

Halaman ini menjelaskan peran Identity and Access Management (IAM) yang dapat Anda gunakan mengonfigurasi Secret Manager. Peran membatasi kemampuan akun utama untuk mengakses resource. Selalu berikan serangkaian izin minimum yang diperlukan untuk melakukan tugas tertentu.

Peran Secret Manager

Berikut adalah peran IAM yang terkait dengan {i>Secret Manager<i}. Untuk mempelajari cara memberikan, mengubah, atau mencabut akses ke sumber daya menggunakan Peran IAM, lihat Memberikan, mengubah, dan mencabut akses ke resource.

Role Permissions

(roles/secretmanager.admin)

Full access to administer Secret Manager resources.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.*

  • secretmanager.locations.get
  • secretmanager.locations.list
  • secretmanager.secrets.create
  • secretmanager.secrets.createTagBinding
  • secretmanager.secrets.delete
  • secretmanager.secrets.deleteTagBinding
  • secretmanager.secrets.get
  • secretmanager.secrets.getIamPolicy
  • secretmanager.secrets.list
  • secretmanager.secrets.listEffectiveTags
  • secretmanager.secrets.listTagBindings
  • secretmanager.secrets.setIamPolicy
  • secretmanager.secrets.update
  • secretmanager.versions.access
  • secretmanager.versions.add
  • secretmanager.versions.destroy
  • secretmanager.versions.disable
  • secretmanager.versions.enable
  • secretmanager.versions.get
  • secretmanager.versions.list

(roles/secretmanager.secretAccessor)

Allows accessing the payload of secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.access

(roles/secretmanager.secretVersionAdder)

Allows adding versions to existing secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.add

(roles/secretmanager.secretVersionManager)

Allows creating and managing versions of existing secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.add

secretmanager.versions.destroy

secretmanager.versions.disable

secretmanager.versions.enable

secretmanager.versions.get

secretmanager.versions.list

(roles/secretmanager.viewer)

Allows viewing metadata of all Secret Manager resources

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.locations.*

  • secretmanager.locations.get
  • secretmanager.locations.list

secretmanager.secrets.get

secretmanager.secrets.getIamPolicy

secretmanager.secrets.list

secretmanager.secrets.listEffectiveTags

secretmanager.secrets.listTagBindings

secretmanager.versions.get

secretmanager.versions.list

Prinsip hak istimewa terendah

Bila Anda mengikuti prinsip hak istimewa terendah, Anda memberikan tingkat akses ke sumber daya yang diperlukan untuk melakukan tugas tertentu. Misalnya, jika akun utama membutuhkan akses ke satu rahasia, jangan berikan akses utama tersebut ke rahasia lain atau semua rahasia dalam proyek atau organisasi. Jika hanya akun utama perlu membaca secret, jangan berikan akun utama itu kemampuan untuk mengubah rahasia.

Anda dapat menggunakan IAM untuk memberikan IAM peran dan izin di level secret Google Cloud, project, folder, atau organisasi. Selalu terapkan izin pada tingkat terendah di hierarki resource Anda.

Tabel berikut menunjukkan kemampuan efektif akun layanan, berdasarkan tingkat hierarki resource tempat peran Secret Accessor Secret Manager (roles/secretmanager.secretAccessor) diberikan.

Hierarki resource Kemampuan
Rahasia Hanya akses secret tersebut
Project Mengakses semua secret dalam project
Folder Mengakses semua secret di semua project dalam folder
Organisasi Mengakses semua secret di semua project di organisasi

Peran roles/owner mencakup izin `secretmanager.versions.access`, tetapi roles/editor dan roles/viewer tidak.

Jika akun utama hanya perlu mengakses nilai secret tunggal, jangan memberikan izin utamakan kemampuan untuk mengakses semua secret. Misalnya, Anda dapat memberikan peran Secret Manager Secret Accessor (roles/secretmanager.secretAccessor) kepada akun layanan pada satu secret.

Jika akun utama hanya perlu mengelola satu rahasia, jangan berikan akun utama tersebut kemampuan untuk mengelola semua rahasia. Misalnya, Anda dapat memberikan peran Admin Secret Manager (roles/secretmanager.admin) kepada akun layanan pada satu secret.

IAM Conditions

IAM Conditions memungkinkan Anda menentukan dan menerapkan kontrol akses berbasis atribut bersyarat untuk beberapa resource Google Cloud, termasuk resource Secret Manager.

Di Secret Manager, Anda dapat menerapkan akses kondisional berdasarkan atribut berikut:

  • Atribut tanggal/waktu: Gunakan untuk menetapkan akses yang dapat habis masa berlakunya, dijadwalkan, atau berdurasi terbatas ke resource Secret Manager. Misalnya, Anda dapat mengizinkan pengguna mengakses secret hingga tanggal tertentu.
  • Atribut resource: Gunakan untuk mengonfigurasi akses bersyarat berdasarkan nama resource, jenis resource, atau atribut layanan resource. Di Secret Manager, Anda dapat menggunakan atribut secret dan versi secret untuk mengonfigurasi akses bersyarat. Sebagai Anda dapat mengizinkan pengguna mengelola versi secret hanya pada secret yang memulai dengan awalan tertentu, atau mengizinkan pengguna untuk mengakses secret tertentu saja .

Untuk mengetahui informasi selengkapnya tentang IAM Conditions, lihat Ringkasan kondisi.

Langkah selanjutnya