Autenticação para conexões remotas
O Gerenciamento Remoto do Windows mantém a segurança para comunicação entre computadores, dando suporte a vários métodos padrão de autenticação e criptografia de mensagens.
Acesso de grupo padrão
Durante a instalação, o WinRM cria o grupo local WinRMRemoteWMIUsers__. Em seguida, o WinRM restringe o acesso remoto a qualquer usuário que não seja membro do grupo de administração local ou do grupo WinRMRemoteWMIUsers__. Você pode adicionar um usuário local, um usuário de domínio ou um grupo de domínio para WinRMRemoteWMIUsers__ digitando grupo local net WinRMRemoteWMIUsers__ /add <domain>\<nome de usuário> no prompt de comando. Opcionalmente, você pode usar a Política de Grupo para adicionar um usuário ao grupo.
Configurações de autenticação padrão
As credenciais padrão, o nome de usuário e a senha são as credenciais para a conta de usuário conectada que executa o script.
Para alterar para outra conta em um computador remoto
- Especifique as credenciais em um objeto ConnectionOptions ou objeto IWSManConnectionOptions e forneça-as à chamada CreateSession.
- Defina o WSManFlagCredUserNamePassword no parâmetro de sinalizadores na chamadaCreateSession do.
A lista a seguir contém uma lista do que ocorre quando um script ou aplicativo é executado sob as credenciais padrão:
- kerberos é o método padrão de autenticação quando o cliente está em um domínio e a cadeia de caracteres de destino remoto não é uma das seguintes: localhost, 127.0.0.1 ou [::1].
- Negociar é o método padrão quando o cliente não está em um domínio, mas a cadeia de caracteres de destino remoto é uma das seguintes: localhost, 127.0.0.1 ou [::1].
Se você fornecer credenciais explícitas com um objeto ConnectionOptions, Negotiate será o método padrão. A autenticação de negociação determina se o método de autenticação em andamento é Kerberos ou NTLM, dependendo se os computadores estão em um domínio ou grupo de trabalho. Se estiver se conectando a um computador de destino remoto usando uma conta local, a conta deverá ser prefixada com o nome do computador. Por exemplo, myComputer\myUsername.
Se você especificar a autenticação Negotiate, Digest ou Basic e não fornecer um objeto ConnectionOptions, receberá um erro indicando que as credenciais explícitas são necessárias. Se HTTPS não for o transporte, o computador remoto de destino deverá ser configurado na lista de computadores host confiáveis.
Para obter mais informações sobre os tipos de autenticação habilitados nas configurações padrão, consulte Instalação e Configuração do Windows Remote Management.
Autenticação Básica
Para estabelecer explicitamente autenticação de Básica na chamada para WSMan.CreateSession, defina os sinalizadores WSManFlagUseBasic e WSManFlagCredUserNamePassword sinalizadores no parâmetro de sinalizadores. A autenticação básica está desabilitada nas configurações padrão para o cliente WinRM e o servidor WinRM.
Autenticação digest
Para estabelecer explicitamente a autenticação Digest na chamada para WSMan.CreateSession, defina o sinalizador WSManFlagUseDigest no parâmetro de sinalizadores. Não há suporte para Digest. Ele não pode ser configurado para o componente do servidor WinRM.
Negociar Autenticação
Para estabelecer explicitamente a autenticação de Negociar, também conhecida como Autenticação Integrada do Windows, na chamada para WSMan.CreateSession, defina o sinalizador WSManFlagUseNegotiate no parâmetro sinalizadores.
UAC (Controle de Conta de Usuário) afeta o acesso ao serviço WinRM. Quando a autenticação Negotiate é usada em um grupo de trabalho, somente a conta de Administrador interna pode acessar o serviço. Para permitir que todas as contas no grupo Administradores acessem o serviço, defina o seguinte valor do Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy do Microsoft = 1
Autenticação Kerberos
Para estabelecer explicitamente autenticação Kerberos na chamada para WSMan.CreateSession, defina o sinalizador WSManFlagUseKerberos no parâmetro de sinalizadores. Os computadores cliente e servidor devem ser ingressados em um domínio. Se você usar Kerberos como o método de autenticação, não poderá usar um endereço IP na chamada para WSMan.CreateSession ou IWSMan::CreateSession.
Autenticação baseada em certificado do cliente
Para estabelecer a autenticação baseada em certificado do cliente na chamada para WSMan.CreateSession, defina o sinalizador WSManFlagUseClientCertificate no parâmetro de sinalizadores.
Primeiro, você deve habilitar a autenticação de certificado no cliente e no serviço usando a ferramenta de linha de comando do Winrm. Para obter mais informações, consulte Habilitando opções de autenticação. Você também deve criar uma entrada na tabela CertMapping no computador do servidor WinRM. Isso estabelece um mapeamento entre um ou mais certificados e uma conta local. Depois que o certificado tiver sido usado para autenticação e autorização, a conta local correspondente será usada para operações executadas pelo serviço WinRM.
O mapeamento pode ser criado para um URI de recurso específico. Para saber mais, incluindo como criar uma entrada de tabela CertMapping, digite ajuda do winrm a certificar no prompt de comando.
Nota
O certificado de tamanho máximo utilizável pelo WinRM neste contexto é de 16 KB.
Habilitar ou desabilitar opções de autenticação
A opção de autenticação padrão na instalação do sistema é Kerberos. Para obter mais informações, consulte instalação e configuração parade Gerenciamento Remoto do Windows.
Se o script ou aplicativo exigir um método de autenticação específico que não esteja habilitado, você deverá alterar a configuração para habilitar esse tipo de autenticação. Essa alteração pode ser feita usando a ferramenta de linha de comando Winrm ou por meio da Política de Grupo para o objeto de política de grupo de gerenciamento remoto do Windows. Você também pode optar por desabilitar determinados métodos de autenticação.
Para habilitar ou desabilitar a autenticação com a ferramenta Winrm
Para definir a configuração do cliente WinRM, use o comando Winrm Set e especifique o cliente. Por exemplo, o comando a seguir desabilita a autenticação digest para o cliente.
winrm set winrm/config/client/auth @{Digest="false"}
Para definir a configuração do servidor WinRM, use o comando Winrm Set e especifique o serviço. Por exemplo, o comando a seguir habilita a autenticação Kerberos para o serviço.
winrm set winrm/config/service/auth @{Kerberos="true"}
Tópicos relacionados
-
usando de Gerenciamento Remoto do Windows