APIs para trabalhar com descritores de segurança
Cada objeto nos Serviços de Domínio Active Directory tem um atributo nTSecurityDescriptor que contém o descritor de segurança do objeto. Há duas maneiras principais de ler e manipular um descritor de segurança de objeto de diretório:
- Use o método IADs::Get para recuperar o descritor de segurança como um objeto ADSI COM com uma interface IADsSecurityDescriptor. As interfaces IADsSecurityDescriptor, IADsAccessControlList e IADsAccessControlEntry podem ser usadas para manipular o descritor de segurança e seus componentes (ACLs, ACEs e assim por diante). Para obter mais informações e um exemplo de código, consulte Usando IADs para obter um descritor de segurança.
- Use o método IDirectoryObject::GetObjectAttributes para recuperar um descritor de segurança de objeto como um ponteiro para uma estrutura SECURITY_DESCRIPTOR. Use esse ponteiro com uma função de controle de acesso Win32, como AccessCheck ou BuildSecurityDescriptor. Para obter mais informações e um exemplo de código, consulte Usando IDirectoryObject para obter um descritor de segurança.
A técnica recomendada, e a usada pela maioria dos exemplos de código neste guia, é usar as interfaces IADs* porque elas simplificam o manuseio de descritores de segurança, ACLs e ACEs. Para programadores do Visual Basic, as interfaces IADs* são a maneira mais eficiente de lidar com descritores de segurança.
A técnica IDirectoryObject é útil quando uma estrutura SECURITY_DESCRIPTOR é necessária. Por exemplo, o exemplo de código em Verificando um direito de acesso de controle na ACL de um objeto usa esse método para recuperar um descritor de segurança para passar para a função AccessCheckByTypeResultList.
Para saber mais, veja:
- Usando IADs para obter um descritor de segurança
- Usando IDirectoryObject para obter um descritor de segurança
- Componentes do descritor de segurança
- Recuperando a DACL de um objeto
- Recuperando a SACL de um objeto
- Lendo o descritor de segurança de um objeto
- Código de exemplo para criar um descritor de segurança
- Código de exemplo para enumerar a ACL de um objeto nos Serviços de Domínio Active Directory