TeamViewer El objetivo del inicio de sesión único (SSO) es reducir los esfuerzos de gestión de usuarios de las grandes empresas conectando TeamViewer con los proveedores de identidad y los directorios de usuarios.

Este artículo se aplica a l@s clientes de TeamViewer con una licencia Enterprise/Tensor .

Requisitos

Para utilizar TeamViewer Inicio de sesión único, necesita

  • TeamViewer versión 13.2.1080 o posterior
  • un proveedor de identidad (IdP)* compatible con SAML 2.0
  • una cuenta TeamViewer para acceder a Management Console y añadir dominios
  • acceso a la gestión DNS de su dominio para verificar la titularidad del mismo
  • una licencia TeamViewer Tensor .

TeamViewer configuración

El inicio de sesión único (SSO) se activa a nivel de dominio para todas las cuentas de TeamViewer que utilicen una dirección de correo electrónico con este dominio. Una vez activado, todos los usuarios que inician sesión en una cuenta de TeamViewer correspondiente son redirigidos al proveedor de identidad que se ha configurado para el dominio.

Por razones de seguridad y para evitar abusos, es necesario verificar la propiedad del dominio antes de activar la función.

Añadir un nuevo dominio

Para activar el SSO, inicia sesión en la Management Console, selecciona Administración de la empresa y, a continuación, la entrada de menú Inicio de sesión único. Haz clic en Añadir dominio e introduce el dominio para el que deseas activar el SSO.

También debes proporcionar los metadatos de tu proveedor de identidad. Hay tres opciones disponibles para hacerlo:

  • mediante URL: introduce la URL de metadatos de tu IdP en el campo correspondiente
  • vía XML: selecciona y carga sus metadatos XML
  • Configuración manual: introduce manualmente toda la información necesaria. Ten en cuenta que la clave pública debe ser una cadena codificada en Base64.

Una vez hecho esto, haz clic en Continuar.

Ahora, selecciona las direcciones de correo electrónico o los grupos de usuarios que deseas excluir del SSO y haz clic en Añadir dominio.

Crear identificador personalizado

Una vez añadido el dominio, se puede generar el identificador personalizado. Este identificador personalizado no se almacena en TeamViewer, sino que se utiliza para la configuración inicial de SSO. No debe ser cambiado en ningún momento ya que esto romperá el Inicio de sesión único, y será necesaria una nueva configuración. Como identificador de cliente se puede utilizar cualquier cadena aleatoria. Esta cadena será requerida posteriormente para la configuración del IDP. Para generar el identificador personalizado, haga clic en Generar.

Verificar la propiedad del dominio

Una vez añadido correctamente un dominio, debes verificar la propiedad del mismo.

El inicio de sesión único SSO no se activará antes de que se complete la verificación del dominio.

Para verificar el dominio, crea un nuevo registro TXT para tu dominio con los valores que se muestran en la página de verificación.

📌Nota: El proceso de verificación puede tardar varias horas debido al sistema DNS.

📌Nota: Dependiendo de tu sistema de gestión de dominios, la descripción de los campos de entrada puede variar.

Tras crear el nuevo registro TXT, inicia el proceso de verificación pulsando el botón Iniciar verificación.

📌Ten en cuenta que el proceso de verificación puede tardar varias horas debido al sistema DNS.

💡Sugerencia: TeamViewer buscará el registro de verificación TXT durante 24 horas después de iniciar la verificación. Si no podemos encontrar el registro TXT en 24 horas, la verificación falla y el estado se actualiza en consecuencia. En este caso, deberás reiniciar la verificación a través de este cuadro de diálogo.

Configuración del proveedor de identidades para los servicios de federación de Active Directory (ADFS)

Los siguientes pasos describen el procedimiento de configuración de los Servicios de federación de Active Directory (ADFS). Las instrucciones y los comandos se han tomado de un equipo que ejecuta Windows Server 2016 Standard (Versión 1607).

La configuración consiste básicamente en los dos pasos siguientes:

