데스크톱 보안 및 액세스 권한
보안을 사용하면 데스크톱 개체에 대한 액세스를 제어할 수 있습니다. 보안에 대한 자세한 내용은 Access-Control 모델을 참조하세요.
CreateDesktop 또는 CreateDesktopEx 함수를 호출할 때 데스크톱 개체에 대한 보안 설명자를 지정할 수 있습니다. NULL을 지정하는 경우 데스크톱은 기본 보안 설명자를 가져옵니다. 데스크톱에 대한 기본 보안 설명자의 ACL은 부모 창 스테이션에서 제공됩니다.
창 스테이션 개체의 보안 설명자를 얻거나 설정하려면 GetSecurityInfo 및 SetSecurityInfo 함수를 호출합니다.
OpenDesktop 또는 OpenInputDesktop 함수를 호출하면 시스템은 개체의 보안 설명자에 대해 요청된 액세스 권한을 확인합니다.
데스크톱 개체에 대한 유효한 액세스 권한에는 표준 액세스 권한 및 일부 개체별 액세스 권한이 포함됩니다. 다음 표에서는 모든 개체에서 사용하는 표준 액세스 권한을 나열합니다.
값 | 의미 |
---|---|
DELETE(0x00010000L) | 개체를 삭제하는 데 필요합니다. |
READ_CONTROL(0x00020000L) | SACL의 정보를 포함하지 않고 개체의 보안 설명자에서 정보를 읽는 데 필요합니다. SACL을 읽거나 쓰려면 ACCESS_SYSTEM_SECURITY 액세스 권한을 요청해야 합니다. 자세한 내용은 SACL 액세스 권한을 참조하세요. |
SYNCHRONIZE(0x00100000L) | 데스크톱 개체에 대해 지원되지 않습니다. |
WRITE_DAC(0x00040000L) | 개체의 보안 설명자에서 DACL을 수정하는 데 필요합니다. |
WRITE_OWNER(0x00080000L) | 개체의 보안 설명자에서 소유자를 변경해야 합니다. |
다음 표에서는 개체별 액세스 권한을 나열합니다.
액세스 권한 | 설명 |
---|---|
DESKTOP_CREATEMENU(0x0004L) | 바탕 화면에 메뉴를 만드는 데 필요합니다. |
DESKTOP_CREATEWINDOW(0x0002L) | 바탕 화면에 창을 만드는 데 필요합니다. |
DESKTOP_ENUMERATE(0x0040L) | 데스크톱을 열거하는 데 필요합니다. |
DESKTOP_HOOKCONTROL(0x0008L) | 창 후크를 설정하는 데 필요합니다. |
DESKTOP_JOURNALPLAYBACK(0x0020L) | 데스크톱에서 저널 재생을 수행하는 데 필요합니다. |
DESKTOP_JOURNALRECORD(0x0010L) | 데스크톱에서 저널 기록을 수행하는 데 필요합니다. |
DESKTOP_READOBJECTS(0x0001L) | 바탕 화면에서 개체를 읽는 데 필요합니다. |
DESKTOP_SWITCHDESKTOP(0x0100L) | SwitchDesktop 함수를 사용하여 데스크톱을 활성화하는 데 필요합니다. |
DESKTOP_WRITEOBJECTS(0x0080L) | 바탕 화면에 개체를 작성하는 데 필요합니다. |
다음은 사용자 로그온 세션의 대화형 창 스테이션에 포함된 데스크톱 개체에 대한 일반 액세스 권한 입니다.
액세스 권한 | 설명 |
---|---|
GENERIC_READ |
DESKTOP_READOBJECTS STANDARD_RIGHTS_READ |
GENERIC_WRITE |
DESKTOP_CREATEWINDOW DESKTOP_HOOKCONTROL DESKTOP_JOURNALPLAYBACK DESKTOP_JOURNALRECORD DESKTOP_WRITEOBJECTS STANDARD_RIGHTS_WRITE |
GENERIC_EXECUTE |
STANDARD_RIGHTS_EXECUTE |
GENERIC_ALL |
DESKTOP_CREATEWINDOW DESKTOP_ENUMERATE DESKTOP_HOOKCONTROL DESKTOP_JOURNALPLAYBACK DESKTOP_JOURNALRECORD DESKTOP_READOBJECTS DESKTOP_SWITCHDESKTOP DESKTOP_WRITEOBJECTS STANDARD_RIGHTS_REQUIRED |
개체의 SACL을 읽거나 쓰려는 경우 데스크톱 개체에 대한 ACCESS_SYSTEM_SECURITY 액세스 권한을 요청할 수 있습니다. 자세한 내용은 ACL(액세스 제어 목록) 및 SACL 액세스 권한을 참조하세요.