L'authentification unique (SSO) de TeamViewer vise à réduire les efforts de gestion des utilisateurs dans les grandes entreprises en connectant TeamViewer aux fournisseurs d'identité et aux annuaires d'utilisateurs.

Cet article s'applique aux clients de TeamViewer disposant d'une licence Enterprise/Tensor.

Prérequis

Pour utiliser l'authentification unique de TeamViewer, vous avez besoin de :

  • TeamViewer version 13.2.1080 ou ultérieure
  • Un fournisseur d'identité (IdP) compatible avec SAML 2.0*
  • Un compte TeamViewer pour accéder à la Management Console et ajouter des domaines
  • Accès à la gestion DNS de votre domaine pour vérifier la propriété du domaine
  • Une licence TeamViewer Tensor

TeamViewer configuration

Le Single Sign-On (SSO) est activé au niveau du domaine pour tous les comptes TeamViewer utilisant une adresse e-mail de ce domaine. Une fois activé, tous les utilisateurs qui se connectent à un compte TeamViewer correspondant sont redirigés vers le fournisseur d'identité qui a été configuré pour le domaine.

Pour des raisons de sécurité et pour éviter les abus, il est nécessaire de vérifier la propriété du domaine avant d'activer la fonction.

Ajouter un nouveau domaine

Pour activer le SSO, connectez-vous à la Management Console, sélectionnez Administration de société, puis Authentification unique. Cliquez sur Ajouter un domaine et entrez le domaine pour lequel vous souhaitez activer le SSO.

Vous devez également fournir les métadonnées de votre fournisseur d'identité. Trois options sont disponibles pour ce faire :

  • via URL : Entrez l'URL de vos métadonnées IdP dans le champ correspondant.
  • via XML : Sélectionnez et téléchargez vos métadonnées XML
  • Configuration manuelle : Saisissez manuellement toutes les informations nécessaires. Veuillez noter que la clé publique doit être une chaîne encodée en Base64.

Une fois que c'est fait, cliquez sur Continuer.

Sélectionnez ensuite les adresses e-mail ou les groupes d'utilisateurs que vous souhaitez exclure du SSO et cliquez sur Ajouter un domaine.

Créer un identifiant personnalisé

Une fois le domaine ajouté, l'identifiant personnalisé peut être généré. Cet identifiant personnalisé n'est pas stocké par TeamViewer mais est utilisé pour la configuration initiale du SSO. Il ne doit être modifié à aucun moment, car cela interromprait l'authentification unique et une nouvelle configuration serait nécessaire. N'importe quelle chaîne aléatoire peut être utilisée comme identifiant du client. Cette chaîne sera requise ultérieurement pour la configuration de l'IDP. Pour générer l'identifiant personnalisé, cliquez sur Générer.

Vérifier la propriété du domaine

Une fois qu'un domaine a été ajouté avec succès, vous devez vérifier la propriété du domaine.

L'authentification unique ne sera pas activée avant que la vérification du domaine ne soit terminée.

Pour vérifier le domaine, veuillez créer un nouvel enregistrement TXT pour votre domaine avec les valeurs indiquées sur la page de vérification.

📌 Note : Le processus de vérification peut prendre plusieurs heures en raison du système DNS.

📌 Note : La description des champs de saisie peut varier en fonction de votre système de gestion de domaine.

Après avoir créé le nouvel enregistrement TXT, lancez le processus de vérification en cliquant sur le bouton Démarrer la vérification.

📌 Veuillez noter que le processus de vérification peut prendre plusieurs heures en raison du système DNS.

💡 Astuce : TeamViewer recherche l'enregistrement de vérification TXT pendant 24 heures après le début de la vérification. Si nous ne trouvons pas l'enregistrement TXT dans les 24 heures, la vérification échoue et le statut est mis à jour en conséquence. Dans ce cas, vous devez relancer la vérification via cette boîte de dialogue.

Configuration du fournisseur d'identité pour Active Directory Federation Services (ADFS)

Les étapes suivantes décrivent la procédure d'installation d'Active Directory Federation Services (ADFS). Les instructions et les commandes ont été prises à partir d'une machine exécutant Windows Server 2016 Standard (Version 1607).

La configuration consiste essentiellement en deux étapes :