1) Añade un ADFS Relying Party Trust para el servicio Inicio de sesión único de TeamViewer. Este paso requiere que se introduzcan los metadatos del servicio TeamViewer SSO. Esto se puede hacer de una de las siguientes maneras:

  • Automático: Esto sólo requiere introducir una URL al archivo XML de metadatos. La ADFS descarga el archivo y se rellenan automáticamente todos los campos obligatorios de la parte de confianza. Requiere que el servidor ADFS tenga acceso a Internet.
  • Semiautomático: Como el método automático, pero en lugar de proporcionar una URL a los metadatos, el propio archivo se descarga de antemano y se entrega a la ADFS como archivo XML. Esto puede ser útil si el servidor ADFS no tiene acceso a Internet.
  • Manual: Si ninguno de los métodos anteriores es aplicable, los metadatos pueden introducirse manualmente en el ADFS.

2) Añade una regla de transformación a la política de emisión de reclamaciones de la nueva confianza de la parte usuaria.

Las siguientes secciones describen la configuración para los tres escenarios utilizando el símbolo del sistema de PowerShell y la interfaz gráfica de usuario de ADFS Management.

Configuración automática mediante PowerShell

Abre una nueva ventana de comandos de PowerShell e introduce los siguientes comandos para añadir nueva confianza como parte usuaria con una política de emisión de reclamaciones predeterminada a 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

Adapta el valor del parámetro "-Name" (línea 13) a tus necesidades. Este es el nombre que se muestra en la interfaz gráfica de usuario de ADFS. Además, el nombre de la política de control de acceso (línea16) puede diferir en tu sistema.

Todos los ajustes pueden modificarse posteriormente a través de PowerShell o de la interfaz gráfica de usuario de ADFS.

Configuración semiautomática mediante PowerShell

Es muy similar al método "automático" descrito anteriormente. Requiere descargar previamente el archivo XML de metadatos y copiarlo en el servidor ADFS.

El archivo de metadatos puede descargarse de la siguiente URL:

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

Los siguientes comandos asumen que el archivo XML de metadatos está disponible en el directorio actual del símbolo del sistema de 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

La principal diferencia con el método "automático" es el uso del parámetro "-MetadataFile" (en lugar de "-MetadataUrl" - línea 14). Se han omitido los parámetros "-AutoUpdateEnabled" y "-MonitoringEnabled", ya que ambos requieren que se indique una URL de metadatos válida.

Configuración manual mediante Powershell

La configuración manual requiere descargar y extraer la clave pública del certificado de firma/cifrado del proveedor de servicios SAML TeamViewer.

Ejecuta los siguientes comandos en un símbolo del sistema de PowerShell para añadir manualmente una confianza como parte usuaria:

$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

Consulta también la documentación oficial del comando PowerShell "Add-AdfsRelyingPartyTrust": https://technet.microsoft.com/en-us/library/ee892322.aspx

Configuración semiautomática mediante herramientas de gestión de ADFS (gráficas)

1) Inicia las herramientas de gestión de ADFS desde el Administrador de servidores.

2) Vete a ADFS --> confianza como parte usuaria y haz clic en Añadir confianza como parte usuaria... en el panel de navegación de la derecha.

3) Selecciona Claims aware e inicia el asistente pulsando el botón Start

4) Dependiendo de si desea tener la o variante, selecciona

  • importar los metadatos a través de la URL
  • Introduce la URL de los metadatos: https://sso.teamviewer.com/saml/metadata.xml importar los metadatos a través de un archivo. Busca el archivo XML de metadatos descargado. El archivo puede descargarse desde la URL anterior.

5) Elije un nombre para la "relying party trust", como TeamViewer o sso.teamviewer.com o elije el nombre ya rellenado si procede.

6) Selecciona la política de control de acceso para la confianza como parte usuaria. Por ejemplo, seleccione permitir a todos

7) Haz clic en Siguiente en la pantalla de resumen para añadir la confianza de la parte usuaria.

