CreatePrivateObjectSecurity 함수(securitybaseapi.h)
CreatePrivateObjectSecurity 함수는 새 프라이빗 개체에 대한 자체 상대 보안 설명자를 할당하고 초기화합니다. 보호된 서버는 새 프라이빗 개체를 만들 때 이 함수를 호출합니다.
새 개체의 개체 형식 GUID를 지정하거나 ACE( 액세스 제어 항목 )를 상속하는 방법을 제어하려면 CreatePrivateObjectSecurityEx 함수를 사용합니다.
구문
BOOL CreatePrivateObjectSecurity(
[in, optional] PSECURITY_DESCRIPTOR ParentDescriptor,
[in, optional] PSECURITY_DESCRIPTOR CreatorDescriptor,
[out] PSECURITY_DESCRIPTOR *NewDescriptor,
[in] BOOL IsDirectoryObject,
[in, optional] HANDLE Token,
[in] PGENERIC_MAPPING GenericMapping
);
매개 변수
[in, optional] ParentDescriptor
새 개체가 만들어지는 부모 디렉터리에 대한 보안 설명자에 대한 포인터입니다. 부모 디렉터리가 없는 경우 이 매개 변수는 NULL일 수 있습니다.
[in, optional] CreatorDescriptor
개체의 작성자가 제공하는 보안 설명자에 대한 포인터입니다. 개체의 작성자가 새 개체에 대한 보안 정보를 명시적으로 전달하지 않으면 이 매개 변수는 NULL이 됩니다.
[out] NewDescriptor
새로 할당된 자체 상대 보안 설명자에 대한 포인터를 수신하는 변수에 대한 포인터입니다. 호출자는 DestroyPrivateObjectSecurity 함수를 호출하여 이 보안 설명자를 해제해야 합니다.
[in] IsDirectoryObject
새 개체가 컨테이너인지 여부를 지정합니다. TRUE 값은 개체에 디렉터리 같은 다른 개체가 포함되어 있음을 나타냅니다.
[in, optional] Token
개체를 대신하여 생성되는 클라이언트 프로세스에 대한 액세스 토큰에 대한 핸들입니다. 가장 토큰인 경우 SecurityIdentification 수준 이상이어야 합니다. SecurityIdentification 가장 수준에 대한 전체 설명은 SECURITY_IMPERSONATION_LEVEL 열거형 형식을 참조하세요.
클라이언트 토큰은 기본 소유자, 기본 그룹 및 임의 액세스 제어 목록과 같은 새 개체에 대한 기본 보안 정보를 검색하는 데 사용됩니다. 토큰은 TOKEN_QUERY 액세스를 위해 열려 있어야 합니다.
다음 조건이 모두 true인 경우 TOKEN_QUERY 액세스 외에도 TOKEN_DUPLICATE 액세스를 위해 핸들을 열어 야 합니다.
- 토큰 핸들은 기본 토큰을 참조합니다.
- 토큰의 보안 설명자에는 OwnerRights SID를 사용하는 하나 이상의 AES가 포함되어 있습니다.
- CreatorDescriptor 매개 변수에 대한 보안 설명자가 지정됩니다.
- 이 함수의 호출자는 AutoInheritFlags 매개 변수에서 SEF_AVOID_OWNER_RESTRICTION 플래그를 설정하지 않습니다.
[in] GenericMapping
개체에 대한 특정 권한에 대한 각 제네릭 권한의 매핑을 지정하는 GENERIC_MAPPING 구조체에 대한 포인터입니다.
반환 값
함수가 성공하면 함수는 0이 아닌 값을 반환합니다.
함수가 실패하면 0을 반환합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
CreatorDescriptor 매개 변수로 지정된 SECURITY_DESCRIPTOR SACL(시스템 액세스 제어 목록)을 지정하는 경우 토큰 매개 변수에 SE_SECURITY_NAME 권한이 활성화되어 있어야 합니다. CreatePrivateObjectSecurity 함수는 이 권한을 확인하고 프로세스 중에 감사를 생성할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | securitybaseapi.h(Windows.h 포함) |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |