Window Station 보안 및 액세스 권한
보안을 사용하면 창 스테이션 개체에 대한 액세스를 제어할 수 있습니다. 보안에 대한 자세한 내용은 Access-Control 모델을 참조하세요.
CreateWindowStation 함수를 호출할 때 창 스테이션 개체에 대한 보안 설명자를 지정할 수 있습니다. NULL을 지정하는 경우 창 스테이션은 기본 보안 설명자를 가져옵니다. 창 스테이션에 대한 기본 보안 설명자의 ACL은 작성자의 기본 또는 가장 토큰에서 가져옵니다.
창 스테이션 개체의 보안 설명자를 얻거나 설정하려면 GetSecurityInfo 및 SetSecurityInfo 함수를 호출합니다.
OpenWindowStation 함수를 호출할 때 시스템은 요청된 액세스 권한을 개체의 보안 설명자에 대해 확인합니다.
창 스테이션 개체에 대한 유효한 액세스 권한에는 표준 액세스 권한 및 일부 개체별 액세스 권한이 포함됩니다. 다음 표에서는 모든 개체에서 사용하는 표준 액세스 권한을 나열합니다.
값 | 의미 |
---|---|
DELETE(0x00010000L) | 개체를 삭제하는 데 필요합니다. |
READ_CONTROL(0x00020000L) | SACL의 정보를 포함하지 않고 개체의 보안 설명자에서 정보를 읽는 데 필요합니다. SACL을 읽거나 쓰려면 ACCESS_SYSTEM_SECURITY 액세스 권한을 요청해야 합니다. 자세한 내용은 SACL 액세스 권한을 참조하세요. |
SYNCHRONIZE(0x00100000L) | 창 스테이션 개체에 대해 지원되지 않습니다. |
WRITE_DAC(0x00040000L) | 개체의 보안 설명자에서 DACL을 수정하는 데 필요합니다. |
WRITE_OWNER(0x00080000L) | 개체의 보안 설명자에서 소유자를 변경해야 합니다. |
다음 표에서는 개체별 액세스 권한을 나열합니다.
액세스 권한 | 설명 |
---|---|
WINSTA_ALL_ACCESS(0x37F) | 창 스테이션에 대해 가능한 모든 액세스 권한입니다. |
WINSTA_ACCESSCLIPBOARD(0x0004L) | 클립보드를 사용하는 데 필요합니다. |
WINSTA_ACCESSGLOBALATOMS(0x0020L) | 전역 원자를 조작하는 데 필요합니다. |
WINSTA_CREATEDESKTOP(0x0008L) | 창 스테이션에서 새 데스크톱 개체를 만드는 데 필요합니다. |
WINSTA_ENUMDESKTOPS(0x0001L) | 기존 데스크톱 개체를 열거하는 데 필요합니다. |
WINSTA_ENUMERATE(0x0100L) | 창 스테이션을 열거하는 데 필요합니다. |
WINSTA_EXITWINDOWS(0x0040L) | ExitWindows 또는 ExitWindowsEx 함수를 성공적으로 호출하는 데 필요합니다. 사용자가 창 스테이션을 공유할 수 있으며 이 액세스 유형은 창 스테이션의 다른 사용자가 창 스테이션 소유자를 로그오프하지 못하도록 방지할 수 있습니다. |
WINSTA_READATTRIBUTES(0x0002L) | 창 스테이션 개체의 특성을 읽는 데 필요합니다. 이 특성에는 색 설정 및 기타 전역 창 스테이션 속성이 포함됩니다. |
WINSTA_READSCREEN(0x0200L) | 화면 내용에 액세스하는 데 필요합니다. |
WINSTA_WRITEATTRIBUTES(0x0010L) | 창 스테이션 개체의 특성을 수정하는 데 필요합니다. 특성에는 색 설정 및 기타 전역 창 스테이션 속성이 포함됩니다. |
다음은 대화형 사용자의 로그온 세션에 할당된 창 스테이션인 대화형 창 스테이션 개체에 대한 일반 액세스 권한 입니다.
액세스 권한 | 설명 |
---|---|
GENERIC_READ |
WINSTA_ENUMDESKTOPS WINSTA_ENUMERATE WINSTA_READATTRIBUTES WINSTA_READSCREEN |
GENERIC_WRITE |
WINSTA_ACCESSCLIPBOARD WINSTA_CREATEDESKTOP WINSTA_WRITEATTRIBUTES |
GENERIC_EXECUTE |
WINSTA_ACCESSGLOBALATOMS WINSTA_EXITWINDOWS |
GENERIC_ALL |
WINSTA_ACCESSCLIPBOARD WINSTA_ACCESSGLOBALATOMS WINSTA_CREATEDESKTOP WINSTA_ENUMDESKTOPS WINSTA_ENUMERATE WINSTA_EXITWINDOWS WINSTA_READATTRIBUTES WINSTA_READSCREEN WINSTA_WRITEATTRIBUTES |
다음은 비대화형 창 스테이션 개체에 대한 일반 액세스 권한 입니다. 시스템은 대화형 사용자 이외의 모든 로그온 세션에 비대화형 창 스테이션을 할당합니다.
액세스 권한 | 설명 |
---|---|
GENERIC_READ |
WINSTA_ENUMDESKTOPS WINSTA_ENUMERATE WINSTA_READATTRIBUTES |
GENERIC_WRITE |
WINSTA_ACCESSCLIPBOARD WINSTA_CREATEDESKTOP |
GENERIC_EXECUTE |
WINSTA_ACCESSGLOBALATOMS WINSTA_EXITWINDOWS |
GENERIC_ALL |
WINSTA_ACCESSCLIPBOARD WINSTA_ACCESSGLOBALATOMS WINSTA_CREATEDESKTOP WINSTA_ENUMDESKTOPS WINSTA_ENUMERATE WINSTA_EXITWINDOWS WINSTA_READATTRIBUTES |
개체의 SACL을 읽거나 쓰려는 경우 창 스테이션 개체에 대한 ACCESS_SYSTEM_SECURITY 액세스 권한을 요청할 수 있습니다. 자세한 내용은 ACL(액세스 제어 목록) 및 SACL 액세스 권한을 참조하세요.