Inicio de sesión único con Active Directory Federation Services (ADFS)

No hay clasificaciones

Este artículo concierne a los clientes de TeamViewer con una licencia Enterprise/Tensor.

El objetivo del inicio de sesión único de TeamViewer (SSO en inglés) es reducir los esfuerzos de gestión de usuarios de las grandes empresas mediante la conexión de TeamViewer con los proveedores de identidad y los directorios de usuarios.

Requisitos

Para utilizar inicio de sesión único de TeamViewer, necesitas:

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

Configuración de la Management Console (MCO)

El inicio de sesión único (SSO) se activa a nivel de dominio para todas las cuentas de TeamViewer utilizando una dirección de correo electrónico con este dominio. Una vez activado, todos los usuarios que inician sesión en la cuenta de TeamViewer correspondiente se redirigen al proveedor de identidades 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 SSO, inicia sesión en la Management Console y selecciona la entrada del menú inicio de sesión único. Haz clic en añadir dominio e introduce el dominio para el que quieres activar el SSO.

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

  • vía URL: introduce tu URL de metadatos IdP en el campo correspondiente
  • vía XML: selecciona y carga tus 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 Base64.

1_MCO_AddDomain.png

 

Crear un identificador personalizado

Una vez añadido el dominio, se puede generar el identificador personalizado. TeamViewer no almacena este identificador personalizado, pero 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á necesario configurarlo de nuevo. Cualquier cadena aleatoria puede ser utilizada como identificador de cliente. Esta cadena se requiere posteriormente para la configuración del IdP.

Single Sign-On Customer Identifier.png

3_Single Sign-On Customer Identifier2.png

Verificar la propiedad del dominio

En el momento en el que el dominio haya sido agregado correctamente, es necesario verificar la propiedad del dominio.
El inicio de sesión único 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 mostrados en la página de verificación.

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

4_MCO_DomainVerification.png

El cuadro de diálogo para añadir un registro TXT puede parecerse a:3_DNSEntry.png 

Nota: Dependiendo de su sistema de gestión de dominio, la descripción de los campos de entrada puede variar.

Después de crear el nuevo registro TXT, inicia el proceso de verificación haciendo clic en 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 acorde. En este caso, reinicia la verificación a través de este cuadro de diálogo. 

Sugerencia: Al añadir un dominio para el inicio de sesión único, se recomienda añadir la cuenta de propietario a la lista de exclusión. La razón de esto es un escenario hipotético en el que se mantiene el acceso a la configuración del dominio incluso si el IdP no funciona.
Ejemplo: La cuenta de TeamViewer "admin@example.com" añade el dominio "example.com" para el inicio de sesión único. Después de añadir el dominio, la dirección de correo electrónico "admin@example.com" debe añadirse a la lista de exclusión.

Configuración del proveedor de identidades para Active Directory Federation Services (ADFS)

Los siguientes pasos describen el procedimiento de configuración para Active Directory Federation Services (ADFS). Las instrucciones y comandos se han tomado de una máquina 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 TeamViewer Single Sign-On. Este paso requiere que se introduzcan los metadatos del servicio SSO de TeamViewer. Esto se puede hacer de una de las siguientes maneras:
    • Automático: Esto sólo requiere introducir una URL en el archivo XML de metadatos. El archivo es descargado por el ADFS y todos los campos obligatorios del fideicomiso de la parte que confía se rellenan automáticamente. Requiere que el servidor ADFS tenga acceso a Internet.
    • Semi-Automático: Al igual que 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 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. Agregue una regla de transformación a la política de emisión de reclamaciones del nuevo fideicomiso de la parte que confía.

Las siguientes secciones describen la configuración para los tres escenarios usando el prompt de PowerShell command y la interfaz gráfica de usuario de ADFS Management:

Configuración automática con PowerShell

Abre una nueva ventana de comandos de PowerShell e introduzca los siguientes comandos para añadir una nueva confianza de la parte que confía 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 "-Nombre" (línea 13) a tus necesidades. Este es el nombre que se muestra en la interfaz gráfica de usuario del ADFS. Además, el nombre de la política de control de acceso (línea 16) puede variar en tu sistema.
Todos los ajustes se pueden modificar posteriormente a través de PowerShell o de la interfaz gráfica de usuario de ADFS.

Configuración semi-automática utilizando PowerShell

Esto es muy similar al método "automático" descrito anteriormente. Es necesario descargar previamente el archivo XML de metadatos y copiarlo en el servidor ADFS.
El archivo de metadatos se puede descargar desde la siguiente URL:

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

The following commands assume that the metadata XML file is available in the current directory of the PowerShell command prompt as "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 la utilización del parámetro "-MetadataFile" (en lugar de "-MetadataUrl" - línea 14). Se han omitido los parámetros "-AutoUpdateEnabled" y "-MonitoringEnabled", ya que ambos requieren una URL de metadatos válida.

Configuración manual utilizando Powershell

La configuración manual requiere la descarga y extracción de la clave pública del certificado de firma/cifrado del proveedor de servicios de TeamViewer SAML. Encontrará más información en la sección de Información Técnica a continuación sobre cómo obtener el certificado.

Ejecute los siguientes comandos en una línea de comandos de PowerShell para agregar manualmente una confianza de la parte que confía:

$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


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