A continuación, es necesario configurar la política de emisión de reclamaciones para la nueva confianza como parte usuaria.

  1. Selecciona la confianza de la parte usuaria y haz clic en "Editar política de emisión de reclamaciones..." en el panel de navegación de la derecha.
  2. Haz clic en Añadir Regla y selecciona Enviar Atributos LDAP como Reclamaciones
  3. Introduce un nombre para la regla de transformación, por ejemplo TeamViewer Login
  4. Selecciona Directorio Activo como Almacén de Atributos.
  5. Añade las dos asignaciones siguientes:
LDAP Attribute Outgoing Claim Type Remarks

objectGUID

user.email

Enter the value of the LDAP Attribute field manually.

You may need to click on the dropdown arrow first, before starting to type.

customeridentifier

"Your Generated Customer ID"

-

6) Haz clic en Finalizar.

7) Añade una segunda regla de reclamación añadiendo de nuevo Añadir regla y selecciona Enviar reclamaciones utilizando una regla personalizada.

8) Introduce un nombre para la regla de reclamación personalizada, por ejemplo TeamViewer Customer ID

9) Introduce la siguiente regla personalizada y establece el Valor en el identificador del cliente generado:

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

Asegúrate de añadir al campo de valor su propio identificador de cliente generado.

10) Haz clic en Finalizar

Configuración manual mediante las herramientas de gestión de ADFS (gráficas)

La configuración manual requiere descargar y extraer la clave pública del certificado de firma/cifrado del proveedor de servicios SAML TeamViewer.

Consulta la sección Información técnica para saber cómo obtener el certificado.

1) Inicia las herramientas de gestión de ADFS desde el Administrador de servidores

2) Vete a ADFS - Fideicomisos de partes de confianza y haz clic en Añadir confianza como parte usuaria... en el panel de navegación de la derecha.

3) Selecciona Claims aware e inicia el asistente pulsando el botón Start

4) Seleccionar para introducir los datos manualmente (tercer punto)

5) Elije un nombre para la confianza de la parte usuaria, como TeamViewer o sso.teamviewer.com o elije el nombre ya rellenado si procede.

6) Vete al archivo del certificado (véase el comentario anterior)

7) Marca la casilla Habilitar la compatibilidad con el protocolo SAML 2.0 WebSSO e introduce la siguiente URL de servicio: https://sso.teamviewer.com/saml/acs

8) En la página Configurar identificadores, añade https://sso.teamviewer.com/saml/metadata como identificador.

9) Confirma la adición de la parte de confianza.

10) Configura la política de emisión de reclamaciones como se ha descrito anteriormente para el procedimiento Automático .

11) A continuación, configura el certificado de firma de la parte de confianza. Para ello, abre las propiedades (doble clic) y vete a la pestaña Firma . Busca el mismo archivo de certificado mencionado anteriormente

12) Opcionalmente, añade un segundo endpoint SAML a la confianza de la parte usuaria. Vete a la pestaña Puntos finales y haz clic en Añadir punto final SAML.

  • Selecciona SAML Assertion Consumer como tipo de endpoint
  • Selecciona Redirigir como enlace
  • Establece el índice en 1
  • Establece la URL de confianza en https://sso.teamviewer.com/saml/acs

Configuración del client de TeamViewer

TeamViewer es compatible con Inicio de sesión único a partir de la versión 13.2.1080.

Las versiones anteriores no soportan Inicio de sesión único y no pueden redirigir a los usuarios a tu proveedor de identidad durante el inicio de sesión. La configuración del client es opcional, pero permite cambiar el navegador utilizado para el inicio de sesión SSO del IdP.

El client de TeamViewer utilizará por defecto un navegador integrado para la autenticación del proveedor de identidad. Si prefieres utilizar el navegador predeterminado del sistema operativo, puedes cambiar este comportamiento:

Windows:

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

macOS:

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

📌Nota: Es necesario reiniciar el client de TeamViewer después de crear o modificar el registro.