Share via


Durchführen des Onboardings für externe Benutzer in Branchenanwendungen mithilfe von Microsoft Entra B2B

Anwendungsentwickler können Microsoft Entra B2B verwenden, um für externe Benutzer das Onboarding in Branchenanwendungen durchzuführen und in diesen Anwendungen mit ihnen zusammenzuarbeiten. Anwendungsentwickler*innen können eine Umgebung für 1-Klick-Einladungen in jeder Branchenanwendung erstellen, die in Microsoft Entra ID integriert ist. Dies ähnelt der Schaltfläche Freigeben in vielen Office 365-Anwendungen.

Dies hat unter anderem folgende Vorteile:

  • Einfaches und problemloses Onboarding von Benutzer*innen und Zugriff auf Branchenanwendungen, sodass Benutzer*innen mit wenigen Schritten Zugriff erhalten können

  • Ermöglicht es externen Benutzer*innen, ihre eigene Identität zu verwenden und einmaliges Anmelden (Single Sign-On, SSO) auszuführen

  • 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:

Screenshot shows the integration of LOB applications.

Schritt BESCHREIBUNG
1. 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 der Benutzer bereits vorhanden ist. Wenn dies nicht der Fall ist, fährt sie mit Schritt 2 fort.
2. Die Anwendung sendet im Namen der Benutzer*innen eine POST-Anforderung an die Microsoft Graph-API. Sie stellt die Umleitungs-URL und die E-Mail-Adresse der externen Benutzer bereit, die in Schritt 1 definiert wurden.
3. Die Microsoft Graph-API stellt den Gastbenutzer in Microsoft Entra ID bereit.
4. Die Microsoft Graph-API gibt den Erfolgs-/Fehlerstatus 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-Adressen der eingeladenen Benutzer gesendet wird. Sie können optional die Microsoft-E-Mail unterdrücken und eine eigene benutzerdefinierte E-Mail senden.
5. (Optional) Wenn Sie weitere Attribute für die eingeladenen Benutzer*innen schreiben oder die eingeladenen Benutzer*innen einer Gruppe hinzufügen möchten, führt die Anwendung einen zusätzlichen API-Aufruf an die Microsoft Graph-API aus.
6. (Optional) Die Microsoft Graph-API nimmt die gewünschten Aktualisierungen für Microsoft Entra ID vor.
7. (Optional) Die Microsoft Graph-API gibt den Erfolgs-/Fehlerstatus an die Anwendung zurück.
8. Die Anwendung stellt die Benutzer in ihrem eigenen Datenbank-/Back-End-Benutzerverzeichnis bereit. Dabei wird das Objekt-ID-Attribut der Benutzer als unveränderliche ID verwendet.
9. Die Anwendung zeigt dem Endbenutzer bzw. der Endbenutzerin den Erfolgs-/Fehlerstatus an.

Wenn eine Zuweisung für den Zugriff auf die Branchenanwendung erforderlich ist, müssen die eingeladenen Gastbenutzer auch der Anwendung mit einer entsprechenden Anwendungsrolle zugewiesen werden. Dieser Schritt kann durch einen weiteren API-Aufruf ausgeführt werden, der die eingeladenen Gäste einer Gruppe hinzufügt (Schritte 5-7). Alternativ kann die Gruppenmitgliedschaft mit dynamischen Microsoft Entra-Gruppen automatisiert werden. Die Verwendung dynamischer Gruppen erfordert keinen weiteren API-Aufruf durch die Anwendung. Die Gruppenmitgliedschaft wird jedoch nicht so schnell aktualisiert wie beim Hinzufügen von Benutzer*innen zu einer Gruppe unmittelbar nach der Benutzereinladung.

Schritt 1: Überprüfen, ob die externen Benutzer*innen bereits vorhanden sind

Es ist möglich, dass die externen Benutzer*innen bereits zuvor eingeladen und integriert wurden. Die Branchenanwendung muss überprüfen, ob die Benutzer*innen bereits im Verzeichnis vorhanden sind. Es gibt viele Ansätze, am einfachsten ist es jedoch, einen API-Aufruf an die Microsoft Graph-API zu senden und der einladenden Person die möglichen Übereinstimmungen anzuzeigen, aus denen sie auswählen kann.

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 Benutzern in der Antwort erhalten, sind die Benutzer bereits vorhanden. Sie müssen die zurückgegebenen Benutzer*innen der einladenden Person anzeigen und diese auswählen lassen, welchen externen Benutzer*innen sie Zugriff gewähren möchte. Sie sollten mit entsprechenden API-Aufrufen fortfahren oder andere Prozesse auslösen, um diesen Benutzer*innen Zugriff auf die Anwendung zu gewähren, anstatt mit dem Einladungsschritt fortzufahren.