Configuración semi-automática utilizando las herramientas de gestión ADFS (gráficos)

  1. Inicia ADFS Management desde el administrador de servidores.
  2. Navega a ADFS --> entidades de confianza y haz clic en agregar entidad de confianza.... en el panel de navegación de la derecha.
    Screenshot01.PNG
  3. Selecciona reclamaciones conocidas e inicia el asistente haciendo clic en el botón inicio
    Screenshot02.PNG
  4. Dependiendo de si deseas tener la variante automática o semi-automática, selecciona:
    • importar los metadatos a través de la URL
      Screenshot03.PNG

       

    • Introducir los metadatos URL: https://sso.teamviewer.com/saml/metadata.xml importa los metadatos en forma de un archivo. Busca el archivo XML de metadatos descargado. El archivo se puede descargar desde la URL anterior.Screenshot04.PNG
  5. Elige un nombre para la entidad de confianza, como TeamViewer o sso.teamviewer.com o elige un nombre predefinido.Screenshot05.PNG
  6. Selecciona la política de control de acceso para la entidad de confianza. Por ejemplo, elegir permitir a todos
    Screenshot06.PNG
  7. Haz clic en siguiente en la pantalla de resumen para agregar la confianza de la entidad de confianza.
    Screenshot07.PNG

A continuación, la política de emisión de reclamaciones debe configurarse para el nueva entidad de confianza.

  1. Selecciona la confianza de la entidad de confianza y haz clic en "editar la política de emisión de reclamaciones..." en el panel de navegación de la derecha.
  2. Haz click en añadir regla y elige enviar atributos LDAP como reclamación
  3. Introduzce un nombre para la regla de transformación, p. ej. Inicio de sesión TeamViewer
  4. Selecciona Active Directory como almacenamiento de atributos.
  5. Asigna estos dos atributos:

    LDAP Attribute

    Outgoing Claim Type

    Remarks

    objectGUID

    Name ID

    Introduce manualmente el valor del campo atributo LDAP.

    Es posible que tengas que hacer clic en la flecha del menú desplegable primero, antes de comenzar a escribir.

    E-Mail-Addresses

    E-Mail Address

     

     

    Screenshot08.PNG

  1. Haz clic en finalizar.
  2. Añade una segunda regla de reclamación añadiendo añadir regla de nuevo y selecciona enviar reclamaciones utilizando una regla personalizada.
  3. Introduzca un nombre para la norma de reclamación aduanera, por ej. ID de cliente de TeamViewer.
  4. Introduce la siguiente regla personalizada y establece el valor de tu identificador de cliente generado:

    => issue(Type = "http://sso.teamviewer.com/saml/claims/customeridentifier", Value = "Your Generated Customer Identifier");
    Por favor, asegúrate de añadir tu propio identificador de cliente generado al campo de valor.
  5. Haz clic en finalizar.

Configuración manual usando las herramientas de gestión ADFS (gráfica)

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

Por favor, consulte la sección de información técnica a continuación para saber cómo obtener el certificado.

  1. Inicia la herramienta ADFS Management desde el administrador de servidores
  2. Navega hasta ADFS - Entidades de confianza y haz clic en añadir entidades de confianza.... en el panel de navegación de la derecha.
    Screenshot01.PNG
  3. Selecciona reclamaciones detectadas e inicia el asistente haciendo clic en el botón inicio.
    Screenshot02.PNG
  4. Seleccionar para introducir los datos manualmente (tercer punto)
    Screenshot09.PNG
  5. Elige un nombre para la entidad de confianza, como TeamViewer or sso.teamviewer.com o un nombre predefinido.Screenshot05.PNG
  6. Busca el archivo del certificado (consulta el comentario anterior)
    Screenshot10.PNG
  7. Comprueba la casilla Habilitar compatibilidad con el protocolo SAML 2.0 WebSSO e introduce la siguiente URL de servicio: https://sso.teamviewer.com/saml/acsScreenshot11.PNG
  8. En la página configurar identificadores, añade https://sso.teamviewer.com/saml/metadata como identificadorScreenshot12.PNG
  9. Confirma añadiendo la entidad de confianza.
  10. Configura la política de emisión de reclamaciones como se describe en el procedimiento automático anterior.
  11. A continuación, configure el certificado de firma de la entidad de confianza. Para ello, abre las propiedades (haz doble clic) y vete a la pestaña firma. Busca el archivo de certificado mencionado anteriormente.
    Screenshot13.PNG
  12. Opcionalmente, añade un segundo punto final SAML a la entidad de confianza. Vaya a la pestaña de puntos finales y haz clic en añadir punto final SAML.
    • Selecciona SAML Assertion Consumer como tipo de punto final
    • Selecciona redireccionar como encuadernado
    • Ajusta el índice a 1
    • Añade el URL de confianza https://sso.teamviewer.com/saml/acsAdd_an_endpoint.PNG

       

Confirguración de TeamViewer Client 

TeamViewer es compatible con el inicio de sesión único a partir de la versión 13.2.1080.
Las versiones anteriores no admiten el inicio de sesión único y no pueden redirigir a los usuarios a su 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 único del IdP.

TeamViewer Client utilizará un navegador integrado para la autenticación del proveedor de identidad de forma predeterminada. Si prefiere utilizar el navegador predeterminado del sistema operativo, puede cambiar este comportamiento a través de la siguiente clave de registro:

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

Nota: TeamViewer Client tiene que ser reiniciado después de crear o cambiar el registro.

Historial de versiones
Revisión n.º
5 de 5
Última actualización:
‎02 may 2019, 5:04 PM
Actualizado por:
 
Colaboradores