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 .
Para utilizar TeamViewer Inicio de sesión único, necesita
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.
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:
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.
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.
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.
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:
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.
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.
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.
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
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
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.
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
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.
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.