1. Ajouter un ADFS Relying Party Trust pour le service d'authentification unique TeamViewer. Cette étape nécessite la saisie des métadonnées du service d'authentification unique TeamViewer. Cela peut être fait de l'une des manières suivantes :

  • Automatique : Il suffit de saisir l'URL du fichier XML de métadonnées. Le fichier est téléchargé par l'ADFS et tous les champs obligatoires de la confiance de la partie se fiant sont remplis automatiquement. Le serveur ADFS doit avoir accès à l'internet.
  • Semi-automatique : Comme la méthode automatique, mais au lieu de fournir une URL vers les métadonnées, le fichier lui-même est téléchargé au préalable et transmis à l'ADFS sous la forme d'un fichier XML. Cette méthode peut être utile si le serveur ADFS n'a pas d'accès à l'internet.
  • Manuel : Si aucune des méthodes ci-dessus n'est applicable, les métadonnées peuvent être introduites manuellement dans l'ADFS.

2. Ajouter une règle de transformation à la stratégie de délivrance des créances de la nouvelle partie se fiant à la confiance.

Les sections suivantes décrivent la configuration des trois scénarios à l'aide de l'invite de commande PowerShell et de l'interface utilisateur graphique ADFS Management.

Configuration automatique à l'aide de PowerShell

Ouvrez une nouvelle fenêtre de commande PowerShell et entrez les commandes suivantes pour ajouter à l'ADFS une nouvelle confiance de partie utilisatrice avec une politique d'émission de réclamation par défaut :

$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

Adaptez la valeur du paramètre "-Name" (ligne 13) à vos besoins. Il s'agit du nom affiché dans l'interface graphique de l'ADFS. De même, le nom de la stratégie de contrôle d'accès (ligne 16) peut être différent sur votre système.

Tous les paramètres peuvent être modifiés ultérieurement via PowerShell ou l'interface utilisateur graphique de l'ADFS.

Configuration semi-automatique à l'aide de PowerShell

Cette méthode est très similaire à la méthode "automatique" décrite ci-dessus. Elle nécessite de télécharger au préalable le fichier XML de métadonnées et de le copier sur le serveur ADFS.

Le fichier de métadonnées peut être téléchargé à partir de l'URL suivante :

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

Les commandes suivantes supposent que le fichier XML de métadonnées est disponible dans le répertoire courant de l'invite de commande PowerShell sous le nom "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 principale différence avec la méthode "automatique" est l'utilisation du paramètre "-MetadataFile" (au lieu de "-MetadataUrl" - ligne 14). Les paramètres "-AutoUpdateEnabled" et "-MonitoringEnabled" ont été omis car ils requièrent tous deux la fourniture d'une URL de métadonnées valide.

Configuration manuelle à l'aide de Powershell

La configuration manuelle nécessite le téléchargement et l'extraction de la clé publique du certificat de signature/chiffrement du fournisseur de services SAML TeamViewer.

Exécutez les commandes suivantes dans une invite de commande PowerShell pour ajouter manuellement une partie se fiant à la confiance :

$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

Veuillez également consulter la documentation officielle de la commande PowerShell "Add-AdfsRelyingPartyTrust" : https://technet.microsoft.com/en-us/library/ee892322.aspx

Configuration semi-automatique à l'aide des outils de gestion de l'ADFS (graphique)

1. Démarrer les outils de gestion de l'ADFS à partir du Gestionnaire de serveur.

2. Naviguez vers ADFSRelying Party Trusts et cliquez sur Add Relying Party Trust... dans le volet de navigation à droite.

3. Sélectionnez Claims aware et démarrez l'assistant en cliquant sur le bouton Start.

4. Selon que vous souhaitez avoir la variante ou la variante, sélectionnez l'option :

  • Importer les métadonnées via l'URL.
  • Saisissez l'URL des métadonnées : https://sso.teamviewer.com/saml/metadata.xml importez les métadonnées via un fichier. Recherchez le fichier XML de métadonnées téléchargé. Le fichier peut être téléchargé à partir de l'URL ci-dessus.

5. Choisissez un nom pour l'entité de confiance, comme TeamViewer ou sso.teamviewer.com ou choisissez le nom pré-rempli, le cas échéant.

6. Sélectionnez la politique de contrôle d'accès pour la confiance de la partie utilisatrice. Par exemple, choisir d'autoriser tout le monde.

7. Cliquez sur Suivant dans l'écran récapitulatif pour ajouter la partie se fiant à la confiance.

