Direitos de acesso para objetos Access-Token
Um aplicativo não pode alterar a lista de controle de acesso de um objeto, a menos que o aplicativo tenha os direitos de fazê-lo. Esses direitos são controlados por um descritor de segurança no token de acesso para o objeto . Para obter mais informações sobre segurança, consulte Controle de Acesso Model.
Para obter ou definir o descritor de segurança para um token de acesso, chame as funções GetKernelObjectSecurity e SetKernelObjectSecurity .
Quando você chama a função OpenProcessToken ou OpenThreadToken para obter um identificador para um token de acesso, o sistema verifica os direitos de acesso solicitados em relação à DACL no descritor de segurança do token.
Veja a seguir os direitos de acesso válidos para objetos de token de acesso:
Os direitos de acesso padrão DELETE, READ_CONTROL, WRITE_DAC e WRITE_OWNER. Os tokens de acesso não dão suporte ao direito de acesso padrão SYNCHRONIZE.
O ACCESS_SYSTEM_SECURITY direito de obter ou definir o SACL no descritor de segurança do objeto.
Os direitos de acesso específicos para tokens de acesso, que estão listados na tabela a seguir.
Valor Significado TOKEN_ADJUST_DEFAULT Necessário para alterar o proprietário padrão, o grupo primário ou a DACL de um token de acesso. TOKEN_ADJUST_GROUPS Necessário para ajustar os atributos dos grupos em um token de acesso. TOKEN_ADJUST_PRIVILEGES Necessário para habilitar ou desabilitar os privilégios em um token de acesso. TOKEN_ADJUST_SESSIONID Necessário para ajustar a ID de sessão de um token de acesso. O privilégio SE_TCB_NAME é necessário. TOKEN_ASSIGN_PRIMARY Necessário para anexar um token primário a um processo. O privilégio SE_ASSIGNPRIMARYTOKEN_NAME também é necessário para realizar essa tarefa. TOKEN_DUPLICATE Necessário para duplicar um token de acesso. TOKEN_EXECUTE O mesmo que STANDARD_RIGHTS_EXECUTE. TOKEN_IMPERSONATE Necessário para anexar um token de acesso de representação a um processo. TOKEN_QUERY Necessário para consultar um token de acesso. TOKEN_QUERY_SOURCE Necessário para consultar a origem de um token de acesso. TOKEN_READ Combina STANDARD_RIGHTS_READ e TOKEN_QUERY. TOKEN_WRITE Combina STANDARD_RIGHTS_WRITE, TOKEN_ADJUST_PRIVILEGES, TOKEN_ADJUST_GROUPS e TOKEN_ADJUST_DEFAULT. TOKEN_ALL_ACCESS Combina todos os direitos de acesso possíveis para um token.