Udostępnij za pośrednictwem


Dołączanie użytkowników zewnętrznych do aplikacji biznesowych przy użyciu usługi Microsoft Entra B2B

Deweloperzy aplikacji mogą używać firmy Microsoft Entra B2B do dołączania i współpracy z użytkownikami zewnętrznymi w aplikacjach biznesowych (LOB). Podobnie jak przycisk Udostępnij w wielu aplikacjach usługi Office 365, deweloperzy aplikacji mogą utworzyć jedno kliknięcie środowiska zaproszeń w aplikacjach biznesowych zintegrowanych z identyfikatorem Microsoft Entra ID.

Korzyści obejmują:

  • Dołączanie użytkowników i dostęp do aplikacji biznesowych. Użytkownicy mają dostęp z kilkoma krokami
  • Użytkownicy zewnętrzni uzyskują tożsamość i wykonują logowanie jednokrotne
  • Inicjowanie obsługi administracyjnej tożsamości zewnętrznej w usłudze Microsoft Entra ID
  • Microsoft Entra Conditional Access i zasady dostępu między dzierżawami w celu wymuszania zasad autoryzacji, takich jak uwierzytelnianie wieloskładnikowe

Przepływ integracji

Aby zintegrować aplikacje LOB z firmą Microsoft Entra B2B, postępuj zgodnie z następującym wzorcem:

Zrzut ekranu przedstawiający integrację aplikacji biznesowych.

  1. Użytkownik końcowy wyzwala zaproszenie w aplikacji LOB i udostępnia adres e-mail użytkownika zewnętrznego. Aplikacja sprawdza, czy użytkownik już istnieje, a jeśli nie, przechodzi do sekcji Tworzenie i wysyłanie zaproszenia|
  2. Aplikacja wysyła post do interfejsu API programu Microsoft Graph w imieniu użytkownika. Udostępnia on adres URL przekierowania i adres e-mail użytkownika zewnętrznego zdefiniowany w artykule Potwierdzanie, że użytkownik zewnętrzny znajduje się w katalogu.
  3. Interfejs API programu Microsoft Graph aprowizuje użytkownika-gościa w identyfikatorze Entra firmy Microsoft.
  4. Interfejs API programu Microsoft Graph zwraca stan niepowodzenia środowiska IR wywołania interfejsu API. W przypadku powodzenia odpowiedź zawiera identyfikator obiektu użytkownika Entra firmy Microsoft i link zaproszenia wysłany do wiadomości e-mail zaproszonego użytkownika. Możesz pominąć wiadomość e-mail firmy Microsoft i wysłać własną niestandardową wiadomość e-mail.
  5. (Opcjonalnie) Aby napisać więcej atrybutów do zaproszonego użytkownika lub dodać zaproszonego użytkownika do grupy. Aplikacja wykonuje dodatkowe wywołanie interfejsu API do interfejsu API programu Microsoft Graph.
  6. (Opcjonalnie) Interfejs API programu Microsoft Graph wprowadza aktualizacje identyfikatora Entra firmy Microsoft.
  7. (Opcjonalnie) Interfejs API programu Microsoft Graph zwraca stan powodzenia lub niepowodzenia aplikacji.
  8. Aplikacja aprowizuje użytkownika do katalogu użytkownika bazy danych lub zaplecza przy użyciu atrybutu identyfikatora obiektu użytkownika jako niezmiennego identyfikatora.
  9. Aplikacja przedstawia użytkownikowi końcowemu stan powodzenia lub niepowodzenia.

Jeśli przypisanie jest wymagane do uzyskania dostępu do aplikacji LOB, zaproszony użytkownik-gość zostanie przypisany do aplikacji z rolą aplikacji. Włącz tę akcję jako kolejne wywołanie interfejsu API, dodając zaproszonego gościa do grupy lub automatyzując członkostwo w grupach dynamicznych firmy Microsoft Entra. Grupy dynamiczne nie wymagają innego wywołania interfejsu API przez aplikację. Jednak członkostwo w grupie jest aktualizowane tak szybko, jak dodanie użytkownika do grupy po zaproszeniu użytkownika.

Upewnij się, że użytkownik zewnętrzny znajduje się w katalogu

