O Logon único do TeamViewer (SSO) visa reduzir os esforços de gerenciamento de usuários em grandes empresas, conectando o TeamViewer a provedores de identidade e diretórios de usuários.

Este artigo se aplica aos clientes do TeamViewer (Classic) com uma licença Enterprise/Tensor.

Requisitos

Para usar o Logon único TeamViewer, você precisa

  • do TeamViewer versão 13.2.1080 ou mais recente
  • um provedor de identidade compatível com SAML 2.0 (IdP)*
  • uma conta TeamViewer para acessar o Console de Gerenciamento e adicionar domínios
  • acesso ao gerenciamento de DNS de seu domínio para verificar a propriedade do domínio
  • ou do TeamViewer Tensor (Classic).

Configuração do Console de Gerenciamento do TeamViewer (MCO)

O Logon único (SSO) é ativado em um nível de domínio para todas as contas TeamViewer usando um endereço de e-mail com este domínio. Uma vez ativado, todos os usuários que se conectarem a uma conta TeamViewer correspondente serão redirecionados para o provedor de identidade que foi configurado para o domínio.

Por motivos de segurança e para evitar abusos, é necessário verificar a propriedade do domínio antes que o recurso seja ativado.

Adicionar um novo domínio

Para ativar o Logon único, faça login no console de gerenciamento e selecione a entrada do menu Logon único. Clique em Adicionar domínio e insira o domínio para o qual deseja ativar a Conexão Única.

Você também precisará informar os metadados do seu provedor de identidade. Existem três opções disponíveis para fazer isso:

  • via URL: insira seu URL de metadados IdP no campo correspondente
  • via XML: selecione e envie seu XML de metadados
  • Configuração manual: informe manualmente todas as informações necessárias. Observe que a chave pública deve ser uma string codificada em Base64.

Criar um identificador personalizado

Depois que o domínio for adicionado, o identificador personalizado pode ser gerado. Este identificador personalizado não é armazenado pelo TeamViewer, mas é usado para a configuração inicial do SSO. Ele não deve ser alterado em nenhum momento, pois isso interromperá o Logon único e uma nova configuração será necessária. Qualquer string aleatória pode ser usada como identificador de cliente. Esta string é necessária posteriormente para a configuração do IdP.

Verificar a propriedade do domínio

Depois que um domínio tiver sido adicionado com sucesso, você precisa verificar a propriedade do domínio. o Logon único não será ativada antes que a verificação do domínio seja concluída.

Para verificar o domínio, crie um novo registro TXT para o seu domínio com os valores mostrados na página de verificação.

📌Lembrete: O processo de verificação pode levar várias horas por causa do sistema DNS.

A caixa de diálogo para adicionar um registro TXT pode ser semelhante a:

📌Lembrete: Dependendo do seu sistema de gerenciamento de domínio, a descrição dos campos de entrada pode variar.

Após criar o novo registro TXT, inicie o processo de verificação clicando no botão “Iniciar Verificação”.

📌Lembre-se de que: O processo de verificação pode levar várias horas por causa do sistema DNS.

💡Dica: O TeamViewer procurará o registro de verificação TXT por 24 horas após o início da verificação. Caso não encontremos o registro TXT dentro de 24 horas, a verificação falhará e o status será atualizado de acordo. Você precisa reiniciar a verificação através desta caixa de diálogo neste caso. 

💡Dica2: Ao adicionar um domínio para o Logon único, é recomendável adicionar a conta proprietária à lista de exclusão. O motivo para isso é um cenário de fallback em que você mantém o acesso à configuração do domínio mesmo se o IdP não estiver funcionando. 

Exemplo: A conta TeamViewer "[email protected]" adiciona o domínio „example.com“ para Logon único. Após adicionar o domínio, o endereço de e-mail "[email protected]" deve ser adicionado à lista de exclusão. Isso é necessário para fazer alterações na configuração do Logon único, mesmo quando o Logon único não funcionar devido a uma configuração incorreta.

💡Dica3: Ao adicionar um domínio paro Logon único, é recomendável adicionar proprietários adicionais ao domínio de Logon único, uma vez que a propriedade do Logon único não é herdada dentro de sua empresa. 

