Sécurité des clés de Registre et droits d’accès
Le modèle de sécurité Windows vous permet de contrôler l’accès aux clés de Registre. Pour plus d’informations sur la sécurité, consultez Access-Control Modèle.
Vous pouvez spécifier un descripteur de sécurité pour une clé de Registre lorsque vous appelez la fonctionRegCreateKeyExou fonction RegSetKeySecurity. Si vous spécifiez NULL, la clé obtient un descripteur de sécurité par défaut. Les listes de contrôle d’accès dans un descripteur de sécurité par défaut pour une clé sont héritées de sa clé parente directe.
Pour obtenir le descripteur de sécurité d’une clé de Registre, appelez laRegGetKeySecurity, GetNamedSecurityInfoou fonction GetSecurityInfo.
Les droits d’accès valides pour les clés de Registre incluent delete, READ_CONTROL, WRITE_DAC et WRITE_OWNER droits d’accès standard. Les clés de Registre ne prennent pas en charge le droit d’accès standard SYNCHRONIZE.
Le tableau suivant répertorie les droits d’accès spécifiques pour les objets de clé de Registre.
Valeur | Signification |
---|---|
KEY_ALL_ACCESS (0xF003F) |
Combine les droits d’accès STANDARD_RIGHTS_REQUIRED, KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY et KEY_CREATE_LINK. |
KEY_CREATE_LINK (0x0020) |
Réservé à l’utilisation du système. |
KEY_CREATE_SUB_KEY (0x0004) |
Requis pour créer une sous-clé d’une clé de Registre. |
KEY_ENUMERATE_SUB_KEYS (0x0008) |
Requis pour énumérer les sous-clés d’une clé de Registre. |
KEY_EXECUTE (0x20019) |
Équivalent à KEY_READ. |
KEY_NOTIFY (0x0010) |
Requis pour demander des notifications de modification pour une clé de Registre ou pour les sous-clés d’une clé de Registre. |
KEY_QUERY_VALUE (0x0001) |
Requis pour interroger les valeurs d’une clé de Registre. |
KEY_READ (0x20019) |
Combine les valeurs STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS et KEY_NOTIFY. |
KEY_SET_VALUE (0x0002) |
Obligatoire pour créer, supprimer ou définir une valeur de Registre. |
KEY_WOW64_32KEY (0x0200) |
Indique qu’une application sur Windows 64 bits doit fonctionner sur la vue de Registre 32 bits. Cet indicateur est ignoré par Windows 32 bits. Pour plus d’informations, consultez Accès à une autre vue de Registre. Cet indicateur doit être combiné à l’aide de l’opérateur OR avec les autres indicateurs de cette table qui interrogent ou accèdent aux valeurs de Registre. Windows 2000 : Cet indicateur n’est pas pris en charge. |
KEY_WOW64_64KEY (0x0100) |
Indique qu’une application sur Windows 64 bits doit fonctionner sur la vue de Registre 64 bits. Cet indicateur est ignoré par Windows 32 bits. Pour plus d’informations, consultez Accès à une autre vue de Registre. Cet indicateur doit être combiné à l’aide de l’opérateur OR avec les autres indicateurs de cette table qui interrogent ou accèdent aux valeurs de Registre. Windows 2000 : Cet indicateur n’est pas pris en charge. |
KEY_WRITE (0x20006) |
Combine les droits d’accès STANDARD_RIGHTS_WRITE, KEY_SET_VALUE et KEY_CREATE_SUB_KEY. |
Lorsque vous appelez la fonction RegOpenKeyEx, le système vérifie les droits d’accès demandés sur le descripteur de sécurité de la clé. Si l’utilisateur n’a pas l’accès correct à la clé de Registre, l’opération d’ouverture échoue. Si un administrateur a besoin d’accéder à la clé, la solution consiste à activer le privilège SE_TAKE_OWNERSHIP_NAME et à ouvrir la clé de Registre avec WRITE_OWNER accès. Pour plus d’informations, consultez Activation et désactivation des privilèges.
Vous pouvez demander le droit d’accès ACCESS_SYSTEM_SECURITY à une clé de Registre si vous souhaitez lire ou écrire la liste de contrôle d’accès système (SACL) de la clé. Pour plus d’informations, consultez Access-Control listes de contrôle d’accès (ACL) et accès SACL Right.
Pour afficher les droits d’accès actuels pour une clé, y compris les clés prédéfinies, utilisez l’Éditeur de Registre (Regedt32.exe). Après avoir navigué vers la clé souhaitée, accédez au menu Modifier, puis sélectionnez Autorisations.