Acesso a namespaces do WMI

O WMI usa um descritor de segurança padrão do Windows para controlar o acesso a namespaces do WMI. Ao se conectar ao WMI, por meio do moniker "winmgmts" do WMI ou de uma chamada para IWbemLocator::ConnectServer ou SWbemLocator.ConnectServer, você se conecta a um namespace específico.

As seguintes informações são discutidas neste tópico:

Segurança de namespace do WMI

O WMI mantém a segurança do namespace comparando o token de acesso do usuário que se conecta ao namespace com o descritor de segurança do namespace. Para obter mais informações sobre a segurança do Windows, confira Acesso a objetos do WMI que podem ser protegidos.

Lembre-se de que, do Windows Vista em diante, o UAC (Controle de Conta de Usuário) afeta o acesso aos dados do WMI e o que pode ser configurado com o Controle do WMI. Para obter mais informações, consulte Permissões padrão em namespaces do WMI e Controle de Conta de Usuário e WMI.

O acesso a namespaces do WMI também é afetado quando a conexão vem de um computador remoto. Para obter mais informações, confira Conectar-se ao WMI em um computador remoto, Proteger uma conexão remota do WMI e Conectar-se por meio do Firewall do Windows.

Os provedores devem confiar na configuração de representação da conexão para determinar se o script do cliente ou o aplicativo deve receber dados. Para obter mais informações sobre scripts e aplicativos cliente, confira Configurar a segurança do processo do aplicativo cliente. Para obter mais informações sobre a representação do provedor, consulte Desenvolver um provedor WMI.

Auditoria de namespace do WMI

O WMI usa SACLs (Listas de controle de acesso do sistema) de namespace para auditar a atividade do namespace. Para habilitar a auditoria de namespaces do WMI, use a guia Segurança no Controle do WMI para alterar as configurações de auditoria do namespace.

A auditoria não é habilitada durante a instalação do sistema operacional. Para habilitar a auditoria, clique na guia Auditoria na janela Segurança padrão. Em seguida, você pode adicionar uma entrada de auditoria.

Uma Política de Grupo para o computador local deve ser definida para permitir a auditoria. Habilite a auditoria executando o snap-in Gpedit.msc do MMC e defina Acesso a Objeto de Auditoria em Configuração do Computador>Configurações do Windows >Configurações de Segurança>Políticas Locais>Política de Auditoria.

Uma entrada de auditoria edita a SACL do namespace. Quando você adiciona uma entrada de auditoria, ela é um usuário, um grupo, um computador ou uma entidade de segurança interna. Depois de adicionar a entrada, você pode definir as operações de acesso que resultam em eventos do Log de Segurança. Por exemplo, para o grupo Usuários Autenticados, você pode clicar em Executar Métodos. Essa configuração gera eventos de Log de Segurança sempre que um membro do grupo Usuários Autenticados executa um método nesse namespace. A ID de evento para eventos do WMI é 4662.

Sua conta deve estar no grupo Administradores e em execução com privilégios elevados para alterar as configurações de auditoria. A conta de administrador interno também pode alterar a segurança ou a auditoria de um namespace. Para obter mais informações sobre como executar no modo elevado, veja Controle de Conta de Usuário e WMI.

A auditoria do WMI gera eventos de êxito ou falha nas tentativas de acessar namespaces do WMI. O serviço não audita o êxito ou a falha das operações do provedor. Por exemplo, quando um script se conecta ao WMI e a um namespace, ele pode falhar porque a conta na qual o script está em execução não tem acesso a esse namespace ou pode tentar uma operação, como editar a DACL, que não foi concedida.

Se você estiver executando em uma conta no grupo Administradores, poderá exibir os eventos de auditoria de namespace na interface do usuário Visualizador de Eventos.

Tipos de eventos de namespace

