Durchführen des Onboardings für externe Benutzer in Branchenanwendungen mithilfe von Microsoft Entra B2B
Anwendungsentwickelnde können Microsoft Entra B2B nutzen, um externe Benutzende in LOB-Anwendungen (Line of Business) einzubinden und mit ihnen zusammenzuarbeiten. Ähnlich wie bei der Teilen-Schaltfläche in vielen Office 365-Anwendungen können Anwendungsentwickelnde in LOB-Anwendungen, die mit Microsoft Entra ID integriert sind, eine Einladungserfahrung mit nur einem Klick erstellen.
Dies hat unter anderem folgende Vorteile:
- Benutzeronboarding und Zugriff auf die LOB-Anwendungen. Mit nur wenigen Schritten haben Benutzende Zugriff
- Externe Benutzende bringen ihre Identität mit und führen Single Sign-On (SSO) durch
- Automatische Bereitstellung externer Identitäten für Microsoft Entra ID
- Anwenden von Microsoft Entra-Richtlinien für bedingten Zugriff und mandantenübergreifenden Zugriff, um Autorisierungsrichtlinien wie die Multi-Faktor-Authentifizierung zu erzwingen
Integrationsflow
Gehen Sie wie folgt vor, um Branchenanwendungen in Microsoft Entra B2B zu integrieren:
- Der Endbenutzer bzw. die Endbenutzerin löst die Einladung innerhalb der Branchenanwendung aus und gibt die E-Mail-Adresse der externen Benutzer*innen an. Die Anwendung überprüft, ob Benutzende bereits vorhanden sind. Wenn dies nicht der Fall ist, fährt sie mit Einladung erstellen und versenden| fort.
- Die Anwendung sendet im Namen der Benutzer*innen eine POST-Anforderung an die Microsoft Graph-API. Sie liefert die Umleitungs-URL und die E-Mail von externen Benutzenden, die in Bestätigen, dass der externe Benutzer im Verzeichnis ist definiert ist.
- Die Microsoft Graph-API stellt die Gastbenutzer*innen in Microsoft Entra ID bereit.
- Die Microsoft Graph-API gib den Erfolgs- oder Misserfolgsstatus des API-Aufrufs zurück. Bei erfolgreicher Ausführung enthält die Antwort die Microsoft Entra-Benutzerobjekt-ID und den Einladungslink, der an die E-Mail-Adresse von eingeladenen Benutzenden gesendet wird. Sie können optional die Microsoft-E-Mail unterdrücken und eine eigene, benutzerdefinierte E-Mail senden.
- (Optional) Um weitere Attribute für eingeladene Benutzende zu schreiben oder eingeladene Benutzende zu einer Gruppe hinzuzufügen. Die Anwendung führt einen zusätzlichen API-Aufruf an die Microsoft Graph-API durch.
- (Optional) Die Microsoft Graph-API nimmt die gewünschten Aktualisierungen für Microsoft Entra ID vor.
- (Optional) Die Microsoft Graph-API gibt den Erfolgs-/Fehlerstatus an die Anwendung zurück.
- Die Anwendung stellt Benutzende in ihrer Datenbank oder ihrem Back-End-Benutzerverzeichnis bereit und verwendet dabei das Attribut „Benutzerobjekt-ID“ als unveränderliche ID.
- Die Anwendung zeigt den Endbenutzenden den Erfolgs-/Fehlerstatus an.
Wenn für den Zugriff auf die LOB-Anwendung eine Zuweisung erforderlich ist, werden die eingeladenen Gastbenutzenden der Anwendung mit einer Anwendungsrolle zugewiesen. Aktivieren Sie diese Aktion als weiteren API-Aufruf, um eingeladene Gastbenutzende zu einer Gruppe hinzuzufügen, oder automatisieren Sie die Mitgliedschaft mit dynamischen Mitgliedergruppen von Microsoft Entra. Dynamische Mitgliedergruppen erfordern keinen weiteren API-Aufruf durch die Anwendung; sie werden jedoch genauso schnell aktualisiert wie das Hinzufügen von Benutzenden zu einer Gruppe über eine Benutzereinladung.
Bestätigen Sie, dass sich die externe benutzende Person im Verzeichnis befindet.
Es ist möglich, dass die externe benutzende Person bereits zuvor eingeladen und integriert wurden. Die LOB-Anwendung überprüft, ob sich die benutzende Person im Verzeichnis befindet. Führen Sie einen API-Aufruf der Microsoft Graph-API durch und präsentieren Sie die Übereinstimmungen der eingeladenen benutzenden Person, damit diese auswählen kann.
Zum Beispiel:
Application Permission: User.read.all
GET https://graph.microsoft.com/v1.0/users?$filter=othermails/any(id:id eq 'userEmail@contoso.com')
Wenn Sie die Details von Benutzenden in der Antwort erhalten, sind die Benutzenden bereits vorhanden. Zeigen Sie die zurückgegebenen Benutzenden der eingeladenen benutzenden Person an. Erlauben Sie Benutzenden, die externe benutzende Person auszuwählen, die Zugang erhält. Um der benutzenden Person Zugriff auf die Anwendung zu gewähren, tätigen Sie API-Aufrufe oder lösen Sie andere Prozesse aus.
Einladung erstellen und senden
Wenn die externe benutzenden Person noch nicht im Verzeichnis vorhanden ist, können Sie Microsoft Entra B2B verwenden, um die Person einzuladen und in Ihren Microsoft Entra-Mandanten zu integrieren. Legen Sie fest, was in der Einladungsanfrage an die Microsoft Graph-API enthalten sein soll.
Benutzen Sie die folgenden Elemente:
- Fordern Sie die Endbenutzerin bzw. den Endbenutzer auf, die E-Mail-Adresse der externen benutzenden Person anzugeben.
- Bestimmen Sie die Einladungs-URL, an die eingeladene Benutzende weitergeleitet werden, nachdem diese sich authentifiziert und die B2B-Einladung eingelöst haben.
- Die URL kann eine generische Landing Page sein oder dynamisch von der LOB-Anwendung bestimmt werden, je nachdem, von wo aus Endbenutzende die Einladung ausgelöst haben.
Weitere Kennzeichen und Attribute für die Einladungsanfrage:
- Anzeigename von eingeladenen Benutzenden
- Standard-E-Mail-Einladung von Microsoft, oder Unterdrücken der Standard-E-Mail, um Ihre eigene zu erstellen
Nachdem die Anwendung die erforderlichen Informationen gesammelt hat, muss sie die Anfrage an den Microsoft Graph API-Einladungsmanager POSTEN. Stellen Sie sicher, dass die Anwendungsregistrierung in Microsoft Entra ID über die entsprechenden Berechtigungen verfügt.
Zum Beispiel:
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"
}
Hinweis
Optionen für den JSON- Textkörper der Einladung finden Sie unter Einladungs-Ressourcentyp in Microsoft Graph v1.0.
Anwendungsentwickler können externe Benutzende mit Hilfe von Microsoft Entra Self-Service-Anmelde- oder Berechtigungsverwaltungs-Zugriffspaketen einbinden. Erstellen Sie eine Einladungs-Schaltfläche in Ihrer LOB-Anwendung, die eine benutzerdefinierte E-Mail mit einer Self-Service-Anmelde-URL oder einer Zugriffspaket-URL auslöst. Die eingeladene benutzende Person schaltet sich ein und greift auf die Anwendung zu.
(Optional) Schreiben weiterer Attribute in Microsoft Entra ID
Wichtig
Das Erteilen der Berechtigung zum Aktualisieren von Benutzer*innen in Ihrem Verzeichnis für eine Anwendung ist eine Aktion mit besonders privilegierten Berechtigungen. Wenn Sie der Anwendung diese hochprivilegierten Berechtigungen gewähren, sollten Sie Ihre LOB-Anwendung sichern und überwachen.
Ihre Organisation oder die LOB-Anwendung erfordert möglicherweise die Speicherung weiterer Informationen zur zukünftigen Verwendung, z. B. Anspruchsausstellung in Token oder differenzierte Autorisierungsrichtlinien. Wenn externe Benutzende eingeladen oder in Microsoft Entra ID erstellt werden, kann eine Anwendung einen weiteren API-Aufruf tätigen, um diese zu aktualisieren. Die Anwendung muss über zusätzliche API-Berechtigungen und einen zusätzlichen Aufruf der Microsoft Graph API-verfügen.
Um die benutzende Person zu aktualisieren, verwenden Sie die Objekt-ID des erstellten Gastbenutzers aus dem API-Aufruf der Einladung und den ID-Wert in der API-Antwort aus der Existenzprüfung oder der Einladung. Sie können in jedes Standardattribut oder in benutzerdefinierte Erweiterungsattribute schreiben.
Zum Beispiel:
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"
}
Weitere Informationen finden Sie unter Aktualisieren von Benutzenden in Microsoft Graph v1.0.
(Optional) Zuweisen der eingeladenen benutzenden Person zu einer Gruppe
Hinweis
Wenn für den Zugriff auf die Anwendung keine Benutzerzuweisung erforderlich ist, können Sie diesen Schritt überspringen.
Wenn die Benutzerzuweisung in der Microsoft Entra-ID für den Anwendungszugriff oder die Rollenzuweisung erforderlich ist, wird die benutzende Person der Anwendung zugewiesen. Andernfalls kann die benutzende Person unabhängig von der Authentifizierung keinen Zugriff erhalten. Dazu müssen Sie einen weiteren API-Aufruf ausführen, um die eingeladene externe benutzende Person einer bestimmten Gruppe hinzuzufügen. Die Gruppe wird der Anwendung zugewiesen und einer bestimmten Anwendungsrolle zugeordnet.
Ein Beispiel für Berechtigungen: Weisen Sie der Unternehmensanwendung die Rolle Group Updater oder eine benutzerdefinierte Rolle zu. Beschränken Sie die Rollenzuweisung auf die Gruppen, die von dieser Anwendung aktualisiert werden. Oder weisen Sie die Berechtigung group.readwrite.all
in der Microsoft Graph-API zu.
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>"
}
Weitere Informationen finden Sie unter Hinzufügen von Mitgliedern in Microsoft Graph v1.0.
Alternativ können Sie dynamische Microsoft Entra-Mitgliedschaftsgruppen verwenden, die Benutzenden automatisch basierend auf bestimmten Attributen, wie UserType, E-Mail oder einem benutzerdefinierten Attribut, zuweisen. Wenn der Benutzerzugriff jedoch zeitkritisch ist, ist dieser Ansatz nicht zu empfehlen, da es bis zu 24 Stunden dauern kann, bis Gruppen mit dynamischer Mitgliedschaft befüllt sind.
Wenn Sie Gruppen mit dynamischer Mitgliedschaft verwenden möchten, müssen Sie Benutzende nicht explizit mit einem weiteren API-Aufruf zu einer Gruppe hinzufügen. Erstellen Sie stattdessen eine Gruppe, die die benutzende Person als Gruppenmitglied hinzufügt, basierend auf Attributen wie userType, E-Mail oder einem benutzerdefinierten Attribut. Weitere Informationen finden Sie unter Erstellen oder Bearbeiten einer dynamischen Gruppe und Abrufen des Status.
Bereitstellung der eingeladenen benutzenden Person für die Anwendung
Nachdem eingeladene externe Benutzende in Microsoft Entra ID bereitgestellt wurden, meldet die Microsoft Graph-API eine Antwort mit den erforderlichen Benutzerinformationen wie Objekt-ID und E-Mail zurück. Die LOB-Anwendung kann Benutzende dann in einem eigenen Verzeichnis oder eigener Datenbank bereitstellen. Je nach Typ der Anwendung und des internen Verzeichnisses, den die Anwendung verwendet, variiert die tatsächliche Implementierung dieser Bereitstellung.
Wenn externe Benutzende sowohl in Microsoft Entra ID als auch in der Anwendung bereitgestellt wurden, kann die LOB-Anwendung nun die benutzende Person, die die Einladung initiiert hat, benachrichtigen, dass der Vorgang erfolgreich war. Der eingeladene Benutzer erhält SSO mit seiner Identität, ohne dass die einladende Organisation ein Onboarding durchführt und zusätzliche Anmeldedaten ausstellt. Microsoft Entra ID setzt Autorisierungsrichtlinien mit bedingtem Zugriff, Microsoft Entra Multi-Faktor-Authentifizierung und Microsoft Entra ID Protection durch.
Weitere Überlegungen
Stellen Sie sicher, dass eine ordnungsgemäße Fehlerbehandlung innerhalb der LOB-Anwendung erfolgt. Die Anwendung überprüft jeden API-Aufruf. Wenn dies nicht erfolgreich ist, sind zusätzliche Versuche oder Fehlermeldungen hilfreich.
Damit LOB-Anwendungen eingeladene externe Benutzende aktualisieren können, gewähren Sie eine benutzerdefinierte Rolle, die es der Anwendung erlaubt, Benutzende zu aktualisieren und den Geltungsbereich einer dynamischen Verwaltungseinheit zuzuweisen. Erstellen Sie zum Beispiel eine dynamische Verwaltungseinheit mit Benutzenden, deren Benutzertyp = Gast ist. Wenn das Onboarding für externe Benutzende in Microsoft Entra ID erfolgt, werden sie der Verwaltungseinheit hinzugefügt. Die LOB-Anwendung muss versuchen, die benutzende Person zu aktualisieren, und es kann mehr als einen Versuch dauern, wenn es zu Verzögerungen kommt. Trotz Verzögerungen ermöglicht der Ansatz der LOB-Anwendung, externe Benutzende zu aktualisieren, ohne ihr die Berechtigung zu erteilen, Benutzende im Verzeichnis zu aktualisieren.