다음을 통해 공유


AccessCheckAndAuditAlarmA 함수(winbase.h)

AccessCheckAndAuditAlarm 함수는 보안 설명자가 호출 스레드에서 가장하는 클라이언트에 지정된 액세스 권한 집합을 부여하는지 여부를 결정합니다. 보안 설명자에 클라이언트에 적용되는 ACE가 있는 SACL이 있는 경우 함수는 보안 이벤트 로그에 필요한 감사 메시지를 생성합니다.

알람은 현재 지원되지 않습니다.

구문

BOOL AccessCheckAndAuditAlarmA(
  [in]           LPCSTR               SubsystemName,
  [in, optional] LPVOID               HandleId,
  [in]           LPSTR                ObjectTypeName,
  [in, optional] LPSTR                ObjectName,
  [in]           PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]           DWORD                DesiredAccess,
  [in]           PGENERIC_MAPPING     GenericMapping,
  [in]           BOOL                 ObjectCreation,
  [out]          LPDWORD              GrantedAccess,
  [out]          LPBOOL               AccessStatus,
  [out]          LPBOOL               pfGenerateOnClose
);

매개 변수

[in] SubsystemName

함수를 호출하는 하위 시스템의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열은 함수가 생성하는 감사 메시지에 표시됩니다.

[in, optional] HandleId

개체에 대한 클라이언트의 핸들을 나타내는 고유 값에 대한 포인터입니다. 액세스가 거부되면 시스템에서 이 값을 무시합니다.

[in] ObjectTypeName

만들거나 액세스하는 개체의 형식을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열은 함수가 생성하는 감사 메시지에 표시됩니다.

[in, optional] ObjectName

만들거나 액세스하는 개체의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열은 함수가 생성하는 감사 메시지에 표시됩니다.

[in] SecurityDescriptor

액세스가 검사되는 SECURITY_DESCRIPTOR 구조체에 대한 포인터입니다.

[in] DesiredAccess

검사 대한 액세스 권한을 지정하는 액세스 마스크입니다. 이 마스크는 제네릭 액세스 권한이 없도록 MapGenericMask 함수에 의해 매핑되어야 합니다.

이 매개 변수가 MAXIMUM_ALLOWED 경우 함수는 GrantedAccess 액세스 마스크를 설정하여 보안 설명자가 클라이언트에 허용하는 최대 액세스 권한을 나타냅니다.

[in] GenericMapping

액세스가 검사되는 개체와 연결된 GENERIC_MAPPING 구조체에 대한 포인터입니다.

[in] ObjectCreation

액세스 권한이 부여될 때 호출 애플리케이션이 새 개체를 만들 것인지 여부를 결정하는 플래그를 지정합니다. TRUE 값은 애플리케이션이 새 개체를 만들 것임을 나타냅니다. FALSE 값은 애플리케이션이 기존 개체를 열 것임을 나타냅니다.

[out] GrantedAccess

부여된 액세스 권한을 받는 액세스 마스크 에 대한 포인터입니다. AccessStatusFALSE로 설정된 경우 함수는 액세스 마스크를 0으로 설정합니다. 함수가 실패하면 액세스 마스크를 설정하지 않습니다.

[out] AccessStatus

액세스 검사 결과를 수신하는 변수에 대한 포인터입니다. 보안 설명자가 클라이언트에 대해 요청된 액세스 권한을 허용하는 경우 AccessStatusTRUE로 설정됩니다. 그렇지 않으면 AccessStatusFALSE로 설정됩니다.

[out] pfGenerateOnClose

함수가 반환되는 경우 감사 생성 루틴에서 설정한 플래그에 대한 포인터입니다. 개체 핸들이 닫혀 있을 때 ObjectCloseAuditAlarm 함수에 이 플래그를 전달합니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

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

설명

자세한 내용은 AccessCheck 작동 방법 개요를 참조하세요.

AccessCheckAndAuditAlarm 함수를 사용하려면 호출 프로세스에서 SE_AUDIT_NAME 권한을 사용하도록 설정해야 합니다. 이 권한에 대한 테스트는 스레드의 가장 토큰이 아닌 호출 프로세스의 기본토큰에 대해 수행됩니다.

호출 스레드가 클라이언트를 가장하지 않으면 AccessCheckAndAuditAlarm 함수가 실패합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)
라이브러리 Advapi32.lib
DLL Advapi32.dll

추가 정보

AccessCheck

클라이언트/서버 Access Control

클라이언트/서버 Access Control 함수

GENERIC_MAPPING

AccessCheck 작동 방식

MakeAbsoluteSD

MapGenericMask

ObjectCloseAuditAlarm

ObjectOpenAuditAlarm

ObjectPrivilegeAuditAlarm

PrivilegeCheck

PrivilegedServiceAuditAlarm

SECURITY_DESCRIPTOR