O WMI rastreia os seguintes tipos de eventos no Log de Eventos de Segurança:

  • Êxito na Auditoria

    A operação deve concluir com êxito duas etapas para ser considerada Êxito na Auditoria. Primeiro, o WMI concede acesso ao aplicativo cliente ou script com base no SID do cliente e na DACL do namespace. Em segundo lugar, a operação solicitada encontra a correspondência dos direitos de acesso desse usuário ou grupo na SACL do namespace.

  • Falha na Auditoria

    O WMI nega o acesso ao namespace, mas a operação solicitada encontra a correspondência dos direitos de acesso desse usuário ou grupo na SACL do namespace.

Configurações de acesso ao namespace

Você pode ver os direitos de acesso ao namespace de várias contas no Controle do WMI. Essas constantes são descritas em Constantes de Direitos de Acesso ao Namespace. Você pode alterar o acesso a um namespace do WMI usando o Controle do WMI ou programaticamente. Para obter mais informações, confira Alterar a segurança de acesso em objetos que podem ser protegidos.

O WMI audita alterações em todas as permissões de acesso listadas na lista a seguir, exceto a permissão Habilitar Remotamente. As alterações são registradas como êxito ou falha na auditoria de acordo com a permissão Editar Segurança.

Executar métodos

Permite que o usuário execute métodos definidos em classes do WMI. Corresponde à constante de permissão de acesso WBEM_METHOD_EXECUTE.

Gravação total

Permite acesso total de leitura, gravação e exclusão a classes do WMI e instâncias de classe, tanto estáticas quanto dinâmicas. Corresponde à constante de permissão de acesso WBEM_FULL_WRITE_REP.

Gravação parcial

Permite o acesso de gravação a instâncias de classe estáticas do WMI. Corresponde à constante de permissão de acesso WBEM_PARTIAL_WRITE_REP.

Gravação do provedor

Permite o acesso de gravação a instâncias de classe dinâmicas do WMI. Corresponde à constante de permissão de acesso WBEM_WRITE_PROVIDER.

Habilitar Conta

Permite o acesso de leitura a instâncias de classe do WMI. Corresponde à constante de permissão de acesso WBEM_ENABLE.

Habilitação remota

Permite o acesso ao namespace por meio de computadores remotos. Corresponde à constante de permissão de acesso WBEM_REMOTE_ACCESS.

Leitura de Segurança

Permite o acesso somente leitura às configurações da DACL. Corresponde à constante de permissão de acesso READ_CONTROL.

Editar segurança

Permite o acesso de gravação às configurações da DACL. Corresponde à constante de permissão de acesso WRITE_DAC.

Permissões padrão em namespaces do WMI

Os grupos de segurança padrão são:

  • Usuários Autenticados
  • SERVIÇO LOCAL
  • SERVIÇO DE REDE
  • Administradores (no computador local)

As permissões de acesso padrão para os Usuários autenticados, SERVIÇO LOCAL e SERVIÇO DE REDE são:

  • Executar métodos
  • Gravação total
  • Habilitar Conta

As contas no grupo Administradores têm todos os direitos disponíveis para elas, incluindo a edição de descritores de segurança. No entanto, devido ao UAC (Controle de Conta de Usuário), o Controle do WMI ou o script devem estar em execução com segurança elevada. Para obter mais informações, confira Controle de Conta do Usuário e WMI.

Às vezes, um script ou aplicativo deve habilitar um privilégio de administrador, como SeSecurityPrivilege, para executar uma operação. Por exemplo, um script pode executar o método GetSecurityDescriptor da classe Win32_Printer sem SeSecurityPrivilege e obter as informações de segurança na DACL (lista de controle de acesso discricionário) do descritor de segurança do objeto impressora. No entanto, as informações do SACL não são retornadas para o script, a menos que o privilégio SeSecurityPrivilege esteja disponível e habilitado para a conta. Se a conta não tiver o privilégio disponível, ela não poderá ser habilitada. Para obter mais informações, confira Executar operações privilegiadas.

Sobre o WMI