Un des gros manques fonctionnel de Visual Studio Online (anciennement Team Foundation Service) depuis sa mise en ligne est l’obligation d’utiliser des comptes Microsoft Id pour gérer les autorisations des utilisateurs sur TFS.

Cette limitation a un impact fort pour l’entreprise et pour l’utilisateur : il n’est pas possible d’avoir un scénario de SSO (Single Sign-On) entre la session Windows de l’utilisateur et celle utilisée pour VSO. De plus, l’entreprise doit gérer plusieurs identités pour ses utilisateurs avec d’un côté le compte Microsoft ID pour l’accès à VSO et de l’autre l’identité d’entreprise pour tout le reste. Cela est source d’erreur et de travail supplémentaire pour gérer par exemple les départs de collaborateurs.

Aujourd’hui, cette limitation est enfin levée : on peut utiliser un annuaire Azure Active Directory pour gérer les identités des utilisateurs d’un compte Visual Studio Online. On peut ensuite synchroniser cet annuaire dans le cloud avec l’annuaire local d’entreprise par l’intermédiaire de DirSync pour avoir une identité unique.

Dans le cadre de cet article je vais démontrer les différentes étapes nécessaires pour arriver à un compte Visual Studio Online basé sur un annuaire Azure Active Directory synchronisé avec un annuaire local. Pour la partie SSO, je me limiterais à la synchronisation des mots de passe entre l’AD on-premise et l’Azure AD, le scénario de fédération complète étant bien plus complexe.

Création et configuration du compte Visual Studio Online

La première étape consiste donc à créer un compte Visual Studio Online lié à un compte Azure.

Pour ce faire, le plus simple est de se connecter au portail de gestion du compte Windows Azure en allant sur http://manage.windowsazure.com. Si vous n’en possédez pas encore un, vous pouvez en le créer en quelques clics en allant sur http://www.windowsazure.com et en cliquant sur le lien “version d’évaluation gratuite” en haut à droite.

image

Une fois sur le portail, cliquez sur nouveau>service d’application > Visual Studio > Création rapide.

image

Il suffit de choisir un nom pour le service et de le connecter à l’annuaire de la souscription Azure.

Si vous voulez utiliser un compte VSO existant, il faut choisir de lier à un élément existant.

Une fois le compte VSO lié au compte Azure et visible sur le portail, cliquez sur son nom pour accéder à la page de d’administration et aller sur l’onglet “configurer”.

image

Sur cet écran, cliquer sur le bouton “connecter” pour choisir l’annuaire associé à la souscription Azure active.

A partir de ce moment, les utilisateurs de votre service VSO proviendront de votre annuaire Azure Active Directory qui peut contenir des utilisateurs d’entreprise comme des comptes Microsoft Id.

Configuration de l’annuaire Azure Active Directory

Nous allons maintenant synchroniser notre annuaire Azure avec l’annuaire local de l’entreprise.

La première étape consiste à ajouter le domaine de notre annuaire local à l’annuaire Azure.

image

Dans l’interface d’administration, dans l’onglet domaines, cliquer sur le bouton “ajouter un domaine personnalisé”

image

Dans le pop-up qui s’affiche, entrer le domaine que nous allons utiliser, puis cliquer sur ajouter.

Une fois l’ajout effectué, une seconde page devient disponible.

image

Cette page indique des informations à utiliser pour créer un enregistrement de type TXT sur notre domaine avec comme valeur les informations du champ “destination ou points à l’adresse”. Cette vérification permet à Azure de s’assurer que nous sommes bien propriétaire du domaine. En fonction des capacités de votre registrar, vous pouvez également choisir de valider le domaine grâce à une entrée de type MX. Dans tous les cas, une fois l'entrée créée, on clique sur le bouton "valider" et en cas d'erreur on regarde le message pour corriger le souci.

Une fois la validation effectuée, il ne reste plus qu’à fermer le pop-up et voila! Vous pouvez créer des utilisateurs @votre-domaine.com sur votre annuaire.

A noter que si vous souhaitez que ce domaine soit le domaine “par défaut” lors de la création de nouveaux utilisateurs, il faut l’activer en tant que domaine par défaut de l’annuaire.

Nous allons tout de suite créer un utilisateur dans notre domaine qui servira de compte de synchronisation pour DirSync.

image

image

Ce compte de service doit posséder le droit “Administrateur général” pour permettre à DirSync de faire son travail. Pensez bien à récupérer le mot de passe sur l’écran suivant et à le modifier en vous connectant au portail azure avec ce couple login/mot de passe.

La dernière étape au niveau du portail consiste à activer la synchronisation d’annuaires.

image

Nous allons donc dans l’onglet “intégration d’annuaire” de l’administration de l’annuaire et nous cliquons sur le bouton “activé” avant de sauvegarder la modification.

