Google Cloud menawarkan dua batasan kebijakan organisasi untuk menetapkan kebijakan penghancuran versi kunci di seluruh organisasi:
constraints/cloudkms.minimumDestroyScheduledDuration
digunakan untuk menetapkan durasi minimum durasi dijadwalkan untuk pemusnahan untuk kunci baru dalam organisasi.constraints/cloudkms.disableBeforeDestroy
digunakan untuk mewajibkan versi kunci telah dinonaktifkan sebelum dapat dijadwalkan untuk dihancurkan.
Sebelum memulai
Petunjuk di halaman ini mengasumsikan bahwa Anda sudah memahami penggunaan batasan dan memiliki resource dan peran yang diperlukan.
Resource yang diperlukan
Sebelum dapat menyelesaikan langkah-langkah di halaman ini, Anda harus memiliki referensi berikut:
- Organisasi.
- Opsional: Folder atau resource project dalam organisasi Anda.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengelola kebijakan organisasi, minta administrator untuk memberi Anda peran IAM Administrator kebijakan organisasi (roles/orgpolicy.policyAdmin
) di organisasi.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk mengelola kebijakan organisasi. Untuk melihat izin yang benar-benar diperlukan, perluas 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 mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
Mewajibkan durasi minimum yang dijadwalkan untuk pemusnahan
Batasan Minimum eightization schedule per key
(constraints/cloudkms.minimumDestroyScheduledDurations
) digunakan untuk menetapkan
panjang minimum durasi yang dijadwalkan untuk pemusnahan untuk kunci baru. Batasan ini menggantikan durasi minimum dijadwalkan untuk pemusnahan di tingkat project, folder, atau organisasi. Batasan ini mengurangi kemungkinan
tidak sengaja menghancurkan kunci yang masih diperlukan. Anda dapat menetapkan batasan ini
ke nilai yang lebih tinggi untuk membantu memastikan bahwa Anda memiliki waktu untuk mencegah penghancuran kunci
sebelum batasan tersebut tidak dapat dibatalkan.
Gunakan nilai yang lebih tinggi untuk batasan ini saat penghancuran kunci yang tidak diinginkan akan lebih berbahaya, misalnya untuk data produksi yang tunduk pada persyaratan retensi data. Gunakan nilai yang lebih rendah untuk batasan ini saat penghancuran kunci yang tidak diinginkan akan mengurangi bahaya, seperti untuk lingkungan pengembangan atau pengujian. Anda juga dapat menggunakan nilai yang lebih rendah untuk mengizinkan penghancuran kripto secara tepat waktu. Namun, sebagai nilai minimum, batasan ini tidak dapat memastikan bahwa kunci baru dibuat dengan durasi dijadwalkan untuk pemusnahan yang rendah.
Untuk mewajibkan durasi minimum yang dijadwalkan untuk pemusnahan, ikuti langkah-langkah berikut:
Dapatkan kebijakan yang berlaku pada resource organisasi menggunakan perintah
describe
Perintah ini menampilkan kebijakan yang langsung diterapkan ke resource ini:gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDurations \ --organization=ORGANIZATION_ID
Ganti
ORGANIZATION_ID
dengan ID unik untuk resource organisasi. ID Organisasi diformat sebagai angka desimal dan tidak boleh berisi angka nol di awal.Anda juga dapat melihat kebijakan organisasi untuk folder atau project dengan tanda
--folder
atau--project
, dan ID folder atau project ID.Responsnya akan 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 pemusnahan untuk kunci di organisasi ini, dalam hari. Harus berupa salah satu dari 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.minimumDestroyScheduledDurations --effective \ --organization=ORGANIZATION_ID
Outputnya mirip dengan hal berikut ini:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDurations spec: rules: - values: allowedValues: - 30d - 15d - 90d - 60d - 7d - 120d
Karena kebijakan organisasi ini ditetapkan pada tingkat organisasi, kebijakan tersebut diwarisi oleh semua resource turunan yang memungkinkan pewarisan.
Wajibkan kunci dinonaktifkan sebelum penghancuran
Batasan Restrict key encryption to disabled keys
(constraints/cloudkms.disableBeforeDestroy
) memungkinkan Anda mewajibkan
kunci telah dinonaktifkan sebelum dapat menjadwalkan pemusnahan kunci.
Sebaiknya nonaktifkan kunci sebelum menghancurkannya karena tindakan ini akan membantu Anda memvalidasi bahwa kunci tersebut tidak sedang digunakan. Anda dapat menggabungkan batasan ini dengan kebijakan Identity and Access Management yang cermat untuk membuat proses pemusnahan multi-langkah yang memerlukan kerja sama dari berbagai 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 khusus.
Untuk mengharuskan kunci dalam status dinonaktifkan sebelum Anda dapat menjadwalkan pemusnahan kunci, ikuti langkah-langkah berikut:
gcloud
Dapatkan kebijakan yang berlaku pada resource organisasi menggunakan perintah
describe
Perintah ini menampilkan kebijakan yang langsung diterapkan ke 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 berisi angka nol di awal.Anda juga dapat melihat kebijakan organisasi untuk folder atau project dengan tanda
--folder
atau--project
, dan ID folder atau project ID.Responsnya akan 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 menimpa kebijakan apa pun yang telah disertakan 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.minimumDestroyScheduledDurations spec: rules: - enforce: true
Karena kebijakan organisasi ini ditetapkan pada tingkat organisasi, kebijakan tersebut diwarisi oleh semua resource turunan yang memungkinkan pewarisan.
Langkah selanjutnya
- Pelajari status versi kunci lebih lanjut.
- Menghancurkan dan memulihkan versi kunci.