Azure Active Directory B2B

1-   Introduction

Vous voulez donner accès à certaines de vos applications, à des utilisateurs externes, vous possédez un tenant Azure AD, ou vous prévoyez bientôt d’en mettre en place un, et vous désirez une solution rapide et simple à mettre en place, cet article est fait pour vous.

Le but de cet article est de vous présenter une nouvelle fonctionnalité, azure AD B2B2, proposée par Azure Active Directory permettant de rajouter des utilisateurs externes au niveau de la gestion des accès à une ou des applications dont les accès sont gérés par celui-ci.

Le but étant de faciliter la mise en place de partage d’accès applicatifs entre différentes parties (partenaires, prestataires, fournisseurs, clients …).

 

2-   Les solutions existantes

Pour pouvoir répondre à ce type de problématique, il existe deux possibilités jusqu’à ce jour,

  • mettre en place une relation de fédération d’identités entre les deux entités
  • déclaré au sein de son annuaire d’entreprise les utilisateurs externes auxquels vous désirez donner accès à vos applications.

Nous allons voir au niveau des deux prochains paragraphes quels sont les problèmes relatifs à chacune de ces solutions.

 

2.1-     Mise en place d’une relation de fédération

Cette solution permet de mettre en place une relation de confiance entre les Idp (Identity Provider) de deux entités (entreprises) afin de permettre aux utilisateurs de chacune de celles-ci de pouvoir se connecter à des ressources hébergées de part et d’autre.

Ce type d’architecture se base  sur les mécanismes de fédération d’identité afin de pouvoir fonctionner. Il est à noter que parmi les nombreux avantages,  le principal de ce type d’architecture et que chacun des participants ne gère que les identités des utilisateurs internes. Cependant comme toute solution, celle-ci comprend aussi un certain nombre de problème dont ceux-ci :

  • Nécessité d’avoir une architecture de fédération d’identité (Serveurs ADFS, Schibboleth, Open AM …) au niveau de chacune des entreprises voulant participer à la relation de confiance.
  • Impossibilité pour beaucoup de partenaires de pouvoir mettre en place ce type d’architecture au vu de l’investissement nécessaire (TPE/PME).

2.2-     Utilisation du référentiel utilisateur de l’entreprise

Cette solution est la plus simple (techniquement) des deux, pour chaque utilisateur externe nécessitant un accès à l’une de vos applications, vous créer un utilisateur au niveau de votre annuaire en lui appliquant des règles d’accès.

Cependant bien que simple, cette solution vient aussi avec un certain nombre de problèmes, parmi lesquels :

  • Nécessité de gérer un ensemble de comptes qui ne font pas partie de votre organisation avec les coûts qui vont avec (Gestion du cycle de vie de l’identité, perte de mot de passe …)
  • Nécessité de la mise en place de workflow afin de pouvoir approvisionner les informations concernant ces comptes.
  • Possibilité d’avoir des comptes actifs de personnes ne faisant plus partie de l’entité pour laquelle vous les avez créés.

Comme nous pouvons le voir aucune de ces deux solutions n’est pleinement satisfaisante, c’est dans cette optique que les équipes Azure AD ont mise en place un nouveau mécanisme pour proposer une nouvelle solution, et nous allons tout de suite voir comment tout cela fonctionne.

Passons maintenant au vif du sujet.

3-   Azure Active Directory B2B

3.1-     Pré-requis

Afin de pouvoir bénéficier de cette fonctionnalité la seule chose dont vous aurez besoin et d’un abonnement Microsoft Azure. Toutes les opérations effectuées au niveau de votre tenant Azure Active Directory, devront être effectuées sur le tenant rattaché à votre abonnement.

Concernant les utilisateurs externes, ceux-ci doivent être déclarés au niveau d’un tenant Azure Active Directory.

3.2-     Présentation

La possibilité de pouvoir donner accès à certaines de vos applications à des utilisateurs externes à votre entreprise passe par l’import d’un fichier au format CSV. Ce fichier devra vous être fourni par votre partenaire afin de pouvoir être importé au niveau de votre tenant Azure Active Directory. Les informations suivantes seront nécessaires afin que l’import se passe sans erreur :

  • Email : adresse mail des utilisateurs que vous désirez ajouter. Cette adresse sera utilisée au niveau de l’authentification pour rediriger l’utilisateur vers le bon tenant, mais aussi pour envoyer une invitation à l’utilisateur concerné.
  • DisplayName: Information qui sera utilisé au niveau du mail d’invitation pour personnalisé celui-ci.
  • InviteAppId : Identifiant de l’application à laquelle vous désirez ajouter des accès à des utilisateurs externes. Utiliser pour la personnalisation de l’email d’invitation envoyé aux utilisateurs.
  • InviteReplyURL :
  • InviteGroupResources : Identifiant du groupe auquel vous désirez rattacher les utilisateurs externes
  • InviteContactUsUrl : URL incluse dans l’email d’invitation, afin de permettre aux utilisateurs de pouvoir vous contacter (paramètre facultatif)