Schritt 2: Erstellen und Senden einer Einladung

Wenn die externen Benutzer*innen noch nicht im Verzeichnis vorhanden sind, können Sie Microsoft Entra B2B verwenden, um die Benutzer*innen einzuladen und in Ihren Microsoft Entra-Mandanten zu integrieren. Als Anwendungsentwickler*in müssen Sie festlegen, was in die Einladungsanforderung an die Microsoft Graph-API aufgenommen werden soll.

Mindestens Folgendes ist erforderlich:

  • Fordern Sie den Endbenutzer auf, die E-Mail-Adressen der externen Benutzer anzugeben.

  • Festlegen der Einladungs-URL. An diese URL werden die eingeladenen Benutzer*innen umgeleitet, nachdem sie sich authentifiziert und die B2B-Einladung eingelöst haben. Die URL kann eine generische Landing Page für die Anwendung sein oder dynamisch von der Branchenanwendung basierend darauf bestimmt werden, wo die Endbenutzer*innen die Einladung ausgelöst haben.

Weitere Flags und Attribute, die für die Aufnahme in die Einladungsanforderung berücksichtigt werden sollten:

  • Anzeigename der eingeladenen Benutzer*innen.
  • Legen Sie fest, ob Sie die standardmäßige E-Mail-Einladung von Microsoft verwenden oder die Standard-E-Mail unterdrücken möchten, um eine eigene E-Mail zu erstellen.

Nachdem die Anwendung die erforderlichen Informationen gesammelt und alle anderen einzuschließenden Flags oder Informationen ermittelt hat, muss die Anwendung die POST-Anforderung an den Einladungs-Manager der Microsoft Graph-API senden. Stellen Sie sicher, dass die Anwendungsregistrierung in Microsoft Entra ID über die entsprechenden Berechtigungen verfügt.

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

Eine vollständige Liste der verfügbaren Optionen für den JSON-Textkörper der Einladung finden Sie unter invitation resource type - Microsoft Graph v1.0 (Einladungsressourcentyp: Microsoft Graph v1.0).

Anwendungsentwickler*innen können alternativ das Onboarding externer Benutzer*innen mithilfe der Self-Service-Registrierung von Microsoft Entra oder der Zugriffspakete für die Berechtigungsverwaltung durchführen. Sie können eine Einladungsschaltfläche in Ihrer Branchenanwendung erstellen, die eine benutzerdefinierte E-Mail mit einer vordefinierten URL für die Self-Service-Registrierung oder einer vordefinierten Zugriffspaket-URL auslöst. Die eingeladenen Benutzer*innen führen dann per Self-Service das Onboarding durch und greifen auf die Anwendung zu.

Schritt 3: Schreiben anderer Attribute in Microsoft Entra ID (optional)

Wichtig

Das Erteilen der Berechtigung zum Aktualisieren von Benutzer*innen in Ihrem Verzeichnis für eine Anwendung ist eine Aktion mit besonders privilegierten Berechtigungen. Sie sollten Schritte zum Schützen und Überwachen Ihrer Branchenanwendung ergreifen, wenn Sie der Anwendung diese besonders privilegierten Berechtigungen erteilen.

Ihre Organisation oder die Branchenanwendung erfordert möglicherweise die Speicherung weiterer Informationen zur zukünftigen Verwendung, z. B. Anspruchsausstellung in Token oder differenzierte Autorisierungsrichtlinien. Ihre Anwendung kann einen weiteren API-Aufruf ausführen, um die externen Benutzer zu aktualisieren, nachdem sie in Microsoft Entra ID eingeladen/erstellt wurden. Dazu muss Ihre Anwendung über zusätzliche API-Berechtigungen verfügen, und es ist ein zusätzlicher Aufruf der Microsoft Graph-API erforderlich.

Zum Aktualisieren der Benutzer müssen Sie die Objekt-ID der neu erstellten Gastbenutzer verwenden, die in der Antwort des Einladungs-API-Aufrufs empfangen wurde. Dies ist der ID-Wert in der API-Antwort aus der Existenzprüfung oder Einladung. Sie können in jedes Standardattribut oder in benutzerdefinierte Erweiterungsattribute schreiben, die Sie erstellt haben.

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 Benutzern – Microsoft Graph v1.0.

Schritt 4: Zuweisen der eingeladenen Benutzer*innen zu einer Gruppe

Hinweis

Wenn für den Zugriff auf die Anwendung keine Benutzerzuweisung erforderlich ist, können Sie diesen Schritt überspringen.

