AuthzAccessCheck 함수(authz.h)

AuthzAccessCheck 함수는 지정된 보안 설명자 집합에 대해 클라이언트에 부여할 수 있는 액세스 비트를 결정합니다. AUTHZ_ACCESS_REPLY 구조체는 부여된 액세스 마스크 및 오류 상태 배열을 반환합니다. 필요에 따라 항상 부여되는 액세스 마스크를 캐시할 수 있으며 캐시된 값에 대한 핸들이 반환됩니다.

구문

AUTHZAPI BOOL AuthzAccessCheck(
  [in]            DWORD                              Flags,
  [in]            AUTHZ_CLIENT_CONTEXT_HANDLE        hAuthzClientContext,
  [in]            PAUTHZ_ACCESS_REQUEST              pRequest,
  [in, optional]  AUTHZ_AUDIT_EVENT_HANDLE           hAuditEvent,
  [in]            PSECURITY_DESCRIPTOR               pSecurityDescriptor,
  [in, optional]  PSECURITY_DESCRIPTOR               *OptionalSecurityDescriptorArray,
  [in, optional]  DWORD                              OptionalSecurityDescriptorCount,
  [in, out]       PAUTHZ_ACCESS_REPLY                pReply,
  [out, optional] PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE phAccessCheckResults
);

매개 변수

[in] Flags

보안 설명자를 복사하는 방법을 지정하는 DWORD 값입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

Windows 8 및 Windows Server 2012 시작하여 원격 컨텍스트 핸들에서 이 함수를 호출할 때 상위 16비트 는 0이어야 합니다.

의미
0
phAccessCheckResultsNULL이 아닌 경우 보안 설명자의 심층 복사본이 phAccessCheckResults에서 참조하는 핸들에 복사됩니다.
AUTHZ_ACCESS_CHECK_NO_DEEP_COPY_SD
1
보안 설명자의 심층 복사본이 수행되지 않습니다. 호출 애플리케이션은 phAccessCheckResults에서 AUTHZ_ACCESS_CHECK_RESULTS_HANDLE 핸들의 주소를 전달해야 합니다. AuthzAccessCheck 함수는 이 핸들을 AuthzCachedAccessCheck에 대한 후속 호출 중에 유효한 상태로 유지해야 하는 보안 설명자로 설정합니다.

[in] hAuthzClientContext

클라이언트를 나타내는 구조체에 대한 핸들입니다.

Windows 8 및 Windows Server 2012 클라이언트 컨텍스트는 로컬 또는 원격일 수 있습니다.

[in] pRequest

원하는 액세스 마스크, 보안 주체 SID(자체 보안 식별자) 및 개체 유형 목록 구조(있는 경우)를 지정하는 AUTHZ_ACCESS_REQUEST 구조체에 대한 포인터입니다.

[in, optional] hAuditEvent

개체별 감사 정보를 포함하는 구조체입니다. 이 매개 변수의 값이 null이 아닌 경우 감사가 자동으로 요청됩니다. 정적 감사 정보는 리소스 관리자 구조에서 읽습니다.

Windows 8 및 Windows Server 2012 시작하여 이 함수를 원격 컨텍스트 핸들과 함께 사용하는 경우 매개 변수의 값은 NULL이어야 합니다.

[in] pSecurityDescriptor

액세스 검사에 사용할 SECURITY_DESCRIPTOR 구조체에 대한 포인터입니다. 개체의 소유자 SID는 이 보안 설명자에서 선택됩니다. 이 보안 설명자의 NULL DACL(임의 액세스 제어 목록)은 전체 개체에 대한 NULL DACL을 나타냅니다. 보안 설명자에 OWNER 및 DACL 정보가 포함되어 있는지 확인하거나 오류 코드 87 또는 "잘못된 매개 변수" 메시지가 생성됩니다.

중요한NULL DACL은 모든 사용자에 대한 모든 유형의 액세스를 허용합니다. 따라서 NULL DACL을 사용하지 마세요. DACL을 만드는 방법에 대한 자세한 내용은 DACL 만들기를 참조하세요.
 
이 보안 설명자의 NULL SACL(시스템 액세스 제어 목록)은 빈 SACL과 동일한 방식으로 처리됩니다.

[in, optional] OptionalSecurityDescriptorArray

SECURITY_DESCRIPTOR 구조체의 배열입니다. 이러한 보안 설명자의 NULL ACL(액세스 제어 목록)은 빈 ACL로 처리됩니다. 전체 개체에 대한 ACL은 모든 ACL의 논리적 연결입니다.

[in, optional] OptionalSecurityDescriptorCount

기본 보안 설명자를 포함하지 않는 보안 설명자의 수입니다.

[in, out] pReply

액세스 검사 결과를 포함하는 AUTHZ_ACCESS_REPLY 구조체에 대한 포인터입니다. AuthzAccessCheck 함수를 호출하기 전에 애플리케이션은 pReply에서 참조하는 AUTHZ_ACCESS_REPLY 구조체의 GrantedAccessMaskSaclEvaluationResults 멤버에 대한 메모리를 할당해야 합니다.

[out, optional] phAccessCheckResults

액세스 검사 캐시된 결과에 대한 핸들을 반환하는 포인터입니다. 이 매개 변수 값이 null이 아닌 경우 이 액세스 검사 호출의 결과가 캐시됩니다. 그러면 MAXIMUM_ALLOWED 검사 발생합니다.

Windows 8 및 Windows Server 2012 시작하여 이 함수를 원격 컨텍스트 핸들과 함께 사용하는 경우 매개 변수의 값은 NULL이어야 합니다.

반환 값

함수가 성공하면 함수는 TRUE를 반환 합니다.

함수가 실패하면 FALSE를 반환합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

pSecurityDescriptor 매개 변수가 가리키는 SECURITY_DESCRIPTOR 구조체의 DACL에 ACE(콜백 액세스 제어 항목)가 포함된 경우 AuthzAccessCheckCallback 콜백 함수가 호출됩니다.

조건식에서 참조하는 경우 보안 특성 변수가 클라이언트 컨텍스트에 있어야 합니다. 그렇지 않으면 참조하는 조건식 용어가 알 수 없음으로 평가됩니다. 자세한 내용은 조건부 ACE에 대한 보안 설명자 정의 언어 항목을 참조하세요.

자세한 내용은 AccessCheck 작동 방식중앙 집중식 권한 부여 정책 개요를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 authz.h
라이브러리 Authz.lib
DLL Authz.dll
재배포 가능 파일 Windows XP의 Windows Server 2003 관리 도구 팩

추가 정보

AUTHZ_ACCESS_REPLY

AUTHZ_ACCESS_REQUEST

AuthzCachedAccessCheck

기본 Access Control 함수

중앙 집중식 권한 부여 정책

AccessCheck 작동 방식

SECURITY_DESCRIPTOR

조건부 ACE에 대한 보안 설명자 정의 언어