Możliwe, że użytkownik zewnętrzny został zaproszony i dołączony. Aplikacja LOB sprawdza, czy użytkownik znajduje się w katalogu. Wywołanie interfejsu API do interfejsu API programu Microsoft Graph i przedstawienie dopasowań do użytkownika zapraszającego do wybrania.

Na przykład:

Application Permission: User.read.all

GET https://graph.microsoft.com/v1.0/users?$filter=othermails/any(id:id eq 'userEmail@contoso.com')  

Jeśli otrzymasz szczegóły użytkownika w odpowiedzi, użytkownik znajduje się w katalogu. Przedstawianie użytkowników zwróconych użytkownikowi zapraszającemu. Zezwalaj użytkownikom na wybieranie użytkownika zewnętrznego, który uzyskuje dostęp. Aby udzielić użytkownikowi dostępu do aplikacji, wykonaj wywołania interfejsu API lub wyzwól inne procesy.

Tworzenie i wysyłanie zaproszenia

Jeśli użytkownik zewnętrzny nie znajduje się w katalogu, użyj usługi Microsoft Entra B2B, aby zaprosić użytkownika i dołączyć go do dzierżawy firmy Microsoft Entra. Określ, co należy uwzględnić w żądaniu zaproszenia do interfejsu API programu Microsoft Graph.

Użyj następujących elementów:

  • Monituj użytkownika końcowego o podanie adresu e-mail użytkownika zewnętrznego
  • Określanie adresu URL zaproszenia, który przekierowuje zaproszonych użytkowników po uwierzytelnieniu i realizacji zaproszenia B2B
    • Adres URL może być ogólną stroną docelową lub dynamicznie określaną przez aplikację LOB na podstawie tego, gdzie użytkownik końcowy wyzwolił zaproszenie

Więcej flag i atrybutów dla żądania zaproszenia:

  • Nazwa wyświetlana zaproszonego użytkownika
  • Domyślna wiadomość e-mail z zaproszeniem firmy Microsoft lub pomiń domyślną wiadomość e-mail, aby utworzyć własną

Po zebraniu wymaganych informacji aplikacja musi wysłać żądanie POST do menedżera zaproszeń interfejsu API programu Microsoft Graph. Upewnij się, że rejestracja aplikacji ma uprawnienia w identyfikatorze Entra firmy Microsoft.

Na przykład:

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"  
} 

Uwaga

Aby wyświetlić opcje treści JSON zaproszenia, zobacz typ zasobu zaproszenia w programie Microsoft Graph w wersji 1.0.

Deweloperzy aplikacji mogą dołączać użytkowników zewnętrznych przy użyciu pakietów dostępu do samoobsługowej rejestracji firmy Microsoft lub zarządzania upoważnieniami. Utwórz przycisk Zaproszenie w aplikacji LOB, który wyzwala niestandardową wiadomość e-mail z adresem URL rejestracji samoobsługowej lub adresem URL pakietu dostępu. Zaproszony użytkownik dołącza i uzyskuje dostęp do aplikacji.

(Opcjonalnie) Zapisywanie innych atrybutów w identyfikatorze Entra firmy Microsoft

Ważne

Przyznanie aplikacji uprawnienia do aktualizowania użytkowników w katalogu jest akcją o wysokim poziomie uprawnień. Jeśli przyznasz aplikacji te wysoce uprzywilejowane uprawnienia, zabezpiecz i monitoruj aplikację LOB.

Organizacja lub aplikacja LOB mogą wymagać informacji przechowywanych do użytku w przyszłości, takich jak emitowanie oświadczeń w tokenach lub szczegółowe zasady autoryzacji. Gdy użytkownicy zewnętrzni zostaną zaproszeni lub utworzeni w identyfikatorze Entra firmy Microsoft, aplikacja może wykonać inne wywołanie interfejsu API, aby je zaktualizować. Aplikacja musi mieć dodatkowe uprawnienia interfejsu API i dodatkowe wywołanie interfejsu API programu Microsoft Graph.

Aby zaktualizować użytkownika, użyj identyfikatora obiektu utworzonego użytkownika-gościa z wywołania interfejsu API zaproszenia, wartości identyfikatora w odpowiedzi interfejsu API z sprawdzenia istnienia lub zaproszenia. Można zapisywać w dowolnym standardowym atrybucie lub atrybutach rozszerzenia niestandardowego.

Na przykład:

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" 
} 

Aby uzyskać więcej informacji, zobacz Aktualizowanie użytkownika w programie Microsoft Graph w wersji 1.0.