Vous pouvez voir ci-dessous un exemple de fichier utilisé.

blog ai3 csv Azure Active Directory B2B

Afin de pouvoir fournir les informations concernant l’identifiant du groupe de rattachement des utilisateurs externes, ainsi que l’identifiant de l’application concernée, vous devez vous connecter à votre tenant Azure AD via l’outil Azure Active Directory pour Windows PowerShell accessible ici (http://go.microsoft.com/fwlink/p/?linkid=236297)

Si cet outil n’est pas installé sur votre poste, il vous faudra avant d’installer celui-ci, installé l’outil Microsoft Online Services disponible à l’adresse suivante (https://www.microsoft.com/fr-fr/download/details.aspx?id=41950). Afin d’éviter des problèmes de conflit de version, je vous conseille d’installer la version anglaise de cet outil.

Dès que tout est OK au niveau de votre machine ouvrez une nouvelle invite de commande PowerShell à l’aide du composant Windows Azure Active Directory pour Windows PowerShell que vous venez d’installer. Afin d’ouvrir une nouvelle session saisissez les lignes de commandes suivantes afin d’ouvrir une nouvelle session sur votre tenant Azure Active Directory :

$msolcred = get-credential

Connect-msolservice –credential $msolcred

Votre session étant ouverte, entrez  la commande suivante afin d’obtenir la ligne des identifiants des groups qui sont déclarés au niveau de votre tenant :

Get-MsolGroup | fl DisplayName, ObjectId

Après avoir entrez cette ligne de commande, la liste des groupes déclarés au niveau de votre tenant va s’affichée, il ne vous restera plus qu’a récupéré l’identifiant du groupe auquel vous voulez rajouter les utilisateurs.

Afin de récupérer l’identifiant de l’application pour laquelle vous désirez gérer les utilisateurs externes, entrez la ligne de commande suivante :

Get-MsolGroup | fl DisplayName, ObjectId

Au niveau de la liste affichée, récupérez l’identifiant de l’application qui vous intéresse.

Si le fichier CSV est géré par l’entreprise dont vous voulez partager les accès, fournissez ces deux informations à la personne responsable de la génération de ce fichier, afin qu’elle puisse constituer convenablement celui-ci. Dans le cas où c’est vous qui êtes en charge de ce fichier CSV, il ne vous reste plus qu’à utiliser ces informations afin de constituer votre fichier.

3.3-     Mise en place

Comme exposé précédemment, afin de pouvoir approvisionner votre annuaire avec les comptes externes vous allez devoir exporter ceux-ci à partir d’un fichier au format CSV.

Dès que vous êtes en possession de ce fichier, vous pouvez vous connecter au portail d’administration Azure, et vous rendre sur la page d’informations concernant votre tenant Azure AD.

Afin de pouvoir ajouter vos utilisateurs, allez sur l’onglet utilisateurs, et au niveau du menu du bas, sélectionnez l’option «Ajouter un utilisateur«.

3.3.1-   Import des utilisateurs externes

Ce paragraphe va nous permettre de voir comment importer les informations concernant les utilisateurs externes dont nous voulons ajouter des accès au niveau d’une application gérer au niveau de votre tenant Azure AD.

blog ai3 NewUsers Azure Active Directory B2B

 

Au niveau de la nouvelle fenêtre, sélectionnez l’option « Utilisateurs dans les entreprises partenaires », et ajouter ensuite votre fichier CSV.

blog ai3 AddXls Azure Active Directory B2B

 

Lorsque vous avez sélectionné votre fichier, il ne vous reste plus qu’à valider les paramètres afin de lancer le début de l’import. Vous pourrez voir l’avancée de celui-ci au bas de la page du portail comme le montre l’image ci-dessous.

blog ai3 AddXls_step2 Azure Active Directory B2B

Pour suivre l’ensemble des invitations que vous avez effectuez au sein de votre tenant vous pouvez au niveau de la partie rapport, accéder à l’ensemble des informations sur les invitions en sélectionnant l’option « résumé de l’invitation » comme le montre l’image ci-dessous.

blog ai3 RapportInvitation Azure Active Directory B2B

 

Vous avez alors accès à la liste des fichiers d’import que vous avez utilisé au sein de votre tenant, comme on peut le voir sur l’image ci-dessous.

blog ai3 liste-imports Azure Active Directory B2B

En sélectionnant un des éléments de cette liste, vous pouvez avoir accès aux détails de celle-ci. Pour chacun des utilisateurs présents au sein du fichier que vous avez sélectionné, vous pouvez voir l’état d’avancement spécifique à cet utilisateur comme vous pouvez le voir sur l’image ci-dessous.

blog ai3 AddXls_step3 Azure Active Directory B2B

Maintenant si vous vous rendez dans l’onglet « groupes » et que vous sélectionnez le groupe dans lequel doivent se trouver les utilisateurs externes, vous pourrez voir que ceux-ci ont effectivement été ajoutés au niveau dudit groupe.

blog ai3 MembresGroupeExterneApresSynchronisation Azure Active Directory B2B

3.3.2-   Affectation des utilisateurs à l’application

En vous rendant dans la partie consacrée à vos applications, et que vous sélectionnez l’application sur laquelle vous ajoutez des droits d’accès, vous pourrez voir que les utilisateurs externes ont été rajoutés à la liste des utilisateurs autorisés à accéder à l’application.

blog ai3 AffectationUtilisateurApplication Azure Active Directory B2B

Maintenant que nous avons fait le tour de la mise en place des accès pour des utilisateurs externes nous allons voir dans la partie suivante le parcourt d’un utilisateur externe se connectant à une application de votre entreprise.

3.3.3-   Connection d’un utilisateur

Comme nous l’avons vu précédemment, lors de l’import du fichier CSV, l’adresse email des utilisateurs concernés et utilisé afin d’envoyer une invitation à chacun de ceux-ci. Cette invitation étant personnalisé avec en en-tête du mail, le branding de l’application sur laquelle l’utilisateur peut se connecter, ainsi que son nom et son prénom.

En plus de ces informations, le mail contient un lien qui va permettre à l’utilisateur de se connecter à votre application. Vous pouvez voir un exemple de mail reçu par l’utilisateur avec l’image ci-dessous. A noter qu’au moment de la rédaction de cet article, seul la langue de Shakespeare est prise en compte au niveau du contenu du mail.

blog ai3 MailInvitation Azure Active Directory B2B

 

Lorsque l’utilisateur clique sur le lien, celui-ci est redirigé vers une page avec un petit descriptif concernant l’invitation et un champ permettant de renseigné une adresse mail. Ce champ est pré saisie avec l’adresse mail de l’utilisateur. Lorsque l’utilisateur accepte cette invitation, il est alors invité à saisir ses informations d’authentification. Cette phase d’acceptation ne se déroule que lors de la première connexion.

blog ai3 PageAcceptation Azure Active Directory B2B

 

Si l’utilisateur est authentifié, il est alors redirigé vers votre application et peux donc accéder à celle-ci.

blog ai3 ConnectionAppli Azure Active Directory B2B

Lors d’une prochaine connexion à votre application, l’utilisateur sera dans un premier temps redirigé vers son tenant AD pour être authentifié, et il sera ensuite redirigé vers votre application.

Il est aussi intéressant de noté que toute la partie concernant la gestion du cycle de vie de l’utilisateur est entièrement géré par son entité (comme dans le cadre de la mise en place d’une relation de fédération entre deux entités).

1-   Conclusion

Nous avons pu voir au cours de cet article, comment vous pouvez utiliser Azure AD B2B2 pour mettre en place une nouvelle de manière très simple des accès à certaines applications de votre entreprise à des personnes externes à celle-ci.

Notez bien que cette fonctionnalité est encore en mode preview, et que de plus les informations concernant la tarification de ce service ne sont pas encore disponible.

Voici quelques liens utiles pour plus d’informations :

Vidéo de présentation de Azure Active Directory B2B : https://channel9.msdn.com/Series/Azure-AD-Identity/AzureADB2B

Documentation Azure Active Directory B2B : https://azure.microsoft.com/fr-fr/documentation/articles/active-directory-b2b-collaboration-overview/

 

David Moïsa.

Security in mind.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.