Nous allons maintenant passer à la configuration de l’outil DirSync sur l’annuaire local.

Installation de DirSync et mise en place de la synchronisation

Nous allons maintenant passer à  l’installation de l’outil DirSync on-premise pour synchroniser l’annuaire local et l’annuaire Azure.

Avant de débuter, il faut avoir un utilisateur qui servira de compte de service pour DirSync. Cet utilisateur doit faire partie du groupe Enterprise Admins pour permettre à DirSync de faire un certain nombre de modifications nécessaires à son bon fonctionnement.

Une fois cet utilisateur prêt, on va pouvoir récupérer le package de DirSync à l’adresse suivante (qui est également affichée sur le portail) : ici

L’installation est ensuite assez simple.

Les fichiers sont extraits…

Un écran de bienvenue nous accueille, on clique sur next…

Conditions légales classiques, next…

Choix du répertoire d’installation (dans mon cas j’ai gardé celui par défaut), next…

Installation des composants (cette étape peut être assez longue), puis next…

On va pouvoir passer à la configuration proprement dite!

Attention, si vous avez installé DirSync directement sur un contrôleur de domaine, vous devez vous déconnecter et reconnecter sur le serveur avant de poursuivre. Dans ce cas, décochez donc la case “start configuration wizard now” et lancez le manuellement après vous être reconnecté.

image

L’assistant de configuration commence par un nouvel écran de bienvenue, next…

image

Sur cet écran, il faut saisir les informations du compte que l’on a créé sur l’annuaire Azure AD, puis cliquer sur next…

image

Ici c’est l’utilisateur Enterprise Admin que l’on a créé sur l’AD on-premise qu’on doit renseigner avant de cliquer sur next…

image

Cet écran permet d’activer le scénario de déploiement hybride utilisé par certains produits. Pour Visual Studio Online, il n’est pas nécessaire, on clique donc directement sur next.

image

Cet écran permet d’activer la synchronisation des mots de passe entre l’annuaire local et celui dans le cloud. Grâce à cela, on implémente une stratégie de SSO simplifiée. On coche donc la case avant de passer à l’écran suivant…

image

DirSync met en place tous les éléments nécessaires à la synchronisation…

image

Nous sommes prêts à lancer la synchronisation dès que nous fermerons l’assistant.

Après quelques instants, nos utilisateurs et nos groupes locaux sont visibles dans l’annuaire Azure!

image

Pour information, l’agent DirSync synchronise régulièrement l’annuaire. Si on souhaite forcer cette synchro, il suffit de lancer une ligne de commande powershel et exécuter les deux commandes suivantes :

import-module DirSync

Start-OnlineCoexistenceCheck

Une synchronisation sera immédiatement effectuée.

Utiliser son identité d’entreprise dans Visual Studio Online

Une fois l’annuaire Azure prêt, il nous suffit de nous connecter au compte VSO avec un utilisateur possédant des droits suffisant (comme le compte Microsoft qui a servi à créer la souscription), puis ajouter nos utilisateurs Azure AD comme tout autre utilisateur, en passant par son mail.

image

Détail important sur Visual Studio Online : tout utilisateur ajouté se retrouve dans la liste des utilisateurs sur la home page, et il faut lui associer une licence.

image

Il peut s’agir de la nouvelle licence stakeholder, d’un compte basique ou d’un compte avancé, mais il peut aussi s’agir d’un compte MSDN, même pour un compte d’entreprise. Il faut par contre spécifier que votre compte entreprise partage les bénéfices de votre abonnement MSDN.

Cela se fait dans la page de gestion de l’abonnement MSDN avec le lien “link to your organizational account”

image 

Grâce à cela, lors de la première connexion à VSO avec mon compte d’entreprise, mon abonnement MSDN est pris en compte et validé.

image

What else?

Comme nous l’avons vu, on peut facilement implémenter un annuaire Azure AD comme fournisseur d’identité pour notre service VSO puis mettre en place une synchronisation entre cet annuaire et l’annuaire d’entreprise on-premise.

Il est cependant important de faire attention dans la mise en œuvre de ce type de solution et il est indispensable de faire participer des experts en sécurité pour valider tous les aspects de la solution.

Il reste un dernier point qu’il est possible de faire sur TFS on-premise qui n’est pas (encore?) possible de faire sur Visual Studio Online, à savoir donner des droits sur TFS directement à un groupe AD. Malheureusement pour l’instant il est toujours nécessaire d’ajouter les utilisateurs un par un aux groupes TFS.

J’espère que cet article vous aura éclairé sur cette grosse nouveauté de Visual Studio Online et surtout n’hésitez pas à me poser vos questions!