Kontrol akses dengan IAM

Halaman ini menjelaskan peran Identity and Access Management (IAM) yang dapat Anda gunakan untuk 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 Secret Manager. Untuk mempelajari cara memberikan, mengubah, atau mencabut akses ke resource 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

Saat mengikuti prinsip hak istimewa terendah, Anda memberikan tingkat akses minimum ke resource yang diperlukan untuk melakukan tugas tertentu. Misalnya, jika akun utama memerlukan akses ke satu secret, jangan berikan akses kepada akun utama tersebut ke secret lain atau semua secret dalam project atau organisasi. Jika akun utama hanya perlu membaca secret, jangan berikan kemampuan kepada akun utama tersebut untuk mengubah secret.

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

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

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

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

Jika akun utama hanya perlu mengakses nilai satu secret, jangan berikan kemampuan kepada akun utama tersebut 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 secret, jangan berikan akun utama tersebut kemampuan untuk mengelola semua secret. 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 kondisional. Misalnya, Anda dapat mengizinkan pengguna mengelola versi secret hanya pada secret yang diawali dengan awalan tertentu, atau mengizinkan pengguna hanya mengakses versi secret tertentu.

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

Langkah selanjutnya