Compartilhar via


Direitos de Acesso e Segurança de Chave do Registro

O modelo de segurança do Windows permite controlar o acesso às chaves do Registro. Para obter mais informações sobre segurança, consulte Access-Control Model.

Você pode especificar um de descritor de segurança para uma chave do Registro ao chamar aRegCreateKeyExou função RegSetKeySecurity. Se você especificar NULL, a chave obterá um descritor de segurança padrão. As ACLs em um descritor de segurança padrão para uma chave são herdadas de sua chave pai direta.

Para obter o descritor de segurança de uma chave do Registro, chame o RegGetKeySecurity, GetNamedSecurityInfo ou função GetSecurityInfo.

Os direitos de acesso válidos para chaves do Registro incluem os direito s de acesso padrão DELETE, READ_CONTROL, WRITE_DAC e WRITE_OWNER. As chaves do Registro não dão suporte ao direito de acesso padrão SYNCHRONIZE.

A tabela a seguir lista os direitos de acesso específicos para objetos de chave do Registro.

Valor Significado
KEY_ALL_ACCESS (0xF003F)
Combina os direitos de acesso STANDARD_RIGHTS_REQUIRED, KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY e KEY_CREATE_LINK.
KEY_CREATE_LINK (0x0020)
Reservado para uso do sistema.
KEY_CREATE_SUB_KEY (0x0004)
Necessário para criar uma subchave de uma chave do Registro.
KEY_ENUMERATE_SUB_KEYS (0x0008)
Necessário para enumerar as subchaves de uma chave do Registro.
KEY_EXECUTE (0x20019)
Equivalente a KEY_READ.
KEY_NOTIFY (0x0010)
Necessário para solicitar notificações de alteração para uma chave do Registro ou para subchaves de uma chave do Registro.
KEY_QUERY_VALUE (0x0001)
Necessário para consultar os valores de uma chave do Registro.
KEY_READ (0x20019)
Combina os valores STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS e KEY_NOTIFY.
KEY_SET_VALUE (0x0002)
Necessário para criar, excluir ou definir um valor do Registro.
KEY_WOW64_32KEY (0x0200)
Indica que um aplicativo no Windows de 64 bits deve operar na exibição do Registro de 32 bits. Esse sinalizador é ignorado pelo Windows de 32 bits. Para obter mais informações, consulte Acessando uma exibição alternativa do Registro.
Esse sinalizador deve ser combinado usando o operador OR com os outros sinalizadores nesta tabela que consultam ou acessam valores do Registro.
Windows 2000: Não há suporte para esse sinalizador.
KEY_WOW64_64KEY (0x0100)
Indica que um aplicativo no Windows de 64 bits deve operar na exibição do Registro de 64 bits. Esse sinalizador é ignorado pelo Windows de 32 bits. Para obter mais informações, consulte Acessando uma exibição alternativa do Registro.
Esse sinalizador deve ser combinado usando o operador OR com os outros sinalizadores nesta tabela que consultam ou acessam valores do Registro.
Windows 2000: Não há suporte para esse sinalizador.
KEY_WRITE (0x20006)
Combina os direitos de acesso STANDARD_RIGHTS_WRITE, KEY_SET_VALUE e KEY_CREATE_SUB_KEY.

Quando você chama a função RegOpenKeyEx, o sistema verifica os direitos de acesso solicitados no descritor de segurança da chave. Se o usuário não tiver o acesso correto à chave do Registro, a operação aberta falhará. Se um administrador precisar de acesso à chave, a solução será habilitar o privilégio SE_TAKE_OWNERSHIP_NAME e abrir a chave do Registro com acesso WRITE_OWNER. Para obter mais informações, consulte Habilitar e desabilitar privilégios.

Você pode solicitar o acesso ACCESS_SYSTEM_SECURITY direito a uma chave do Registro se quiser ler ou gravar a SACL (lista de controle de acesso do sistema) da chave. Para obter mais informações, consulte de listas deAccess-Control (ACLs) e à direita do ACESSO SACL.

Para exibir os direitos de acesso atuais de uma chave, incluindo as chaves predefinidas, use o Editor do Registro (Regedt32.exe). Depois de navegar até a chave desejada, acesse o menu Editar e selecione Permissões.