Keamanan Kunci Registri dan Hak Akses

Model keamanan Windows memungkinkan Anda mengontrol akses ke kunci registri. Untuk informasi selengkapnya tentang keamanan, lihat Model Kontrol Akses.

Anda dapat menentukan deskriptor keamanan untuk kunci registri saat memanggil fungsi RegCreateKeyEx atau RegSetKeySecurity . Jika Anda menentukan NULL, kunci akan mendapatkan pendeskripsi keamanan default. ACL dalam deskriptor keamanan default untuk kunci diwarisi dari kunci induk langsungnya.

Untuk mendapatkan pendeskripsi keamanan kunci registri, panggil fungsi RegGetKeySecurity, GetNamedSecurityInfo, atau GetSecurityInfo .

Hak akses yang valid untuk kunci registri mencakup hak akses standar DELETE, READ_CONTROL, WRITE_DAC, dan WRITE_OWNER. Kunci registri tidak mendukung hak akses standar SYNCHRONIZE.

Tabel berikut mencantumkan hak akses khusus untuk objek kunci registri.

Nilai Makna
KEY_ALL_ACCESS (0xF003F)
Menggabungkan hak akses STANDARD_RIGHTS_REQUIRED, KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, dan KEY_CREATE_LINK.
KEY_CREATE_LINK (0x0020)
Dicadangkan untuk penggunaan sistem.
KEY_CREATE_SUB_KEY (0x0004)
Diperlukan untuk membuat subkunci kunci registri.
KEY_ENUMERATE_SUB_KEYS (0x0008)
Diperlukan untuk menghitung subkunci kunci registri.
KEY_EXECUTE (0x20019)
Setara dengan KEY_READ.
KEY_NOTIFY (0x0010)
Diperlukan untuk meminta pemberitahuan perubahan untuk kunci registri atau untuk subkuntang kunci registri.
KEY_QUERY_VALUE (0x0001)
Diperlukan untuk mengkueri nilai kunci registri.
KEY_READ (0x20019)
Menggabungkan nilai STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, dan KEY_NOTIFY.
KEY_SET_VALUE (0x0002)
Diperlukan untuk membuat, menghapus, atau mengatur nilai registri.
KEY_WOW64_32KEY (0x0200)
Menunjukkan bahwa aplikasi pada Windows 64-bit harus beroperasi pada tampilan registri 32-bit. Bendera ini diabaikan oleh Windows 32-bit. Untuk informasi selengkapnya, lihat Mengakses Tampilan Registri Alternatif.
Bendera ini harus digabungkan menggunakan operator OR dengan bendera lain dalam tabel ini yang mengkueri atau mengakses nilai registri.
Windows 2000: Bendera ini tidak didukung.
KEY_WOW64_64KEY (0x0100)
Menunjukkan bahwa aplikasi pada Windows 64-bit harus beroperasi pada tampilan registri 64-bit. Bendera ini diabaikan oleh Windows 32-bit. Untuk informasi selengkapnya, lihat Mengakses Tampilan Registri Alternatif.
Bendera ini harus digabungkan menggunakan operator OR dengan bendera lain dalam tabel ini yang mengkueri atau mengakses nilai registri.
Windows 2000: Bendera ini tidak didukung.
KEY_WRITE (0x20006)
Menggabungkan hak akses STANDARD_RIGHTS_WRITE, KEY_SET_VALUE, dan KEY_CREATE_SUB_KEY.

Ketika Anda memanggil fungsi RegOpenKeyEx , sistem memeriksa hak akses yang diminta terhadap pendeskripsi keamanan kunci. Jika pengguna tidak memiliki akses yang benar ke kunci registri, operasi terbuka gagal. Jika administrator memerlukan akses ke kunci, solusinya adalah mengaktifkan hak istimewa SE_TAKE_OWNERSHIP_NAME dan membuka kunci registri dengan akses WRITE_OWNER. Untuk informasi selengkapnya, lihat Mengaktifkan dan Menonaktifkan Hak Istimewa.

Anda dapat meminta hak akses ACCESS_SYSTEM_SECURITY ke kunci registri jika Anda ingin membaca atau menulis daftar kontrol akses sistem (SACL) kunci. Untuk informasi selengkapnya, lihat Daftar Kontrol Akses (ACL) dan Hak Akses SACL.

Untuk melihat hak akses saat ini untuk kunci, termasuk kunci yang telah ditentukan sebelumnya, gunakan Editor Registri (Regedt32.exe). Setelah menavigasi ke kunci yang diinginkan, buka menu Edit dan pilih Izin.