Intégrer les utilisateurs externes aux applications de métier à l’aide de Microsoft Entra B2B
Les développeurs d’applications peuvent utiliser Microsoft Entra B2B afin d’intégrer des utilisateurs externes et de collaborer avec ces derniers au sein d’applications métier. À l’instar du bouton Partager dans de nombreuses applications Office 365, les développeurs d’applications peuvent créer une expérience d’invitation en un clic dans n’importe quelle application métier intégrée à Microsoft Entra ID.
Voici les avantages :
- Intégration et accès des utilisateurs aux applications métier. L’accès des utilisateurs se fait en quelques étapes.
- Permet aux utilisateurs externes d’apporter leur propre identité et de procéder à l’authentification unique (SSO).
- Approvisionnement d’identités externes dans Microsoft Entra ID.
- Stratégies d’accès interlocataire et d’accès conditionnel Microsoft Entra afin d’appliquer des stratégies d’autorisation telles qu’une authentification multifacteur.
Flux d’intégration
Afin d’intégrer des applications métier à Microsoft Entra B2B, suivez ce modèle :
- L’utilisateur final déclenche l’invitation dans l’application métier et fournit l’adresse e-mail de l’utilisateur externe. L’application vérifie si l’utilisateur existe déjà et, si ce n’est pas le cas, passe à Créer et envoyer l’invitation|.
- L’application envoie un événement POST à l’API Graph Microsoft au nom de l’utilisateur. Elle fournit l’URL de redirection et l’adresse e-mail de l’utilisateur externe qui est définie dans Confirmer que l’utilisateur externe se trouve dans le répertoire.
- L’API Microsoft Graph approvisionne l’utilisateur invité dans Microsoft Entra ID.
- L’API Microsoft Graph renvoie l’état de réussite ou d’échec de l’appel d’API. En cas de succès, la réponse comprend l’ID d’objet utilisateur Microsoft Entra et le lien d’invitation envoyé à l’adresse e-mail de l’utilisateur invité. Vous pouvez supprimer l’e-mail Microsoft et envoyer votre propre e-mail personnalisé.
- (Facultatif) Pour écrire d’autres attributs à l’utilisateur invité ou ajouter l’utilisateur invité à un groupe, L’application effectue un appel d’API supplémentaire à l’API Microsoft Graph.
- (Facultatif) L’API Microsoft Graph effectue les mises à jour souhaitées dans Microsoft Entra ID.
- (Facultatif) L’API Microsoft Graph renvoie l’état de réussite ou d’échec à l’application.
- L’application approvisionne l’utilisateur dans son répertoire utilisateur back-end ou sa propre base de données en utilisant l’attribut d’ID d’objet utilisateur en tant qu’ID immuable.
- L’application présente l’état de réussite ou d’échec à l’utilisateur final.
Si l’attribution est nécessaire pour accéder à l’application métier, l’utilisateur invité doit être affecté à l’application avec un rôle d’application. Pour ce faire, ajoutez l’invité à un groupe avec un autre appel d’API, ou automatisez l’appartenance à un groupe avec des groupes d’appartenance dynamique Microsoft Entra. Les groupes d’appartenance dynamique ne nécessitent pas d’autre appel d’API par l’application. Toutefois, ils sont mis à jour aussi rapidement que l’ajout d’un utilisateur à un groupe via l’invitation de l’utilisateur.
Confirmer que l’utilisateur externe se trouve dans le répertoire
Il est possible que l’utilisateur externe ait déjà été invité et intégré. L’application métier vérifie si l’utilisateur se trouve dans le répertoire. Effectuez un appel d’API à l’API Microsoft Graph et présentez les correspondances à l’utilisateur invitant pour qu’il les sélectionne.
Par exemple :
Application Permission: User.read.all
GET https://graph.microsoft.com/v1.0/users?$filter=othermails/any(id:id eq 'userEmail@contoso.com')
Si la réponse contient les détails d’utilisateur, l’utilisateur existe déjà. Présentez les utilisateurs retournés à l’utilisateur invitant. Autorisez les utilisateurs à sélectionner l’utilisateur externe qui obtient l’accès. Pour accorder à l’utilisateur l’accès à l’application, effectuez des appels d’API ou déclenchez d’autres processus.
Créer et envoyer l’invitation
Si l’utilisateur externe n’existe pas encore dans le répertoire, vous pouvez utiliser Microsoft Entra B2B pour inviter l’utilisateur et l’intégrer à votre locataire Microsoft Entra. Déterminez les éléments à inclure dans la requête d’invitation à l’API Microsoft Graph.
Utilisez les éléments suivants :
- Inviter l’utilisateur final à fournir l’adresse e-mail de l’utilisateur externe
- Déterminer l’URL d’invitation qui redirige les utilisateurs invités, une fois qu’ils s’authentifient et qu’ils acceptent l’invitation B2B
- L’URL peut constituer une page de destination générique ou être déterminée dynamiquement par l’application métier selon l’emplacement dans lequel l’utilisateur final a déclenché l’invitation.
Autres indicateurs et attributs pour la requête d’invitation :
- Nom d’affichage de l’utilisateur invité
- E-mail d’invitation Microsoft par défaut ou supprimer l’e-mail par défaut afin de créer le vôtre
Une fois que l’application a collecté les informations requises, l’application doit transmettre la requête par le biais d’une méthode POST au gestionnaire d’invitations de l’API Microsoft Graph. Vérifiez que l’inscription d’application dispose des autorisations appropriées dans Microsoft Entra ID.
Par exemple :
Delegated Permission: User.Invite.All
POST https://graph.microsoft.com/v1.0/invitations
Content-type: application/json
{
"invitedUserDisplayName": "John Doe",
"invitedUserEmailAddress": "john.doe@contoso.com",
"sendInvitationMessage": true,
"inviteRedirectUrl": "https://customapp.contoso.com"
}
Remarque
Pour consulter les options disponibles pour le corps JSON de l’invitation, consultez Type de ressource d’invitation dans Microsoft Graph v1.0.
Les développeurs d’applications peuvent également intégrer des utilisateurs externes à l’aide d’une inscription en libre-service Microsoft Entra ou de packages d’accès de gestion des droits d’utilisation Microsoft Entra. Créez un bouton d’invitation dans votre application métier qui déclenche une adresse e-mail personnalisée avec une URL d’inscription en libre-service ou une URL de package d’accès. L’utilisateur invité est alors intégré et accède à l’application.
(Facultatif) Écrire d’autres attributs dans Microsoft Entra ID
Important
L’octroi d’une autorisation d’application pour mettre à jour les utilisateurs de votre répertoire est une action hautement privilégiée. Si vous accordez ces autorisations à haut privilèges à l’application, sécurisez et surveillez votre application métier.
Il peut être nécessaire pour votre organisation ou l’application métier de stocker des informations pour une utilisation ultérieure, telle que l’émission de revendications dans des jetons ou des stratégies d’autorisation granulaires. Lorsque des utilisateurs externes sont invités ou créés dans Microsoft Entra ID, une application peut effectuer un autre appel d’API pour les mettre à jour. Votre application doit disposer d’autorisations d’API supplémentaires, et d’un appel supplémentaire vers l’API Microsoft Graph.
Pour mettre à jour l’utilisateur, utilisez l’ID d’objet de l’utilisateur invité créé à partir de l’appel d’API d’invitation, et la valeur d’ID qui se trouve dans la réponse de l’API de la vérification d’existence ou de l’invitation. Vous pouvez écrire vers n’importe quel attribut standard ou attribut d’extension personnalisé.
Par exemple :
Application Permission: User.ReadWrite.All
PATCH https://graph.microsoft.com/v1.0/users/<user's object ID>
Content-type: application/json
{
"businessPhones": [
"+1 234 567 8900"
],
"givenName": "John"
"surname": "Doe",
"extension_cf4ff515cbf947218d468c96f9dc9021_appRole": "external"
}
Pour plus d’informations, consultez Mettre à jour un utilisateur dans Microsoft Graph v1.0.
(Facultatif) Affecter l’utilisateur invité à un groupe
Remarque
Si l’affectation d’un utilisateur n’est pas requise pour accéder à l’application, vous pouvez ignorer cette étape.
Si l’affectation d’un utilisateur est requise dans Microsoft Entra ID pour accéder à l’application ou pour attribuer des rôles, l’utilisateur est affecté à l’application. Sinon, l’utilisateur ne peut pas obtenir d’accès, quelle que soit l’authentification. Pour ajouter l’utilisateur externe invité à un groupe, effectuez un autre appel d’API. Le groupe est affecté à l’application et mappé à un rôle d’application.
Exemple d’autorisations : attribuer le rôle Chargé de la mise à jour du groupe ou un rôle personnalisé à l’application d’entreprise. Étendez l’attribution des rôles aux groupes mis à jour par cette application. Vous pouvez également attribuer l’autorisation group.readwrite.all
dans l’API Microsoft Graph.
POST https://graph.microsoft.com/v1.0/groups/<insert group id>/members/$ref
Content-type: application/json
{
"@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/<insert user id>"
}
Pour plus d’informations, consultez Ajouter des membres dans Microsoft Graph v1.0.
Vous pouvez également utiliser des groupes à appartenance dynamique Microsoft Entra qui affectent automatiquement les utilisateurs en fonction d’attributs spécifiques, tels qu’userType, email, ou un attribut personnalisé. Toutefois, cette approche n’est pas recommandée si l’accès des utilisateurs doit être opérationnel rapidement, car le remplissage des groupes à appartenance dynamique peut prendre jusqu’à 24 heures.
Si vous utilisez des groupes à appartenance dynamique, n’ajoutez pas les utilisateurs à un groupe à l’aide d’un autre appel d’API. À la place, créez un groupe qui ajoute l’utilisateur en tant que membre du groupe en fonction d’attributs tels qu’userType, email ou un attribut personnalisé. Pour plus d’informations, consultez Créer ou modifier un groupe dynamique et obtenir l’état.
Approvisionner l’utilisateur invité dans l’application
Une fois que l’utilisateur externe invité a été approvisionné dans Microsoft Entra ID, l’API Microsoft Graph renvoie une réponse contenant les informations de l’utilisateur, telles que l’ID d’objet et l’adresse e-mail. L’application métier approvisionne ensuite l’utilisateur dans son propre répertoire ou sa propre base de données. L’approvisionnement varie en fonction du type d’application et du type de répertoire interne utilisé par l’application.
Lorsque l’utilisateur externe est approvisionné dans Microsoft Entra ID et dans l’application, l’application métier informe l’utilisateur à l’origine de l’invitation que le processus a réussi. L’utilisateur invité peut bénéficier de l’authentification unique pour son identité sans que l’organisation à l’origine de l’invitation doive intégrer et générer des informations d’identification supplémentaires. Microsoft Entra ID applique les stratégies d’autorisation avec l’accès conditionnel, l’authentification multifacteur Microsoft Entra et Protection des ID Microsoft Entra.
Autres considérations
Assurez-vous que la gestion des erreurs est effectuée dans l’application métier. L’application valide chaque appel d’API. En cas d’échec, des tentatives supplémentaires ou des messages d’erreur peuvent s’avérer utiles.
Pour que les applications métier mettent à jour les utilisateurs externes invités, attribuez un rôle personnalisé qui permet à l’application de mettre à jour les utilisateurs et d’attribuer une étendue à une unité administrative dynamique. Par exemple, créez une unité administrative dynamique avec des utilisateurs pour lesquels usertype = guest. Lorsque des utilisateurs externes sont intégrés à Microsoft Entra ID, ils sont ajoutés à l’unité administrative. L’application métier doit tenter de mettre à jour l’utilisateur. Cela peut nécessiter plusieurs tentatives en cas de ralentissements. Malgré les retards, l’approche permet à l’application métier de mettre à jour des utilisateurs externes sans lui octroyer l’autorisation de mettre à jour des utilisateurs dans le répertoire.