O TeamViewer Logon único, Single Sign-On (SSO), tem como objetivo reduzir os esforços de gerenciamento de usuários para grandes empresas, conectando o site TeamViewer a provedores de identidade e diretórios de usuários.

Este artigo se aplica aos clientes da TeamViewer com uma licença TeamViewer Tensor.

Requisitos

Para usar o Logon único, você precisa:

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

Configuração do TeamViewer 

O Logon único é ativado em um nível de domínio para todas as contas TeamViewer que usam um endereço de e-mail com esse domínio. Uma vez ativado, todos os usuários que fizerem login em 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.

Adicione um novo domínio

Para ativar o Logon único, entre no Management Console, selecione Administração da empresa e, em seguida, a entrada de menu Single Sign-On (Logon único). Clique em Add domain (Adicionar domínio) e digite o domínio para o qual você deseja ativar o SSO.

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

  • via URL: Digite o URL de metadados do IdP no campo correspondente
  • via XML: Selecione e carregue seus metadados XML
  • Configuração manual: Insira manualmente todas as informações necessárias. Observe que a chave pública deve ser uma cadeia de caracteres codificada em Base64

Quando isso for feito, clique em Continue (Continuar).

Agora, selecione os endereços de e-mail ou grupos de usuários que deseja excluir do SSO e clique em Add domain (Adicionar domínio).

Crie um identificador personalizado

Depois que o domínio tiver sido adicionado, o identificador personalizado poderá ser gerado. Esse identificador personalizado não é armazenado pelo site TeamViewer, mas é usado para a configuração inicial do SSO. Ele não deve ser alterado em nenhum momento, pois isso interromperá o Single Sign-On e será necessária uma nova configuração. Qualquer cadeia aleatória pode ser usada como identificador de cliente. Essa cadeia será necessária posteriormente para a configuração do IDP. Para gerar o identificador personalizado, clique em Generate (Gerar).

Verifique a propriedade do domínio

Depois que um domínio for adicionado com êxito, você precisará verificar a propriedade do domínio.

O Logon único não será ativado 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.

Observação: O processo de verificação pode levar várias horas devido ao sistema DNS.

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

Depois de criar o novo registro TXT, inicie o processo de verificação clicando no botão Start verification (Iniciar verificação).

Importante: Saiba que o processo de verificação pode levar várias horas devido ao sistema DNS.

Dica: O TeamViewer procurará o registro de verificação TXT por 24 horas após o início da verificação. Se não conseguirmos encontrar o registro TXT dentro de 24 horas, a verificação falhará e o status será atualizado de acordo. Nesse caso, você precisará reiniciar a verificação por meio dessa caixa de diálogo.

Configure o provedor de identidade para o Active Directory Federation Services (ADFS)

As etapas a seguir descrevem a configuração do Active Directory Federation Services (ADFS). As instruções e os comandos foram obtidos em uma máquina que executa o Windows Server 2016 Standard (versão 1607).

A configuração consiste basicamente de duas etapas:

1. Adicione um ADFS Relying Party Trust para o Logon único. Esta etapa requer a inserção de metadados do Logon único. Isso pode ser feito das seguintes maneiras:

A) 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 da confiança da parte confiável são preenchidos automaticamente. É necessário que o servidor ADFS tenha acesso à Internet.

B) Semi-automático: Como o método automático, mas em vez de fornecer um URL para os metadados, o arquivo em si é baixado antecipadamente e fornecido ao ADFS como arquivo XML. Isso pode ser útil se o servidor ADFS não tiver acesso à Internet.

C) Manual: Se nenhum dos métodos acima for aplicável, os metadados poderão ser inseridos manualmente no ADFS.

2. Adicione uma regra de transformação à política de emissão de solicitações da nova confiança da parte confiável.

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

Configuração automática usando o PowerShell

Abra uma nova janela de comando do PowerShell e digite os seguintes comandos para adicionar uma nova confiança de parte confiável com uma política de emissão de reivindicação padrão para o 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 às suas necessidades. Esse é o nome exibido na interface gráfica do usuário do ADFS. Além disso, o -AccessControlPolicyName pode ser diferente no seu sistema.

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

Configuração semi-automática usando o PowerShell

