İş Nesnesi Güvenliği ve Erişim Hakları

Microsoft Windows güvenlik modeli, iş nesnelerine erişimi denetlemenizi sağlar. Güvenlik hakkında daha fazla bilgi için bkz. model Access-Control.

CreateJobObject işlevini çağırdığınızda bir iş nesnesi için güvenlik tanımlayıcısı belirtebilirsiniz. NULL belirtirseniz, iş nesnesi varsayılan bir güvenlik tanımlayıcısı alır. Bir iş nesnesinin varsayılan güvenlik tanımlayıcısı içindeki ACL'ler, oluşturucunun birincil veya kimliğe bürünme belirtecinden gelir.

bir iş nesnesinin güvenlik tanımlayıcısını almak veya ayarlamak için GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfoveya SetSecurityInfoişleviniçağırın.

İş nesneleri için geçerli erişim hakları, standart erişim hakları ve işe özgü bazı erişim haklarını içerir. Aşağıdaki tabloda tüm nesneler tarafından kullanılan standart erişim hakları listelenir.

Değer Anlam
DELETE (0x00010000L) Nesneyi silmek için gereklidir.
READ_CONTROL (0x00020000L) SACL'deki bilgileri dahil etmek yerine nesnenin güvenlik tanımlayıcısında bilgi okumak için gereklidir. SACL'yi okumak veya yazmak için ACCESS_SYSTEM_SECURITY erişim hakkı istemeniz gerekir. Daha fazla bilgi için bkz. SACL Erişim Sağ.
EŞITLEME (0x00100000L) Eşitleme için nesnesini kullanma hakkı. Bu, bir iş parçacığının nesne sinyalli duruma gelene kadar beklemesini sağlar.
WRITE_DAC (0x00040000L) Nesnenin güvenlik tanımlayıcısında DACL'yi değiştirmek için gereklidir.
WRITE_OWNER (0x00080000L) Nesnenin güvenlik tanımlayıcısında sahibini değiştirmek için gereklidir.

 

Aşağıdaki tabloda işe özgü erişim hakları listelenir.

Değer Anlam
JOB_OBJECT_ALL_ACCESS (0x1F001F) Tüm geçerli iş nesnesi erişim haklarını birleştirir.
JOB_OBJECT_ASSIGN_PROCESS (0x0001) İş nesnesine işlem atamak için AssignProcessToJobObject işlevini çağırmak için gereklidir.
JOB_OBJECT_QUERY (0x0004) Öznitelikler ve muhasebe bilgileri gibi bir iş nesnesi hakkında belirli bilgileri almak için gereklidir (bkz. QueryInformationJobObject ve IsProcessInJob).
JOB_OBJECT_SET_ATTRIBUTES (0x0002) İş nesnesinin özniteliklerini ayarlamak için SetInformationJobObject işlevini çağırmak için gereklidir.
JOB_OBJECT_SET_SECURITY_ATTRIBUTES (0x0010) Bu bayrak desteklenmiyor. Bir iş nesnesiyle ilişkili her işlem için güvenlik sınırlamalarını ayrı ayrı ayarlamanız gerekir.Windows Server 2003 ve Windows XP: İş nesnesiyle ilişkili işlemler için güvenlik sınırlamaları ayarlamak üzere JobObjectSecurityLimitInformation bilgi sınıfıyla SetInformationJobObject işlevini çağırmak için gereklidir. Windows Vista ve Windows Server 2008'de bu bayrak için destek kaldırıldı.
JOB_OBJECT_TERMINATE (0x0008) İş nesnesindeki tüm işlemleri sonlandırmak için TerminateJobObject işlevini çağırmak için gereklidir.

 

CreateJobObject tarafından döndürülen tanıtıcının iş nesnesine JOB_OBJECT_ALL_ACCESS erişimi vardır. OpenJobObject işlevini çağırdığınızda, sistem istenen erişim haklarını nesnenin güvenlik tanımlayıcısına göre denetler. bir iş nesnesi iç içeişler hiyerarşisindeyse, iş nesnesine erişimi olan bir çağıranın hiyerarşideki tüm alt işlerine örtük olarak erişimi vardır.

Nesnenin SACL'sini okumak veya yazmak istiyorsanız, doğrudan bir iş nesnesine ACCESS_SYSTEM_SECURITY erişim isteyebilirsiniz. Daha fazla bilgi için bkz. Access-Control Listeleri (ACL'ler) ve SACL Erişim Sağ .

İş nesnesiyle ilişkili her işlem için güvenlik sınırlamalarını ayrı ayrı ayarlamanız gerekir; bunu iş nesnesinin kendisi için ayarlamak yerine. Bilgi için bkz. İşlem Güvenliği ve Erişim Hakları.

Windows Server 2003 ve Windows XP: İş nesnesi için güvenlik sınırlamalarını ayarlamak için SetInformationJobObject işlevini kullanabilirsiniz. Bu özellik Windows Vista ve Windows Server 2008'de kaldırılmıştır.