Derechos de acceso y seguridad de clave del Registro

El modelo de seguridad de Windows permite controlar el acceso a las claves del Registro. Para obtener más información sobre la seguridad, consulte Modelo de control de acceso.

Puede especificar un descriptor de seguridad para una clave del Registro al llamar a la función RegCreateKeyEx o RegSetKeySecurity . Si especifica NULL, la clave obtiene un descriptor de seguridad predeterminado. Las ACL de un descriptor de seguridad predeterminado para una clave se heredan de su clave primaria directa.

Para obtener el descriptor de seguridad de una clave del Registro, llame a la función RegGetKeySecurity, GetNamedSecurityInfo o GetSecurityInfo .

Los derechos de acceso válidos para las claves del Registro incluyen delete, READ_CONTROL, WRITE_DAC y WRITE_OWNER derechos de acceso estándar. Las claves del Registro no admiten el derecho de acceso estándar SYNCHRONIZE.

En la tabla siguiente se enumeran los derechos de acceso específicos para los objetos de clave del Registro.

Valor Significado
KEY_ALL_ACCESS (0xF003F)
Combina los derechos de acceso STANDARD_RIGHTS_REQUIRED, KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY y KEY_CREATE_LINK.
KEY_CREATE_LINK (0x0020)
Reservado para uso del sistema.
KEY_CREATE_SUB_KEY (0x0004)
Necesario para crear una subclave de una clave del Registro.
KEY_ENUMERATE_SUB_KEYS (0x0008)
Necesario para enumerar las subclaves de una clave del Registro.
KEY_EXECUTE (0x20019)
Equivalente a KEY_READ.
KEY_NOTIFY (0x0010)
Se requiere para solicitar notificaciones de cambio para una clave del Registro o para subclaves de una clave del Registro.
KEY_QUERY_VALUE (0x0001)
Necesario para consultar los valores de una clave del Registro.
KEY_READ (0x20019)
Combina los valores de STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS y KEY_NOTIFY.
KEY_SET_VALUE (0x0002)
Necesario para crear, eliminar o establecer un valor del Registro.
KEY_WOW64_32KEY (0x0200)
Indica que una aplicación en Windows de 64 bits debe funcionar en la vista del Registro de 32 bits. Windows de 32 bits omite esta marca. Para obtener más información, consulte Acceso a una vista del Registro alternativa.
Esta marca debe combinarse con el operador OR con las demás marcas de esta tabla que consultan o acceden a los valores del Registro.
Windows 2000: Esta marca no se admite.
KEY_WOW64_64KEY (0x0100)
Indica que una aplicación en Windows de 64 bits debe funcionar en la vista del Registro de 64 bits. Windows de 32 bits omite esta marca. Para obtener más información, consulte Acceso a una vista del Registro alternativa.
Esta marca debe combinarse con el operador OR con las demás marcas de esta tabla que consultan o acceden a los valores del Registro.
Windows 2000: Esta marca no se admite.
KEY_WRITE (0x20006)
Combina los derechos de acceso STANDARD_RIGHTS_WRITE, KEY_SET_VALUE y KEY_CREATE_SUB_KEY.

Al llamar a la función RegOpenKeyEx , el sistema comprueba los derechos de acceso solicitados en el descriptor de seguridad de la clave. Si el usuario no tiene el acceso correcto a la clave del Registro, se produce un error en la operación de apertura. Si un administrador necesita acceso a la clave, la solución consiste en habilitar el privilegio SE_TAKE_OWNERSHIP_NAME y abrir la clave del Registro con WRITE_OWNER acceso. Para obtener más información, consulte Habilitación y deshabilitación de privilegios.

Puede solicitar el derecho de acceso ACCESS_SYSTEM_SECURITY a una clave del Registro si desea leer o escribir la lista de control de acceso del sistema (SACL) de la clave. Para obtener más información, consulte Access-Control Lists (ACL) y SACL Access Right.

Para ver los derechos de acceso actuales de una clave, incluidas las claves predefinidas, use el Editor del Registro (Regedt32.exe). Después de ir a la clave deseada, vaya al menú Editar y seleccione Permisos.