Esse método é muito semelhante ao método Automático descrito acima. Ele requer o download prévio do arquivo XML de metadados e sua cópia para o servidor ADFS.

O arquivo de metadados pode ser baixado aqui.

Os comandos a seguir pressupõem que o arquivo XML de metadados esteja 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 em relação ao método Automático é o uso do parâmetro -MetadataFile (em vez de -MetadataUrl). 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 provedor de serviços TeamViewer SAML.

Execute os seguintes comandos em um prompt de comando do PowerShell para adicionar manualmente uma confiança de 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

Dê uma olhada também na documentação oficial: Add-AdfsRelyingPartyTrust PowerShell commandlet

Configuração semi-automática usando as ferramentas de gerenciamento do ADFS (gráficas)

1. Inicie as ferramentas de gerenciamento do ADFS no Gerenciador de servidores.

2. Navegue até ADFSRelying Party Trusts (Confianças de Partes Confiantes) e clique em Add Relying Party Trust... ( Adicionar confiança de terceira parte confiável...) no painel de navegação à direita.

3. Selecione Claims aware (Reivindicações cientes) e inicie o assistente clicando no botão Start (Iniciar).

4. Dependendo do fato de você desejar ter a variante ou a variante, selecione:

  • Importar os metadados por meio do URL

5. Escolha um nome para a confiança da 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 a confiança da parte confiável. Por exemplo, escolha permit everyone (permitir todos).

7. Clique em Next (próximo) na tela de resumo para adicionar a confiança da parte confiável.

Em seguida, a política de emissão de reivindicações precisa ser configurada para a nova confiança da parte confiável.

  1. Selecione a parte confiável e clique em Edit Claim Issuance Policy... (Editar política de emissão de solicitações) no painel de navegação à direita.
  2. Clique em Add Rule (Adicionar regra) e selecione Send LDAP Attributes as Claims (Enviar atributos LDAP como reivindicações).
  3. Digite um nome para a regra de transformação, por exemplo, TeamViewer Login.
  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

user.email

Insira o valor do campo Atributo LDAP manualmente.

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

customeridentifier

"Seu ID de cliente gerado"

-

6. Clique em Finish (Concluir).

7. Adicione uma segunda regra de reclamação em Add Rule (Adicionar regra) e selecione Send Claims Using a Custom Rule (Enviar reclamações usando uma regra personalizada).

8. Digite um nome para a regra de reclamação personalizada, por exemplo, TeamViewer Customer ID.

9. Insira a seguinte regra personalizada e defina o Value (Valor) como 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 Finish (Concluir).

Configuração manual usando as ferramentas de gerenciamento do ADFS (gráficas)

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

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

1. Inicie as ferramentas de gerenciamento do ADFS no Server Manager (Gerenciador de servidores).

2. Navegue até ADFS - Relying Party Trusts (Relações de confiança de terceira parte confiável) e clique em Add Relying Party Trust... (Adicione confiança de parte confiável..) no painel de navegação à direita.

3. Selecione Claims aware (Reivindicações cientes) e inicie o assistente clicando no botão (Start) Iniciar.

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

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

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

7. Marque a caixa Enable support for the SAML 2.0 WebSSO protocol (Habilitar 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 Configure Identifiers (Configurar identificadores), adicione https://sso.teamviewer.com/saml/metadata como identificador.

9. Confirme a adição da confiança da parte confiável.

10. Configure a política de emissão de reclamações conforme descrito no procedimento automático acima.

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

12. Opcionalmente, adicione um segundo ponto de extremidade SAML à confiança da parte confiável. Navegue até a guia Endpoints e clique em Add SAML endpoint:

  • Selecione SAML Assertion Consumer como tipo de ponto de extremidade
  • Selecione Redirect como vinculação
  • Defina o índice como 1
  • Defina o URL confiável como https://sso.teamviewer.com/saml/acs

TeamViewer Configuração do client

TeamViewer é compatível com o Logon único a partir da versão 13.2.1080.

As versões anteriores não são compatíveis com Logon único e não podem redirecionar os usuários para o seu provedor de identidade durante o login. A configuração do client é opcional, mas permite alterar o navegador usado para o login de SSO do IdP.

O 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 esse comportamento:

Windows:

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

macOS:

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

Observação: É necessário reiniciar o TeamViewer após criar ou alterar o registro.