Direitos de acesso e segurança do objeto de trabalho
O modelo de segurança do Microsoft Windows permite controlar o acesso a objetos de trabalho. Para obter mais informações sobre segurança, consulte Modelo de controle de acesso.
Você pode especificar um descritor de segurança para um objeto de trabalho ao chamar a função CreateJobObject . Se você especificar NULL, o objeto de trabalho receberá um descritor de segurança padrão. As ACLs no descritor de segurança padrão para um objeto de trabalho vêm do token primário ou de representação do criador.
Para obter ou definir o descritor de segurança para um objeto de trabalho, chame a função GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo ou SetSecurityInfo .
Os direitos de acesso válidos para objetos de trabalho incluem os direitos de acesso padrão e alguns direitos de acesso específicos ao trabalho. A tabela a seguir lista os direitos de acesso padrão usados por todos os objetos.
Valor | Significado |
---|---|
DELETE (0x00010000L) | Necessário para excluir o objeto. |
READ_CONTROL (0x00020000L) | Necessário para ler informações no descritor de segurança do objeto, não incluindo as informações no SACL. Para ler ou gravar o SACL, você deve solicitar o direito de acesso ACCESS_SYSTEM_SECURITY . Para obter mais informações, consulte Direito de Acesso do SACL. |
SYNCHRONIZE (0x00100000L) | O direito de usar o objeto para sincronização. Isso permite que um thread aguarde até que o objeto esteja no estado sinalizado. |
WRITE_DAC (0x00040000L) | Necessário para modificar a DACL no descritor de segurança para o objeto . |
WRITE_OWNER (0x00080000L) | Necessário para alterar o proprietário no descritor de segurança para o objeto . |
A tabela a seguir lista os direitos de acesso específicos do trabalho.
Valor | Significado |
---|---|
JOB_OBJECT_ALL_ACCESS (0x1F001F) | Combina todos os direitos de acesso de objeto de trabalho válidos. |
JOB_OBJECT_ASSIGN_PROCESS (0x0001) | Necessário para chamar a função AssignProcessToJobObject para atribuir processos ao objeto de trabalho. |
JOB_OBJECT_QUERY (0x0004) | Necessário para recuperar determinadas informações sobre um objeto de trabalho, como atributos e informações de contabilidade (consulte QueryInformationJobObject e IsProcessInJob). |
JOB_OBJECT_SET_ATTRIBUTES (0x0002) | Necessário para chamar a função SetInformationJobObject para definir os atributos do objeto de trabalho. |
JOB_OBJECT_SET_SECURITY_ATTRIBUTES (0x0010) | Não há suporte para esse sinalizador. Você deve definir limitações de segurança individualmente para cada processo associado a um objeto de trabalho. Windows Server 2003 e Windows XP: Necessário para chamar a função SetInformationJobObject com a classe de informações JobObjectSecurityLimitInformation para definir limitações de segurança para os processos associados ao objeto de trabalho. O suporte para esse sinalizador foi removido no Windows Vista e no Windows Server 2008. |
JOB_OBJECT_TERMINATE (0x0008) | Necessário para chamar a função TerminateJobObject para encerrar todos os processos no objeto de trabalho. |
O identificador retornado por CreateJobObjectJOB_OBJECT_ALL_ACCESS acesso ao objeto de trabalho. Quando você chama a função OpenJobObject , o sistema verifica os direitos de acesso solicitados no descritor de segurança do objeto. Se um objeto de trabalho estiver em uma hierarquia de trabalhos aninhados, um chamador com acesso ao objeto de trabalho terá acesso implícito a todos os seus trabalhos filho na hierarquia.
Você pode solicitar a ACCESS_SYSTEM_SECURITY acessar o direito a um objeto de trabalho se quiser ler ou gravar o SACL do objeto. Para obter mais informações, consulte ACLs (Listas de Controle de Acesso) e Direito de Acesso à SACL.
Você deve definir limitações de segurança individualmente para cada processo associado a um objeto de trabalho, em vez de defini-las para o próprio objeto de trabalho. Para obter informações, consulte Direitos de Acesso e Segurança do Processo.
Windows Server 2003 e Windows XP: Você pode usar a função SetInformationJobObject para definir limitações de segurança para o objeto de trabalho. Essa funcionalidade foi removida no Windows Vista e no Windows Server 2008.