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 |
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 アクセス権に関するページを参照してください。