Dokumen ini menjelaskan cara menggunakan kebijakan penolakan IAM dan batasan kebijakan organisasi untuk mengontrol cara penggunaan Autokey dalam organisasi atau folder. Kedua perlindungan ini hanya dapat diubah dengan peran tingkat organisasi, sehingga tidak dapat diganti oleh akun utama dengan peran Pemilik atau Admin di tingkat folder atau project.
Kasus penggunaan berikut didukung:
- Mewajibkan kunci dibuat oleh Autokey. Anda dapat memblokir akun utama agar tidak membuat kunci secara manual, sehingga memastikan bahwa semua kunci dibuat oleh Autokey. Di resource tempat Autokey tidak diaktifkan, Anda tidak akan dapat membuat kunci sama sekali.
- Membatasi Autokey agar hanya mengizinkan penyimpanan kunci project khusus atau hanya penyimpanan kunci project yang sama.
- Memblokir Autokey sepenuhnya. Tindakan ini memastikan bahwa semua kunci dibuat secara manual.
IAM versus kebijakan organisasi
Kebijakan IAM dan kebijakan organisasi memungkinkan Anda menetapkan perlindungan untuk mengontrol cara penggunaan Autokey Cloud KMS di organisasi Anda.
IAM mengontrol siapa yang diizinkan untuk melakukan tindakan apa pada resource mana. Anda dapat menggunakan IAM untuk membatasi akun utama mana yang dapat mengaktifkan dan menggunakan Autokey di organisasi Anda.
Kebijakan organisasi mengontrol resource apa yang dapat dibuat dan bagaimana resource tersebut dapat dikonfigurasi. Anda dapat menggunakan kebijakan organisasi kustom untuk membatasi tempat dan cara Autokey dapat diaktifkan.
Anda dapat menggunakan IAM dan kebijakan organisasi bersama-sama untuk membuat sistem perlindungan yang kuat guna mengontrol siapa yang dapat mengaktifkan dan menggunakan Autokey serta tempat dan cara mereka dapat melakukannya.
Sebelum memulai
Untuk mendapatkan izin yang diperlukan untuk mengontrol penggunaan Autokey, minta administrator untuk memberi Anda peran IAM berikut pada organisasi:
-
Menetapkan kebijakan organisasi:
Administrator Kebijakan Organisasi (
roles/orgpolicy.policyAdmin) -
Menetapkan kebijakan penolakan IAM:
Admin Penolakan (
roles/iam.denyAdmin)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Menggunakan kebijakan penolakan IAM untuk mengontrol Autokey
Kebijakan penolakan IAM memberikan kontrol top-down atas akun utama mana yang dapat melakukan tindakan mana. Kebijakan penolakan yang ditetapkan pada resource tidak dapat diganti oleh pemberian peran IAM atau kebijakan penolakan yang ditetapkan pada resource turunan. Akun utama tidak dapat menyelesaikan tindakan yang memerlukan izin yang ditolak, meskipun izin tersebut disertakan dalam peran yang mereka miliki.
Untuk mempelajari cara membuat kebijakan penolakan IAM, lihat Menolak akses ke resource.
Tabel berikut menunjukkan beberapa contoh kasus penggunaan untuk kebijakan penolakan IAM, termasuk izin yang dapat Anda tolak untuk mengontrol Autokey di organisasi Anda dan efek dari penolakan setiap izin.
Menggunakan batasan kebijakan organisasi kustom untuk mengontrol Autokey
Batasan kebijakan organisasi kustom memberikan kontrol bottom-up atas tempat dan cara Autokey dapat dikonfigurasi. Batasan dapat diganti oleh batasan yang diterapkan pada resource turunan. Namun, mengubah batasan memerlukan izin tingkat organisasi, sehingga akun utama dengan izin tingkat folder atau level project tidak dapat mengganti batasan. Saat batasan diterapkan, akun utama tidak dapat menyelesaikan tindakan yang dilarang, meskipun mereka memiliki izin yang diperlukan untuk melakukannya.
Untuk mempelajari cara menerapkan batasan kustom di organisasi Anda, lihat Membuat batasan kebijakan organisasi kustom untuk Cloud KMS.
Anda dapat menggabungkan batasan kebijakan organisasi kustom yang dijelaskan di sini dengan kebijakan organisasi CMEK lainnya.
Membatasi mode Autokey
Anda dapat membatasi fungsi Autokey dengan memblokir pembuatan resource AutokeyConfig secara kondisional. Definisi batasan contoh berikut melarang pembuatan atau pembaruan resource AutokeyConfig berdasarkan keyProjectResolutionMode.
name: organizations/ORGANIZATION_ID/customConstraints/custom.restrictAutokeyKeyStorage
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: "resource.keyProjectResolutionMode == 'KEY_PROJECT_RESOLUTION_MODE')"
actionType: DENY
displayName: Restrict Autokey key storage mode
description: >
Prevent creation or update of AutokeyConfig resources with
`KEY_PROJECT_RESOLUTION_MODE` key resolution mode.
Ganti KEY_PROJECT_RESOLUTION_MODE dengan keyProjectResolutionMode yang ingin Anda blokir—misalnya, untuk mencegah siapa pun di organisasi Anda menggunakan penyimpanan kunci project yang sama di project mereka, tetapkan nilai ini ke RESOURCE_PROJECT.
Melarang pembuatan konfigurasi Autokey di folder
Anda dapat menggunakan kebijakan organisasi kustom untuk memblokir Autokey agar tidak diaktifkan dalam folder dengan memblokir pembuatan semua resource AutokeyConfig.
Definisi batasan contoh berikut melarang pembuatan resource AutokeyConfig dalam folder bernama. Saat batasan ini diterapkan, konfigurasi yang ada masih dapat diubah.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noNewAutokeyConfigFolder
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
condition: "resource.name == 'folders/FOLDER_ID/autokeyConfig'"
actionType: DENY
displayName: Prohibit Autokey within FOLDER_ID
description: >
Prevent creation of new AutokeyConfig resources within
folders/FOLDER_ID.
Ganti kode berikut:
ORGANIZATION_ID: ID organisasi Anda.FOLDER_IDdengan ID folder tempat Anda ingin memblokir Autokey.
Melarang pembuatan konfigurasi Autokey dalam organisasi
Anda dapat menggunakan kebijakan organisasi kustom untuk memblokir Autokey agar tidak diaktifkan di seluruh organisasi Anda dengan memblokir pembuatan semua resource AutokeyConfig.
Definisi batasan contoh berikut melarang pembuatan resource AutokeyConfig di seluruh organisasi Anda. Saat batasan ini diterapkan, konfigurasi yang ada masih dapat diubah.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noNewAutokeyConfigOrg
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
condition: "resource.name.endsWith('/autokeyConfig')"
actionType: DENY
displayName: Prohibit Autokey within ORGANIZATION_ID
description: >
Prevent creation of new AutokeyConfig resources within organization
ORGANIZATION_ID.
Ganti ORGANIZATION_ID dengan ID organisasi Anda.
Melarang perubahan konfigurasi Autokey di folder
Anda dapat menggunakan kebijakan organisasi kustom untuk memblokir perubahan konfigurasi Autokey dalam folder dengan memblokir pembuatan atau pembaruan semua resource AutokeyConfig.
Definisi batasan contoh berikut melarang pembuatan atau pembaruan resource AutokeyConfig dalam folder bernama.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noChangeAutokeyConfigFolder
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: "resource.name == 'folders/FOLDER_ID/autokeyConfig'"
actionType: DENY
displayName: Prohibit Autokey within FOLDER_ID
description: >
Prevent creation or update of AutokeyConfig resources within
folders/FOLDER_ID.
Ganti kode berikut:
ORGANIZATION_ID: ID organisasi Anda.FOLDER_IDdengan ID folder tempat Anda ingin memblokir Autokey.
Melarang perubahan konfigurasi Autokey dalam organisasi
Anda dapat menggunakan kebijakan organisasi kustom untuk memblokir perubahan konfigurasi Autokey di mana pun di organisasi Anda dengan memblokir pembuatan atau pembaruan semua resource AutokeyConfig.
Definisi batasan contoh berikut melarang pembuatan atau pembaruan resource AutokeyConfig di seluruh organisasi Anda.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noChangeAutokeyConfigOrg
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: condition: "resource.name.endsWith('/autokeyConfig')"
actionType: DENY
displayName: Prohibit Autokey within ORGANIZATION_ID
description: >
Prevent creation or update of AutokeyConfig resources within
ORGANIZATION_ID.
Ganti ORGANIZATION_ID dengan ID organisasi Anda.
Hanya mengizinkan konfigurasi Autokey DISABLED
Definisi batasan contoh berikut melarang siapa pun membuat atau memperbarui resource AutokeyConfig dalam seluruh organisasi, kecuali jika keyProjectResolutionMode ditetapkan secara eksplisit ke DISABLED.
name: organizations/ORGANIZATION_ID/customConstraints/custom.onlyDisabledAutokeyConfig
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: "resource.keyProjectResolutionMode=='DISABLED'"
actionType: ALLOW
displayName: Prohibit Autokey within the organization
description: >
Prevent creation or update of `AutokeyConfig` resources within
organization ORGANIZATION_ID unless the `keyProjectResolutionMode`
is `DISABLED`.
Melarang konfigurasi Autokey tingkat project
Definisi batasan contoh berikut melarang siapa pun membuat atau memperbarui resource AutokeyConfig di project, tanpa memblokir konfigurasi tingkat folder. Saat batasan ini diterapkan, resource AutokeyConfig level project yang ada sebelumnya tetap berlaku, tetapi semua project lainnya harus terus mewarisi AutokeyConfig dari folder induknya.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noAutokeyConfigProject
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: "resource.name.startsWith('projects/')"
actionType: DENY
displayName: Block project-level Autokey within the organization
description: >
Prevent creation or update of `AutokeyConfig` resources on projects within
organization ORGANIZATION_ID. Existing project-level AutokeyConfig
resources remain in effect, but all other projects must inherit the
AutokeyConfig from their parent folder.
Contoh kasus penggunaan
Bagian berikut memberikan contoh yang menggabungkan kebijakan penolakan IAM, kebijakan organisasi kustom, dan kebijakan organisasi standar.
Mewajibkan kunci dibuat oleh Autokey
Jika ingin mewajibkan CMEK menggunakan Autokey dalam folder, Anda dapat melakukannya dengan menggabungkan kontrol akses IAM dengan kebijakan organisasi CMEK. Cara kerjanya adalah dengan menghapus izin pembuatan kunci dari akun utama selain agen layanan Cloud KMS, lalu mewajibkan semua resource dilindungi oleh CMEK menggunakan project kunci Autokey.
Untuk menerapkan penggunaan Autokey dalam folder, selesaikan langkah-langkah berikut:
Blokir pembuatan kunci manual di project kunci dengan menerapkan kebijakan penolakan IAM. Dalam kebijakan penolakan, tolak izin
cloudkms.cryptoKeys.createke semua akun utama kecuali Agen Layanan Cloud KMS. Jika folder menggunakan penyimpanan kunci project khusus, terapkan kebijakan penolakan ke project kunci khusus. Jika folder menggunakan penyimpanan kunci project yang sama, terapkan kebijakan penolakan ke project resource.Jika kunci tidak dapat dibuat secara manual, hanya kunci yang dibuat oleh Autokey yang dapat dibuat di project ini.
Wajibkan resource yang baru dibuat dalam folder dilindungi menggunakan CMEK dengan menerapkan batasan
constraints/gcp.restrictNonCmekServices.Untuk mengetahui informasi selengkapnya tentang batasan ini, termasuk daftar layanan yang mendukung batasan tersebut, lihat Mewajibkan perlindungan CMEK.
Wajibkan kunci yang digunakan untuk CMEK berasal dari project kunci khusus atau dari project tempat penyimpanan kunci project yang sama diaktifkan dengan menerapkan batasan
constraints/gcp.restrictCmekCryptoKeyProjects. Untuk mengetahui informasi selengkapnya tentang batasan ini, termasuk daftar layanan yang mendukung batasan tersebut, lihat Membatasi penggunaan kunci Cloud KMS untuk CMEK.
Melarang Autokey sepenuhnya
Jika ingin memblokir penggunaan Autokey sepenuhnya dalam organisasi atau folder, Anda dapat melakukannya menggunakan kebijakan penolakan IAM atau batasan kebijakan organisasi kustom. Untuk jaminan berlapis, Anda dapat menggunakan keduanya secara bersamaan.
Untuk memblokir Autokey sepenuhnya dalam organisasi atau folder, selesaikan langkah-langkah berikut:
Jika Autokey sudah diaktifkan di mana pun di organisasi atau folder, nonaktifkan Autokey terlebih dahulu.
Blokir pengguna agar tidak dapat mengonfigurasi Autokey dengan menerapkan kebijakan penolakan IAM. Dalam kebijakan penolakan, tolak izin
cloudkms.autokeyConfigs.updateke semua akun utama. Jika Autokey dinonaktifkan di mana pun dan tidak ada akun utama yang dapat mengubah resourceAutokeyConfig, Autokey akan tetap sepenuhnya dinonaktifkan.Opsional: Langkah-langkah di atas sudah cukup untuk mencegah siapa pun mengaktifkan Autokey. Namun, jika menginginkan lapisan jaminan lain, Anda juga dapat menerapkan batasan kebijakan organisasi kustom untuk hanya mengizinkan
AutokeyConfigresource tempat Autokey dinonaktifkan.
Jika Anda menerapkan kebijakan penolakan IAM dan batasan kebijakan organisasi kustom yang dijelaskan di sini, tidak ada akun utama yang dapat mengaktifkan Autokey di resource tanpa terlebih dahulu membatalkan atau memperbarui kedua perlindungan ini.
Langkah berikutnya
- Pelajari lebih lanjut tentang kebijakan organisasi CMEK.
- Pelajari lebih lanjut tentang kebijakan penolakan IAM.
- Pelajari layanan Organization Policy Service lebih lanjut.
- Pelajari batasan kebijakan organisasi kustom lebih lanjut .