Window Station のセキュリティとアクセス権

セキュリティを使用すると、ウィンドウ ステーション オブジェクトへのアクセスを制御できます。 セキュリティの詳細については、「 アクセス制御モデル」を参照してください。

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
STANDARD_RIGHTS_READ
WINSTA_ENUMDESKTOPS
WINSTA_ENUMERATE
WINSTA_READATTRIBUTES
WINSTA_READSCREEN
GENERIC_WRITE
STANDARD_RIGHTS_WRITE
WINSTA_ACCESSCLIPBOARD
WINSTA_CREATEDESKTOP
WINSTA_WRITEATTRIBUTES
GENERIC_EXECUTE
STANDARD_RIGHTS_EXECUTE
WINSTA_ACCESSGLOBALATOMS
WINSTA_EXITWINDOWS
GENERIC_ALL
STANDARD_RIGHTS_REQUIRED
WINSTA_ACCESSCLIPBOARD
WINSTA_ACCESSGLOBALATOMS
WINSTA_CREATEDESKTOP
WINSTA_ENUMDESKTOPS
WINSTA_ENUMERATE
WINSTA_EXITWINDOWS
WINSTA_READATTRIBUTES
WINSTA_READSCREEN
WINSTA_WRITEATTRIBUTES

 

非対話型ウィンドウ ステーション オブジェクトの 汎用アクセス権 を次に示します。 システムは、対話型ユーザー以外のすべてのログオン・セッションに非インターアクティブ・ウィンドウ・ステーションを割り当てます。

アクセス権 説明
GENERIC_READ
STANDARD_RIGHTS_READ
WINSTA_ENUMDESKTOPS
WINSTA_ENUMERATE
WINSTA_READATTRIBUTES
GENERIC_WRITE
STANDARD_RIGHTS_WRITE
WINSTA_ACCESSCLIPBOARD
WINSTA_CREATEDESKTOP
GENERIC_EXECUTE
STANDARD_RIGHTS_EXECUTE
WINSTA_ACCESSGLOBALATOMS
WINSTA_EXITWINDOWS
GENERIC_ALL
STANDARD_RIGHTS_REQUIRED
WINSTA_ACCESSCLIPBOARD
WINSTA_ACCESSGLOBALATOMS
WINSTA_CREATEDESKTOP
WINSTA_ENUMDESKTOPS
WINSTA_ENUMERATE
WINSTA_EXITWINDOWS
WINSTA_READATTRIBUTES

 

オブジェクトの SACL の読み取りまたは書き込みを行う場合は、ウィンドウ ステーション オブジェクトへのACCESS_SYSTEM_SECURITYアクセス権を要求できます。 詳細については、 アクセス制御リスト (ACL)SACL アクセス権に関するページを参照してください