프라이빗 개체에 대한 보안 설명자
보안 설명자를 만들기 위해 보호된 서버는 애플리케이션이 보안 개체에 대한 보안 설명자를 만드는 데 사용하는 것과 동일한 절차를 사용할 수 있습니다. 샘플 코드는 C++에서 새 개체에 대한 보안 설명자 만들기를 참조하세요. 또는 보호된 서버 애플리케이션이 BuildSecurityDescriptor 함수를 호출하여 이 작업을 수행할 수 있습니다. 기존 자체 상대 보안 설명자에 대한 포인터가 BuildSecurityDescriptor에 제공되면 함수 호출에서 매개 변수로 전달된 새 액세스 제어 정보와 병합된 해당 보안 설명자에서 가져온 정보를 사용하여 새 보안 설명자를 빌드합니다. 소유자 및 그룹은 필요에 따라 함수에 전달된 TRUSTEE 구조체에 의해 지정됩니다. BuildSecurityDescriptor에서 만든 보안 설명자는 자체 상대 형식입니다.
또한 Windows API는 클라이언트 보안 정보를 부모 개체의 보안 설명자 또는 기본 보안 설명자에서 상속된 정보와 병합하기 위한 함수 집합을 제공합니다. CreatePrivateObjectSecurity, GetPrivateObjectSecurity, SetPrivateObjectSecurity 및 DestroyPrivateObjectSecurity 함수는 액세스 토큰에서 기본 정보를 검색하고 상속을 지원하며 보안 설명자의 특정 부분을 조작하는 기능을 제공합니다. 이는 클라이언트가 보안 개체의 계층 구조에 프라이빗 개체를 만들 때 유용할 수 있습니다. 예를 들어 CreatePrivateObjectSecurity 함수를 사용하여 클라이언트에서 지정한 ACE, 부모 개체에서 상속된 ACE 및 생성 클라이언트의 액세스 토큰에서 기본 소유자가 포함된 보안 설명자를 만들 수 있습니다. BuildSecurityDescriptor는 함수 호출에 전달된 액세스 제어 정보 또는 기존 보안 설명자에서 보안 설명자를 만드는 동안 CreatePrivateObjectSecurity는 기존 보안 설명자의 정보에서만 보안 설명자를 만듭니다.
LookupSecurityDescriptorParts 함수는 기존 자체 상대 보안 설명자에서 보안 설명자 정보를 가져옵니다. 이 정보에는 소유자 및 그룹 사양, SACL 또는 DACL의 ACE 수, SACL 또는 DACL의 ACE 목록이 포함됩니다.