Sdílet prostřednictvím


Zabezpečení objektů úloh a přístupová práva

Model zabezpečení systému Microsoft Windows umožňuje řídit přístup k objektům úloh. Další informace o zabezpečení naleznete v tématu Access-Control Model.

Při volání funkce CreateJobObject můžete pro objekt úlohy zadat popisovač zabezpečení. Pokud zadáte hodnotu NULL, objekt úlohy získá výchozí popisovač zabezpečení. Seznamy ACL ve výchozím popisovači zabezpečení pro objekt úlohy pocházejí z primárního tokenu nebo tokenu zosobnění tvůrce.

Chcete-li získat nebo nastavit popisovač zabezpečení pro objekt úlohy, zavolejte GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfonebo SetSecurityInfo funkce.

Platná přístupová práva pro objekty úloh zahrnují standardní přístupová práva a některá přístupová práva specifická pro úlohu. Následující tabulka uvádí standardní přístupová práva používaná všemi objekty.

Hodnota Význam
DELETE (0x00010000L) Vyžaduje se k odstranění objektu.
READ_CONTROL (0x0002000L) Vyžadováno ke čtení informací v popisovači zabezpečení objektu, nikoli informace v SACL. Chcete-li číst nebo zapisovat SACL, musíte požádat ACCESS_SYSTEM_SECURITY přístupové právo. Další informace naleznete v tématu SACL Access Right.
SYNCHRONIZOVAT (0x0010000L) Právo použít objekt pro synchronizaci. To umožňuje vláknu čekat, dokud objekt není v signalizačním stavu.
WRITE_DAC (0x00040000L) Vyžaduje se ke změně seznamu DACL v popisovači zabezpečení objektu.
WRITE_OWNER (0x00080000L) Vyžaduje se ke změně vlastníka v popisovači zabezpečení objektu.

 

Následující tabulka uvádí přístupová práva specifická pro úlohu.

Hodnota Význam
JOB_OBJECT_ALL_ACCESS (0x1F001F) Kombinuje všechna platná přístupová práva k objektům úlohy.
JOB_OBJECT_ASSIGN_PROCESS (0x0001) Vyžadováno pro volání AssignProcessToJobObject funkce pro přiřazení procesů k objektu úlohy.
JOB_OBJECT_QUERY (0x0004) Vyžadováno k načtení určitých informací o objektu úlohy, jako jsou atributy a informace o účetnictví (viz QueryInformationJobObject a IsProcessInJob).
JOB_OBJECT_SET_ATTRIBUTES (0x0002) Vyžadováno pro volání SetInformationJobObject funkce pro nastavení atributů objektu úlohy.
JOB_OBJECT_SET_SECURITY_ATTRIBUTES (0x0010) Tento příznak není podporován. Omezení zabezpečení musíte nastavit jednotlivě pro každý proces přidružený k objektu úlohy.Windows Server 2003 a Windows XP: Vyžaduje se volání funkce SetInformationJobObject s JobObjectSecurityLimitInformation informační třída nastavit omezení zabezpečení procesů přidružených k objektu úlohy. Podpora tohoto příznaku byla odebrána v systémech Windows Vista a Windows Server 2008.
JOB_OBJECT_TERMINATE (0x0008) Vyžadováno pro volání TerminateJobObject funkce ukončit všechny procesy v objektu úlohy.

 

Popisovač vrácený CreateJobObjectJOB_OBJECT_ALL_ACCESS přístup k objektu úlohy. Když zavoláte funkci OpenJobObject, systém zkontroluje požadovaná přístupová práva proti popisovači zabezpečení objektu. Pokud je objekt úlohy v hierarchii vnořených úloh, volající s přístupem k objektu úlohy má implicitně přístup ke všem podřízeným úlohům v hierarchii.

Pokud chcete číst nebo zapisovat SACL objektu, můžete požádat ACCESS_SYSTEM_SECURITY přístupové právo k objektu úlohy. Další informace naleznete v tématu Access-Control Seznamy (ACL) a SACL Access Right.

Omezení zabezpečení musíte nastavit jednotlivě pro každý proces přidružený k objektu úlohy, a nikoli je nastavit pro samotný objekt úlohy. Informace naleznete v tématu Zabezpečení procesu a přístupová práva.

Windows Server 2003 a Windows XP: Můžete použít funkci SetInformationJobObject k nastavení omezení zabezpečení pro objekt úlohy. Tato funkce byla odebrána v systémech Windows Vista a Windows Server 2008.