Kontrol akses dengan IAM

Dokumen ini menjelaskan opsi kontrol akses yang tersedia untuk Anda di Secret Manager.

Menetapkan peran IAM

Secret Manager menggunakan Identity and Access Management (IAM) untuk kontrol akses. Untuk membuat, mengelola, mencantumkan, atau mengakses secret, izin IAM yang sesuai harus diberikan pada level project dan level resource individual. Anda dapat memberikan satu atau beberapa peran bawaan atau membuat dan memberikan peran khusus. Peran IAM tidak dapat diberikan pada versi secret.

Untuk menambahkan peran:

  1. Buka halaman IAM di Konsol Google Cloud.

    Buka IAM

  2. Klik daftar Project selector di bagian atas halaman.

  3. Pada dialog Select from yang muncul, pilih organisasi yang ingin Anda aktifkan Secret Manager-nya.

  4. Pada halaman IAM, di samping nama pengguna, klik Edit.

  5. Di panel Edit izin yang muncul, tambahkan peran yang diperlukan.

    1. Klik Add another role. Pilih peran yang akan ditambahkan, seperti Secret Manager Secret Accessor.

    2. Untuk menambahkan peran lainnya, ulangi langkah sebelumnya. Klik Simpan.

Peran Identity and Access Management (IAM) menentukan cara Anda dapat menggunakan Secret Manager API. Tabel berikut mencantumkan setiap peran IAM yang tersedia untuk Secret Manager dan kemampuan yang diberikan untuk peran tersebut.

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.delete
  • secretmanager.secrets.get
  • secretmanager.secrets.getIamPolicy
  • secretmanager.secrets.list
  • 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.versions.get

secretmanager.versions.list

Prinsip hak istimewa terendah

Jika 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 utama tersebut ke secret lain atau semua secret dalam project atau organisasi tersebut. Jika akun utama hanya perlu membaca secret, jangan beri entity utama tersebut kemampuan untuk mengubah rahasia tersebut.

Anda dapat menggunakan IAM untuk memberikan peran dan izin IAM pada level rahasia, project, folder, atau organisasi Google Cloud. Selalu terapkan izin pada 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

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

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

Kondisi IAM

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

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

  • Atribut tanggal/waktu: Gunakan untuk menetapkan akses berdurasi terbatas, terjadwal, atau berdurasi terbatas ke resource Secret Manager. Misalnya, Anda dapat mengizinkan pengguna mengakses secret hingga tanggal yang ditentukan.
  • Atribut resource: Digunakan 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 dimulai dengan awalan tertentu, atau mengizinkan pengguna mengakses versi secret tertentu saja.

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

Langkah selanjutnya