デスクトップ のセキュリティとアクセス権

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

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_ENUMERATE
DESKTOP_READOBJECTS
STANDARD_RIGHTS_READ
GENERIC_WRITE
DESKTOP_CREATEMENU
DESKTOP_CREATEWINDOW
DESKTOP_HOOKCONTROL
DESKTOP_JOURNALPLAYBACK
DESKTOP_JOURNALRECORD
DESKTOP_WRITEOBJECTS
STANDARD_RIGHTS_WRITE
GENERIC_EXECUTE
DESKTOP_SWITCHDESKTOP
STANDARD_RIGHTS_EXECUTE
GENERIC_ALL
DESKTOP_CREATEMENU
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 アクセス権に関するページを参照してください