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 versi kunci telah dinonaktifkan sebelum dapat 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 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 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.
Mewajibkan durasi dijadwalkan untuk dihancurkan minimum
Batasan Durasi minimum yang dijadwalkan untuk dihancurkan per kunci
(constraints/cloudkms.minimumDestroyScheduledDuration
) digunakan untuk menetapkan
panjang minimum untuk durasi dijadwalkan untuk dihancurkan untuk kunci baru. Batasan ini
akan menggantikan durasi dijadwalkan untuk dihancurkan minimum di
level project, folder, atau organisasi. Batasan ini mengurangi kemungkinan
kunci yang masih diperlukan dihancurkan secara tidak sengaja. Anda dapat menetapkan batasan ini
ke nilai yang lebih tinggi untuk membantu memastikan Anda memiliki waktu untuk mencegah penghancuran kunci
sebelum tidak dapat diubah lagi.
Gunakan nilai yang lebih tinggi untuk batasan ini jika pemusnahan kunci yang tidak diinginkan akan lebih berbahaya, seperti untuk data produksi yang tunduk pada persyaratan retensi data. Gunakan nilai yang lebih rendah untuk batasan ini jika pemusnahan kunci yang tidak diinginkan akan kurang berbahaya, seperti untuk lingkungan pengembangan atau pengujian. Anda juga dapat menggunakan nilai yang lebih rendah untuk memungkinkan crypto-shredding yang tepat waktu. Namun, sebagai nilai minimum, batasan ini tidak dapat memastikan bahwa kunci baru dibuat dengan durasi dijadwalkan untuk dihancurkan yang rendah.
Untuk mewajibkan durasi dijadwalkan untuk dihancurkan 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 awal.Anda juga dapat melihat kebijakan organisasi untuk folder atau project dengan flag
--folder
atau--project
, serta ID folder atau project ID.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 ditetapkan, 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 tersebut diwarisi oleh semua resource turunan yang mengizinkan pewarisan.
Mewajibkan kunci dinonaktifkan sebelum dihancurkan
Batasan Batasi pemusnahan kunci ke kunci yang dinonaktifkan
(constraints/cloudkms.disableBeforeDestroy
) memungkinkan Anda mewajibkan
kunci telah dinonaktifkan sebelum Anda dapat menjadwalkan kunci untuk dihancurkan.
Menonaktifkan kunci sebelum menghancurkannya adalah praktik terbaik yang direkomendasikan karena
membantu Anda memvalidasi bahwa kunci tidak digunakan. Anda dapat menggabungkan
batasan ini dengan kebijakan Pengelolaan Akses dan Identitas yang cermat untuk membuat proses pemusnahan
multi-langkah yang memerlukan kerja sama dari beberapa peran.
Untuk menggunakan batasan ini guna membuat proses pemusnahan 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 kunci untuk dihancurkan, 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 awal.Anda juga dapat melihat kebijakan organisasi untuk folder atau project dengan flag
--folder
atau--project
, serta ID folder atau project ID.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 ditetapkan, 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 tersebut diwarisi oleh semua resource turunan yang mengizinkan pewarisan.
Langkah selanjutnya
- Pelajari status versi kunci lebih lanjut.
- Menghancurkan dan memulihkan versi kunci.