Compartilhar via


Descritores de segurança para objetos privados

Para criar um descritor de segurança, um servidor protegido pode usar o mesmo procedimento que um aplicativo usaria para criar um descritor de segurança para um objeto protegível. Para obter um código de exemplo, consulte Criando um descritor de segurança para um novo objeto em C++. Como alternativa, um aplicativo de servidor protegido pode chamar a função BuildSecurityDescriptor para fazer isso. Se um ponteiro para um descritor de segurança auto-relativo existente for fornecido ao BuildSecurityDescriptor, ele criará o novo descritor de segurança com informações obtidas desse descritor de segurança mescladas com novas informações de controle de acesso passadas como parâmetros na chamada de função. O proprietário e o grupo são, opcionalmente, especificados pelas estruturas TRUSTEE passadas para a função. O descritor de segurança criado pelo BuildSecurityDescriptor está em formato auto-relativo .

Além disso, a API Windows fornece um conjunto de funções para mesclar informações de segurança do cliente com informações herdadas do descritor de segurança para um objeto pai ou de um descritor de segurança padrão. As funções CreatePrivateObjectSecurity, GetPrivateObjectSecurity, SetPrivateObjectSecurity e DestroyPrivateObjectSecurity fornecem a capacidade de recuperar informações padrão de um token de acesso, dar suporte à herança e manipular partes específicas do descritor de segurança. Isso pode ser útil quando um cliente cria um objeto privado em uma hierarquia de objetos protegidos. Por exemplo, você pode usar a função CreatePrivateObjectSecurity para criar um descritor de segurança que continha ACEs especificados pelo cliente, ACEs herdados de um objeto pai e o proprietário padrão do token de acesso do cliente de criação. Embora o BuildSecurityDescriptor crie descritores de segurança a partir de informações de controle de acesso passadas para a chamada de função ou de um descritor de segurança existente, CreatePrivateObjectSecurity cria um descritor de segurança exclusivamente das informações em descritores de segurança existentes.

A função LookupSecurityDescriptorParts obtém informações de descritor de segurança de um descritor de segurança auto-relativo existente. Essas informações incluem a especificação de proprietário e grupo, o número de ACEs no SACL ou DACL e a lista de ACEs no SACL ou NACL.