Wenn eine Benutzerzuweisung in Microsoft Entra ID für den Anwendungszugriff oder die Rollenzuweisung erforderlich ist, müssen die Benutzer der Anwendung zugewiesen werden. Andernfalls haben sie unabhängig von einer erfolgreichen Authentifizierung keinen Zugriff. Dazu müssen Sie einen weiteren API-Aufruf ausführen, um die eingeladenen externen Benutzer*innen einer bestimmten Gruppe hinzuzufügen. Die Gruppe kann der Anwendung zugewiesen und einer bestimmten Anwendungsrolle zugeordnet werden.

Beispiel:

Berechtigungen: Weisen Sie der Unternehmensanwendung die Rolle für die Gruppenaktualisierung oder eine benutzerdefinierte Rolle zu, und legen Sie die Rollenzuweisung nur auf die Gruppen fest, die von dieser Anwendung aktualisiert werden sollen. 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 – Microsoft Graph v1.0.

Alternativ können Sie dynamische Microsoft Entra-Gruppen verwenden, die Benutzer basierend auf den Benutzerattributen automatisch einer Gruppe zuweisen können. Wenn der Endbenutzerzugriff jedoch zeitkritisch ist, wäre dies nicht der empfohlene Ansatz, da das Auffüllen dynamischer Gruppen bis zu 24 Stunden dauern kann.

Wenn Sie dynamische Gruppen verwenden möchten, müssen Sie die Benutzer*innen nicht explizit mit einem weiteren API-Aufruf zu einer Gruppe hinzufügen. Erstellen Sie eine dynamische Gruppe, die die Benutzer*innen basierend auf verfügbaren Attributen (wie Benutzertyp, E-Mail) oder einem benutzerdefinierten Attribut automatisch als Mitglied der Gruppe hinzufügt. Weitere Informationen finden Sie unter Erstellen oder Bearbeiten einer dynamischen Gruppe und Abrufen des Status.

Schritt 5: Bereitstellen der eingeladenen Benutzer*innen für die Anwendung

Nachdem die eingeladenen externen Benutzer*innen in Microsoft Entra ID bereitgestellt wurden, gibt die Microsoft Graph-API eine Antwort mit den erforderlichen Benutzerinformationen wie Objekt-ID und E-Mail zurück. Die Branchenanwendung kann die Benutzer*innen dann in einem eigenen Verzeichnis/einer eigenen Datenbank bereitstellen. Je nach Typ der Anwendung und des internen Verzeichnisses, den die Anwendung verwendet, variiert die tatsächliche Implementierung dieser Bereitstellung.

Da die externen Benutzer*innen sowohl in Microsoft Entra ID als auch in der Anwendung bereitgestellt wurden, kann die Branchenanwendung nun den Endbenutzer bzw. die Endbenutzerin, der bzw. die die Einladung initiiert hat, benachrichtigen, dass der Vorgang erfolgreich war. Die eingeladenen Benutzer*innen können einmaliges Anmelden mit einer eigenen Identität nutzen, ohne dass die einladende Organisation zusätzliche Anmeldeinformationen integrieren und ausstellen muss. Microsoft Entra ID kann Autorisierungsrichtlinien wie bedingter Zugriff, Microsoft Entra Multi-Faktor-Authentifizierung und risikobasierter Identity Protection erzwingen.

Andere Aspekte

  • Stellen Sie sicher, dass eine ordnungsgemäße Fehlerbehandlung innerhalb der Branchenanwendung erfolgt. Die Anwendung muss überprüfen, ob API-Aufrufe erfolgreich sind. Wenn die Aufrufe nicht erfolgreich sind, müssen weitere Versuche unternommen oder Fehlermeldungen für den Endbenutzer angezeigt werden.

  • Wenn die Branchenanwendung externe Benutzer aktualisieren muss, nachdem sie eingeladen wurden, können Sie ggf. eine benutzerdefinierte Rolle zuweisen, die es der Anwendung ermöglicht, nur Benutzer zu aktualisieren und den Bereich einer dynamischen Verwaltungseinheit zuzuweisen. Sie können beispielsweise eine dynamische Verwaltungseinheit erstellen, die alle Benutzer*innen mit dem Benutzertyp „Gast“ enthält. Nachdem die externen Benutzer*innen in Microsoft Entra ID integriert wurden, dauert es einige Zeit, bis sie der Verwaltungseinheit hinzugefügt werden. Daher muss die Branchenanwendung nach einiger Zeit versuchen, die Benutzer zu aktualisieren, und es können mehrere Versuche notwendig sein, wenn Verzögerungen auftreten. Trotz dieser Verzögerungen ist dies der beste verfügbare Ansatz, um der Branchenanwendung die Aktualisierung externer Benutzer*innen zu ermöglichen, ohne ihr die Berechtigung zum Aktualisieren aller Benutzer*innen im Verzeichnis zu erteilen.