Alterando a segurança de acesso em objetos protegíveis
Impressoras, serviços, chaves do Registro, aplicativos DCOM e namespaces WMI são objetos protegíveis. O acesso a objetos protegíveis é protegido por descritores de segurança, que especificam os usuários que têm acesso. A partir do Windows Vista, muitos objetos protegíveis têm métodos para obter ou definir o descritor de segurança. Com as permissões apropriadas, você pode ler ou alterar descritores de segurança em objetos protegíveis. Usando esses métodos, você pode controlar quais contas de usuário ou grupos têm acesso a uma impressora, serviço, namespace WMI ou outro objeto. Para obter mais informações sobre descritores de segurança e seu uso no WMI, consulte Access to WMI Securable Objects.
As seguintes seções são discutidas neste tópico:
- Objetos e métodos do descritor de segurança
- Conversão entre formatos de descritor de segurança
- Problemas de segurança
- Tópicos relacionados
Objetos e métodos do descritor de segurança
A lista a seguir contém os métodos que os objetos protegíveis têm para permitir que você leia ou altere o descritor de segurança:
WMI Namespaces
Um provedor pode estabelecer segurança que permite que apenas determinados grupos tenham acesso aos dados em um namespace WMI. A segurança do namespace é controlada por métodos na classe __SystemSecurity. A partir do Windows Vista, os métodos GetSecurityDescriptor e SetSecurityDescriptor retornam e gravam __SecurityDescriptor objetos. Para obter mais informações, consulte Definindo descritores de segurança de namespace.
Chaves de registo
A partir do Windows Vista, você pode proteger as chaves do Registro para que elas não possam ser alteradas por usuários não autorizados. A classe StdRegProv tem os métodos GetSecurityDescriptor e SetSecurityDescriptor. Esses métodos retornam e gravam Win32_SecurityDescriptor objetos.
Impressoras
A partir do Windows Vista, pode-se proteger o acesso a instâncias da classe Win32_Printer usando os métodos GetSecurityDescriptor e SetSecurityDescriptor. Esses métodos retornam e gravam Win32_SecurityDescriptor objetos.
Serviços
A partir do Windows Vista, você pode proteger o acesso a instâncias da classe Win32_Service usando o GetSecurityDescriptor e métodos SetSecurityDescriptor. Esses métodos retornam e gravam Win32_SecurityDescriptor objetos.
Aplicações DCOM
As instâncias do aplicativo DCOM têm vários descritores de segurança. A partir do Windows Vista, use métodos da classe Win32_DCOMApplicationSetting para obter ou alterar os vários descritores de segurança. Os descritores de segurança são retornados como instâncias da classe Win32_SecurityDescriptor.
Para obter ou alterar as permissões de configuração, chame o GetConfigurationSecurityDescriptor ou SetConfigurationSecurityDescriptor métodos.
Para obter ou alterar as permissões de acesso, chame o GetAccessSecurityDescriptor ou SetAccessSecurityDescriptor métodos.
Para obter ou alterar as permissões de inicialização e ativação, chame o GetLaunchSecurityDescriptor ou SetLaunchSecurityDescriptor métodos,
Ficheiros
O GetSecurityDescriptor e SetSecurityDescriptor métodos estão na classe Win32_LogicalFileSecuritySetting, em vez de na classe CIM_DataFile.
Ações
O GetSecurityDescriptor e SetSecurityDescriptor métodos estão na classe Win32_LogicalShareSecuritySetting, em vez de na classe Win32_Share.
Observação
Quando uma novade Lista de Controle de Acesso de Segurança (SACL) donão é especificada em uma chamada para um método SetSecurityDescriptor de, a SACL do descritor de segurança no objeto protegível de destino é definida como NULL para que a configuração SACL anterior não persista.
Convertendo entre formatos de descritor de segurança
Os descritores de segurança são matrizes de bytes binários complexos que normalmente devem ser criados e alterados em C++. Depois de usar um dos métodos Get para obter o descritor de segurança, a classe Win32_SecurityDescriptorHelper fornece métodos que convertem descritores de segurança em SDDL (Security Descriptor Definition Language) ou em instâncias Win32_SecurityDescriptor.
Você pode manipular as Listas de Controle de Acesso (ACL) mais facilmente em instâncias Win32_SecurityDescriptor ou em SDDL. Para obter mais informações sobre a estrutura e o uso de descritores de segurança no WMI, consulte WMI Security Descriptor Objects.
Em C++ ou C#, use funções de conversão para converter descritores de segurança binários para Security Descriptor Definition Language (SDDL). Para modificar valores de descritor de segurança em aplicativos C++, use ConvertSecurityDescriptorToStringSecurityDescriptor e ConvertStringSecurityDescriptorToSecurityDescriptor.
Problemas de segurança
Recomenda-se que as alterações nos descritores de segurança sejam feitas com muita cautela para que a segurança do objeto não seja comprometida. Lembre-se de que a ordem das entradas de controle de acesso (ACEs) em uma lista de controle de acesso discricionário (DACL) pode afetar a segurança de acesso. Para obter mais informações, consulte Ordem das ACEs numa DACL.
Tópicos relacionados