Exemplo: Depois que a conta TeamViewer "[email protected]" adicionar o domínio „example.com“ para Logon único, ele adiciona vários administradores da empresa (por exemplo, "[email protected]") como proprietários de domínio, para que também possam gerenciar o domínio e suas configurações de Logon único.

Configuração do provedor de identidade para Serviços de Federação do Active Directory (ADFS)

As etapas a seguir descrevem o procedimento de configuração dos Serviços de Federação do Active Directory (ADFS). Instruções e comandos foram obtidos de uma máquina executando o Windows Server 2016 Standard (versão 1607).

A configuração consiste basicamente nas duas etapas a seguir:

1. Adicione um objeto de confiança de terceira parte confiável ADFS o serviço de Logon Único do TeamViewer. Esta etapa requer que os metadados do serviço SSO do TeamViewer sejam inseridos. Isso pode ser feito de uma das seguintes maneiras:

  • Automático: Isso requer apenas a inserção de um URL para o arquivo XML de metadados. O arquivo é baixado pelo ADFS e todos os campos obrigatórios do objeto de confiança de terceira parte confiável são preenchidos automaticamente. É necessário que o servidor ADFS tenha acesso à Internet.
  • Semiautomático: Como o método automático, mas em vez de fornecer um URL para os metadados, o próprio arquivo é baixado com antecedência e fornecido ao ADFS como um arquivo XML. Isso pode ser útil se o servidor ADFS não tiver acesso à Internet.
  • Manual: Se nenhum dos métodos acima forem aplicáveis, os metadados podem ser inseridos manualmente no ADFS.

2. Adicione uma regra de transformação à política de emissão da declaração da novo objeto de confiança de terceira parte confiável.

As seções a seguir descrevem a configuração para todos os três cenários usando o prompt de comando do PowerShell e a interface gráfica do usuário de gerenciamento ADFS:

Configuração automática usando o PowerShell

Abra uma nova janela de comando do PowerShell e digite os seguintes comandos para adicionar uma novo objeto de confiança de terceira parte confiável com uma política de emissão de declaração padrão para ADFS:

$customerId = 'Your Generated Customer Identifier'
$claimRules = @'
 @RuleTemplate = "LdapClaims"
 @RuleName = "TeamViewer Login"
 c:[Type ==
 "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
 Issuer == "AD AUTHORITY"]
 => issue(store = "Active Directory", types =
 ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
 "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"), query =
 ";objectGUID,mail;{0}", param = c.Value);
 @RuleName = "TeamViewer Customer ID"
 => issue(Type = "http://sso.teamviewer.com/saml/claims/customeridentifier",
 Value = "
'@ + $customerId + '");'
Add-AdfsRelyingPartyTrust `
 -Name TeamViewer `
 -MetadataUrl https://sso.teamviewer.com/saml/metadata.xml `
 -IssuanceTransformRules $claimRules `
 -AccessControlPolicyName "Permit everyone" `
 -AutoUpdateEnabled $true `
 -MonitoringEnabled $true `
 -Enabled $true

Adapte o valor do parâmetro "-Name" (linha 13) de acordo com suas necessidades. Este é o nome exibido na interface gráfica do usuário ADFS. Além disso, o nome da política de controle de acesso (linha 16) pode ser diferente em seu sistema.

Todas as configurações podem ser alteradas posteriormente pelo PowerShell ou pela interface gráfica do usuário ADFS.

Configuração semiautomática usando PowerShell

É muito semelhante ao método "automático" descrito acima. É necessário baixar o arquivo XML de metadados com antecedência e copiá-lo no servidor ADFS.

O arquivo de metadados pode ser baixado do seguinte URL:

https://sso.teamviewer.com/saml/metadata.xml

Os comandos a seguir presumem que o arquivo XML de metadados está disponível no diretório atual do prompt de comando do PowerShell como "metadata.xml".

$customerId = 'Your Generated Customer Identifier'
$claimRules = @'
 @RuleTemplate = "LdapClaims"
 @RuleName = "TeamViewer Login"
 c:[Type ==
 "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
 Issuer == "AD AUTHORITY"]
 => issue(store = "Active Directory", types =
 ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
 "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"), query =
 ";objectGUID,mail;{0}", param = c.Value);
 @RuleName = "TeamViewer Customer ID"
 => issue(Type = "http://sso.teamviewer.com/saml/claims/customeridentifier",
 Value = "
'@ + $customerId + '");'
Add-AdfsRelyingPartyTrust `
 -Name TeamViewer `
 -MetadataFile metadata.xml `
 -IssuanceTransformRules $claimRules `
 -AccessControlPolicyName "Permit everyone" `
 -Enabled $true

A principal diferença para o método "automático" é o uso do parâmetro "-MetadataFile" (em vez de "-MetadataUrl" - linha 14). Os parâmetros "-AutoUpdateEnabled" e "-MonitoringEnabled" foram omitidos, pois ambos exigem que seja fornecido um URL de metadados válido.

Configuração manual usando o Powershell

A configuração manual requer o download e a extração da chave pública do certificado de assinatura/criptografia do TeamViewer SAML Service Provider.

Execute os seguintes comandos em um prompt de comando do PowerShell para adicionar manualmente um objeto de confiança de terceira parte confiável:

$customerId = 'Your Generated Customer Identifier'
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2(".\sso.teamviewer.com - saml.cer", "")
$claimRules = @'
 @RuleTemplate = "LdapClaims"
 @RuleName = "TeamViewer Login"
 c:[Type ==
 "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
 Issuer == "AD AUTHORITY"]
 => issue(store = "Active Directory", types =
 ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
 "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"), query =
 ";objectGUID,mail;{0}", param = c.Value);
 @RuleName = "TeamViewer Customer ID"
 => issue(Type = "http://sso.teamviewer.com/saml/claims/customeridentifier",
 Value = "
'@ + $customerId + '");'
$samlEndpoints = @(
 (New-AdfsSamlEndpoint -Binding POST -Protocol SAMLAssertionConsumer -Uri https://sso.teamviewer.com/saml/acs -Index 0),
 (New-AdfsSamlEndpoint -Binding Redirect -Protocol SAMLAssertionConsumer -Uri https://sso.teamviewer.com/saml/acs -Index 1)
)
Add-AdfsRelyingPartyTrust `
 -Name "TeamViewer" `
 -Identifier "https://sso.teamviewer.com/saml/metadata" `
 -RequestSigningCertificate $cert `
 -EncryptionCertificate $cert `
 -SamlEndpoint $samlEndpoints `
 -IssuanceTransformRules $claimRules `
 -AccessControlPolicyName "Permit everyone" `
 -Enabled $true

Também dê uma olhada na documentação oficial do commandlet PowerShell "Add-AdfsRelyingPartyTrust": https://technet.microsoft.com/en-us/library/ee892322.aspx

Configuração semiautomática usando ferramentas de gerenciamento ADFS (gráfica)

1. Inicie as ferramentas de gerenciamento ADFS no Server Manager.

2. Acesse ADFS ➜ Objetos de confiança de terceira parte confiáveis e clique em Adicionar objeto de confiança de terceira parte confiável... no painel de navegação à direita

3. Selecione Claims aware e inicie o assistente clicando no botão Start.

4. Dependendo se você deseja ter a variante ‘ou’, selecione

  • importar os metadados via URL.

5. Escolha um nome para o objeto de confiança de terceira parte confiável, como

TeamViewer ou sso.teamviewer.com ou escolha o nome pré-preenchido, se aplicável

6. Selecione a política de controle de acesso para o objeto de confiança de terceira parte confiável. Por exemplo, escolha permitir a todos

7. Clique em Avançar na tela de resumo para adicionar o objeto de confiança de terceira parte confiável

Em seguida, a política de emissão de declaração precisa ser configurada para a novo objeto de confiança de terceira parte confiável.

  1. Selecione o objeto de confiança de terceira parte confiável e clique em"Editar política de emissão de declaração..." no painel de navegação à direita.
  2. Clique em Adicionar regra e escolha Enviar atributos LDAP como declarações
  3. Insira um nome para a regra de transformação, por exemplo, Login do TeamViewer
  4. Selecione Active Directory como armazenamento de atributos.
  5. Adicione os dois mapeamentos a seguir:
Atributo LDAP Tipo de reivindicação de saída Observações

objectGUID

ID do nome

Insira o valor do campo Atributo LDAP manualmente.

Pode ser necessário clicar primeiro na seta suspensa antes de começar a digitar.

Endereço de e-mail

Endereço de email

-

6. Clique em

Concluir.

7. Adicione uma segunda regra de declaração adicionando Adicionar regra novamente e selecione Enviar declarações usando uma regra personalizada.

8. Insira um nome para a regra de declaração personalizada, por exemplo, ID de cliente TeamViewer

9. Insira a seguinte regra personalizada e defina o Valor para seu identificador de cliente gerado:

=> issue(Type = "http://sso.teamviewer.com/saml/claims/customeridentifier", Value = "Your Generated Customer Identifier");

Certifique-se de adicionar ao campo de valor seu próprio identificador de cliente gerado.

10. Clique em Concluir

Configuração manual usando ferramentas de gerenciamento ADFS (gráfico)

A configuração manual requer o download e a extração da chave pública do certificado de assinatura/criptografia do TeamViewer SAML Service Provider.

Consulte a seção de Informações técnicas abaixo sobre como obter o certificado.

1. Inicie as ferramentas de gerenciamento ADFS no Server Manager

2. Acesse ADFS - Objeto de confiança de terceira parte confiável e clique em Adicionar objeto de confiança de terceira parte confiável... no painel de navegação à direita

3. Selecione Claims aware e inicie o assistente clicando no botão Start

4. Selecione para inserir os dados manualmente (terceiro marcador)

5. Escolha um nome para o objeto de confiança de terceira parte confiável, como TeamViewer ou sso.teamviewer.com ou escolha o nome pré-preenchido, se aplicável

6. Navegue até o arquivo do certificado (veja o comentário acima)

7. Marque a caixa para Ativar suporte para o protocolo SAML 2.0 WebSSO e digite o seguinte URL de serviço: https://sso.teamviewer.com/saml/acs

8. Na página Configurar Identificadores, adicione https://sso.teamviewer.com/saml/metadata como identificador

9. Confirme a adição do objeto de confiança de terceira parte confiável.

10. Configure a política de emissão de declaração conforme descrito para o procedimento Automático acima.

11. Em seguida, configure o certificado de assinatura do objeto de confiança de terceira parte confiável. Portanto, abra as propriedades (clique duas vezes) e navegue até a guia Assinatura. Acesse o mesmo arquivo de certificado mencionado acima

12. Opcionalmente, adicione um segundo endpoint SAML ao objeto de confiança de terceira parte confiável. Acesse a guia Endpoints e clique em Adicionar endpoint SAML

  • Selecione SAML Assertion Consumer como tipo de endpoint
  • Selecione Redirect como binding
  • Defina o índice para 1
  • Defina o URL confiável como https://sso.teamviewer.com/saml/acs

Configuração do aplicativo TeamViewer

O TeamViewer é compatível com Single Sign-On a partir da versão 13.2.1080.

As versões anteriores não são compatíveis com o Single Sign-On e não podem redirecionar os usuários para seu provedor de identidade durante o login. A configuração do aplicativo é opcional, mas permite alterar o navegador utilizado para o login SSO do IdP.

O aplicativo TeamViewer usará um navegador incorporado para a autenticação do provedor de identidade por padrão. Se preferir usar o navegador padrão do sistema operacional, você pode alterar este comportamento:

Windows:

HKEY_CURRENT_USER\Software\TeamViewer\SsoUseEmbeddedBrowser = 0 (DWORD)

macOS:

defaults write com.teamviewer.teamviewer.preferences SsoUseEmbeddedBrowser -int 0

📌Lembrete: Você precisará reiniciar o aplicativo TeamViewer após criar ou alterar o registro.