Google Cloud menawarkan dua batasan kebijakan organisasi untuk menetapkan kebijakan pemusnahan versi kunci di seluruh organisasi:
constraints/cloudkms.minimumDestroyScheduledDuration
digunakan untuk menetapkan panjang minimum durasi dijadwalkan untuk dimusnahkan untuk kunci baru dalam organisasi.constraints/cloudkms.disableBeforeDestroy
digunakan untuk mewajibkan agar versi kunci dinonaktifkan sebelum dijadwalkan untuk dihancurkan.
Sebelum memulai
Petunjuk di halaman ini mengasumsikan bahwa Anda sudah memahami penggunaan batasan dan bahwa Anda memiliki resource dan peran yang diperlukan.
Resource yang diperlukan
Sebelum dapat menyelesaikan langkah-langkah di halaman ini, Anda harus memiliki resource berikut:
- Organisasi.
- Opsional: Resource folder atau project dalam organisasi Anda.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengelola kebijakan organisasi, minta administrator Anda untuk memberi Anda peran IAM Administrator kebijakan organisasi (roles/orgpolicy.policyAdmin
) di organisasi.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk mengelola kebijakan organisasi. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengelola kebijakan organisasi:
-
orgpolicy.constraints.list
-
orgpolicy.policies.create
-
orgpolicy.policies.delete
-
orgpolicy.policies.list
-
orgpolicy.policies.update
-
orgpolicy.policy.get
-
orgpolicy.policy.set
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Memerlukan durasi dijadwalkan untuk penghancuran minimum
Batasan Durasi minimum dijadwalkan untuk dimusnahkan per kunci (constraints/cloudkms.minimumDestroyScheduledDuration
) digunakan untuk menetapkan panjang minimum durasi dijadwalkan untuk dimusnahkan untuk kunci baru. Batasan
ini menggantikan durasi dijadwalkan untuk penghancuran minimum di tingkat
project, folder, atau organisasi. Batasan ini mengurangi kemungkinan
menghancurkan kunci secara tidak sengaja yang masih diperlukan. Anda dapat menetapkan batasan ini ke nilai yang lebih tinggi untuk membantu memastikan Anda memiliki waktu untuk mencegah penghancuran kunci sebelum menjadi tidak dapat diubah.
Gunakan nilai yang lebih tinggi untuk batasan ini jika penghancuran kunci yang tidak diinginkan akan lebih merugikan, seperti untuk data produksi yang tunduk pada persyaratan retensi data. Gunakan nilai yang lebih rendah untuk batasan ini jika penghancuran kunci yang tidak diinginkan tidak terlalu merugikan, seperti untuk lingkungan pengembangan atau pengujian. Anda juga dapat menggunakan nilai yang lebih rendah untuk memungkinkan penghancuran kripto tepat waktu. Namun, sebagai nilai minimum, batasan ini tidak dapat memastikan bahwa kunci baru dibuat dengan durasi dijadwalkan untuk penghancuran yang rendah.
Untuk mewajibkan durasi dijadwalkan untuk penghancuran minimum, ikuti langkah-langkah berikut:
Dapatkan kebijakan yang berlaku pada resource organisasi menggunakan perintah
describe
Perintah ini menampilkan kebijakan yang langsung diterapkan ke dalam resource ini:gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration \ --organization=ORGANIZATION_ID
Ganti
ORGANIZATION_ID
dengan ID unik untuk resource organisasi. ID Organisasi diformat sebagai angka desimal, dan tidak boleh memiliki angka nol di depannya.Anda juga dapat melihat kebijakan organisasi untuk folder atau project dengan flag
--folder
atau--project
, serta ID folder atau ID project.Respons menampilkan kebijakan organisasi saat ini, jika ada. Outputnya mirip dengan hal berikut ini:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: etag: COTP+KYGELiCmsoB inheritFromParent: true rules: - values: allowedValues: - in:7d updateTime: '2023-08-17T14:00:04.424051Z'
Jika kebijakan tidak disetel, perintah
describe
akan menampilkan errorNOT_FOUND
:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
Tetapkan kebijakan di organisasi menggunakan perintah
set-policy
. Perintah ini akan menimpa kebijakan apa pun yang berlaku, ditambahkan ke resource.Membuat file sementara
/tmp/policy.yaml
untuk menyimpan kebijakan:name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - in:MINIMUM_DURATION
Ganti kode berikut:
ORGANIZATION_ID
: ID numerik organisasi Anda.MINIMUM_DURATION
: durasi minimum untuk status dijadwalkan untuk dimusnahkan untuk kunci di organisasi ini, dalam hari. Harus berupa salah satu nilai berikut:7d
,15d
,30d
,60d
,90d
, atau120d
.
Jalankan perintah
set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Lihat kebijakan yang berlaku saat ini menggunakan
describe --effective
. Perintah ini menampilkan kebijakan organisasi seperti yang dievaluasi pada tahap ini dalam hierarki resource, dengan pewarisan yang telah disertakan.gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration --effective \ --organization=ORGANIZATION_ID
Outputnya mirip dengan hal berikut ini:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - 30d - 15d - 90d - 60d - 7d - 120d
Karena kebijakan organisasi ini ditetapkan di tingkat organisasi, kebijakan ini diwarisi oleh semua resource turunan yang mengizinkan pewarisan.
Mewajibkan kunci dinonaktifkan sebelum dihancurkan
Batasan Batasi penghancuran kunci ke kunci yang dinonaktifkan
(constraints/cloudkms.disableBeforeDestroy
) memungkinkan Anda mewajibkan
kunci dinonaktifkan sebelum Anda dapat menjadwalkan penghancuran kunci.
Menonaktifkan kunci sebelum menghancurkannya adalah praktik terbaik yang direkomendasikan karena
membantu Anda memvalidasi bahwa kunci tersebut tidak sedang digunakan. Anda dapat menggabungkan batasan ini dengan kebijakan Pengelolaan Akses dan Identitas yang cermat untuk membuat proses penghancuran multi-langkah yang memerlukan kerja sama dari beberapa peran.
Untuk menggunakan batasan ini guna membuat proses penghancuran multi-langkah, pastikan tidak ada pengguna yang memiliki izin cloudkms.cryptoKeyVersions.update
dan cloudkms.cryptoKeyVersions.destroy
. Kasus penggunaan ini mengharuskan Anda menggunakan peran kustom.
Untuk mewajibkan kunci dalam status dinonaktifkan sebelum Anda dapat menjadwalkan penghancuran kunci, ikuti langkah-langkah berikut:
gcloud
Dapatkan kebijakan yang berlaku pada resource organisasi menggunakan perintah
describe
Perintah ini menampilkan kebijakan yang langsung diterapkan ke dalam resource ini:gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy \ --organization=ORGANIZATION_ID
Ganti
ORGANIZATION_ID
dengan ID unik untuk resource organisasi. ID Organisasi diformat sebagai angka desimal, dan tidak boleh memiliki angka nol di depannya.Anda juga dapat melihat kebijakan organisasi untuk folder atau project dengan flag
--folder
atau--project
, serta ID folder atau ID project.Respons menampilkan kebijakan organisasi saat ini, jika ada. Outputnya mirip dengan hal berikut:
name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: etag: CPvY+KYGENDwgxA= rules: - enforce: true updateTime: '2023-08-17T14:19:39.033618Z'
Jika kebijakan tidak disetel, perintah
describe
akan menampilkan errorNOT_FOUND
:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
Tetapkan kebijakan di organisasi menggunakan perintah
set-policy
. Perintah ini akan menimpa kebijakan apa pun yang sudah dilampirkan ke resource.Membuat file sementara
/tmp/policy.yaml
untuk menyimpan kebijakan:name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: rules: - enforce: true
Ganti
ORGANIZATION_ID
dengan ID unik untuk resource organisasi.Jalankan perintah
set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Lihat kebijakan yang berlaku saat ini menggunakan
describe --effective
. Perintah ini menampilkan kebijakan organisasi seperti yang dievaluasi pada tahap ini dalam hierarki resource, dengan pewarisan yang telah disertakan.gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy --effective \ --organization=ORGANIZATION_ID
Outputnya mirip dengan hal berikut ini:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - enforce: true
Karena kebijakan organisasi ini ditetapkan di tingkat organisasi, kebijakan ini diwarisi oleh semua resource turunan yang mengizinkan pewarisan.
Langkah berikutnya
- Pelajari lebih lanjut status versi kunci.
- Menghancurkan dan memulihkan versi kunci.