(Opcjonalnie) Przypisywanie zaproszonego użytkownika do grupy

Uwaga

Jeśli przypisanie użytkownika nie jest wymagane do uzyskania dostępu do aplikacji, możesz pominąć ten krok.

Jeśli przypisanie użytkownika jest wymagane w identyfikatorze Entra firmy Microsoft na potrzeby dostępu do aplikacji lub przypisania roli, użytkownik zostanie przypisany do aplikacji. W przeciwnym razie użytkownik nie może uzyskać dostępu niezależnie od uwierzytelniania. Aby dodać zaproszonego użytkownika zewnętrznego do grupy, wykonaj kolejne wywołanie interfejsu API. Grupa jest przypisywana do aplikacji i mapowana na rolę aplikacji.

Przykład uprawnień: Przypisywanie roli aktualizatora grupy lub roli niestandardowej do aplikacji dla przedsiębiorstw. Określanie zakresu przypisania roli do grup, które są aktualizowane przez tę aplikację. Możesz też przypisać uprawnienie w interfejsie group.readwrite.all Microsoft Graph API.

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>" 
} 

Aby uzyskać więcej informacji, zobacz Dodawanie członków w programie Microsoft Graph w wersji 1.0.

Alternatywnie możesz użyć grup dynamicznych Firmy Microsoft Entra, które automatycznie przypisują użytkowników na podstawie ich atrybutów. Jeśli jednak dostęp użytkowników jest wrażliwy na czas, ta metoda nie jest zalecana, ponieważ wypełnianie grup dynamicznych może potrwać do 24 godzin.

Jeśli używasz grup dynamicznych, nie dodawaj użytkowników do grupy przy użyciu innego wywołania interfejsu API. Utwórz grupę dynamiczną, która dodaje użytkownika jako członka grupy na podstawie atrybutów, takich jak userType, email lub atrybut niestandardowy. Aby uzyskać więcej informacji, zobacz Tworzenie lub edytowanie grupy dynamicznej i uzyskiwanie stanu.

Aprowizuj zaproszonego użytkownika do aplikacji

Po aprowizacji zaproszonego użytkownika zewnętrznego w usłudze Microsoft Entra ID interfejs API programu Microsoft Graph zwraca odpowiedź z informacjami o użytkowniku, takimi jak identyfikator obiektu i wiadomość e-mail. Aplikacja LOB aprowizuje użytkownika do katalogu lub bazy danych. Aprowizacja różni się w zależności od aplikacji i typu katalogu wewnętrznego używanego przez aplikację.

Po aprowizacji użytkownika zewnętrznego w usłudze Microsoft Entra ID i aplikacji aplikacja LOB powiadamia inicjującego użytkownika, że proces zakończył się pomyślnie. Zaproszony użytkownik otrzymuje logowanie jednokrotne ze swoją tożsamością bez dołączania organizacji zapraszającej i wystawiania dodatkowych poświadczeń. Microsoft Entra ID wymusza zasady autoryzacji za pomocą dostępu warunkowego, uwierzytelniania wieloskładnikowego firmy Microsoft i ochrony tożsamości opartej na ryzyku.

Inne uwagi

Upewnij się, że obsługa błędów jest wykonywana w aplikacji LOB. Aplikacja weryfikuje każde wywołanie interfejsu API. Jeśli nie powiedzie się, przydatne są dodatkowe próby lub komunikaty o błędach.

Aby aplikacje LOB aktualizowały zaproszonych użytkowników zewnętrznych, przyznaj aplikacji rolę niestandardową, która umożliwia aplikacji aktualizowanie użytkowników i przypisywanie zakresu do dynamicznej jednostki administracyjnej. Na przykład utwórz dynamiczną jednostkę administracyjną z użytkownikami, gdzie usertype = guest. Gdy użytkownicy zewnętrzni są dołączani do identyfikatora Entra firmy Microsoft, są dodawani do jednostki administracyjnej. Aplikacja LOB musi podjąć próbę zaktualizowania użytkownika i może zająć więcej niż jedną próbę, jeśli występują opóźnienia. Pomimo opóźnień podejście umożliwia aplikacji LOB aktualizowanie użytkowników zewnętrznych bez udzielania mu uprawnień do aktualizowania dowolnego użytkownika w katalogu.