Ensuite, la politique de délivrance des créances doit être configurée pour la nouvelle partie se fiant à la confiance.

  1. Sélectionnez la partie se fiant à la confiance et cliquez sur "Edit Claim Issuance Policy..." dans le volet de navigation à droite.
  2. Cliquez sur Add Rule et choisissez Send LDAP Attributes as Claims (Envoyer les attributs LDAP en tant que réclamations).
  3. Saisir un nom pour la règle de transformation, par exemple TeamViewer Login
  4. Sélectionnez Active Directory comme Attribute store.
  5. Ajoutez les deux mappings suivants :
Attribut LDAP Type de Demande Sortante Remarques

objectGUID

Adresse e-mail        

Saisissez manuellement la valeur du champ Attribut LDAP.

 

Il se peut que vous deviez d'abord cliquer sur la flèche du menu déroulant avant de commencer à taper.

customeridentifier

"Votre identifiant client généré"

-

6. Cliquez sur Terminer.

7. Ajoutez une deuxième règle de réclamation en ajoutant à nouveau Ajouter une règle et sélectionnez Envoyer les réclamations à l'aide d'une règle personnalisée.

8. Saisissez un nom pour la règle de réclamation personnalisée, par exemple TeamViewer Customer ID

9. Saisissez la règle personnalisée suivante et attribuez à la valeur l'identifiant du client que vous avez généré :

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

Veillez à ajouter au champ de valeur l'identifiant du client que vous avez généré.

10. Cliquez sur Terminer.

Configuration manuelle à l'aide des outils de gestion de l'ADFS (graphique)

La configuration manuelle nécessite de télécharger et d'extraire la clé publique du certificat de signature/chiffrement du fournisseur de services SAML TeamViewer.

Veuillez consulter la section Informations techniques ci-dessous pour savoir comment obtenir le certificat.

1. Démarrer les outils de gestion de l'ADFS à partir du Gestionnaire de serveur.

2. Naviguez vers ADFS - Relying Party Trusts et cliquez sur Add Relying Party Trust... dans le volet de navigation à droite.

3. Sélectionnez Claims aware et démarrez l'assistant en cliquant sur le bouton Start.

4. Sélectionner la saisie manuelle des données (troisième point).

5. Choisissez un nom pour l'entité de confiance, comme TeamViewer ou sso.teamviewer.com ou choisissez le nom pré-rempli, le cas échéant.

6. Recherchez le fichier de certificat (voir le commentaire ci-dessus).

7. Cochez la case Activer la prise en charge du protocole SAML 2.0 WebSSO et entrez l'URL de service suivante : https://sso.teamviewer.com/saml/acs

8. Sur la page Configure Identifiers, ajoutez https://sso.teamviewer.com/saml/metadata comme identifiant.

9. Confirmer l'ajout de la partie se fiant à la confiance.

10. Configurer la stratégie d'émission des demandes comme décrit pour la procédure automatique ci-dessus.

11. Ensuite, il faut configurer le certificat de signature de la partie se fiant à la confiance. Pour cela, ouvrez les propriétés (double-clic) et naviguez jusqu'à l'onglet Signature. Recherchez le même fichier de certificat que celui mentionné ci-dessus.

12. Il est possible d'ajouter un deuxième point d'extrémité SAML à la confiance de la partie utilisatrice. Naviguez jusqu'à l'onglet Points de terminaison et cliquez sur Ajouter un point de terminaison SAML.

  • Sélectionner SAML Assertion Consumer comme type d'extrémité
  • Sélectionner Redirect comme liaison
  • Fixer l'indice à 1
  • Définissez l'URL de confiance sur https://sso.teamviewer.com/saml/acs

TeamViewer Configuration du client

TeamViewer est compatible avec le Single Sign-On à partir de la version 13.2.1080.

Les versions précédentes ne prennent pas en charge l'authentification unique et ne peuvent pas rediriger les utilisateurs vers votre fournisseur d'identité lors de la connexion. La configuration du client est facultative mais permet de changer le navigateur utilisé pour la connexion SSO de l'IdP.

Le client TeamViewer utilise par défaut un navigateur intégré pour l'authentification du fournisseur d'identité. Si vous préférez utiliser le navigateur par défaut du système d'exploitation, vous pouvez modifier ce comportement :

Windows :

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

macOS :

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

📌 Note : Vous devez redémarrer le client TeamViewer après avoir créé ou modifié le registre.