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.
Pour utiliser l'authentification unique de TeamViewer, vous avez besoin de :
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.
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 :
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.
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.
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.
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 :
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.
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.
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.
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
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. Selon que vous souhaitez avoir la variante ou la variante, sélectionnez l'option :
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.
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.
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.
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.