Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.
Uwaga
W tym artykule opisano sposób korzystania z usługi Azure AD B2C, która nie jest już dostępna do zakupu dla nowych klientów. Zapoznaj się z artykułem Używanie identyfikatora zewnętrznego firmy Microsoft Entra w celu udzielenia dostępu do usługi FHIR, aby uzyskać informacje na temat korzystania z identyfikatora zewnętrznego Firmy Microsoft Entra jako dostawcy tożsamości dla usługi FHIR.
Usługa FHIR jest zabezpieczona przez Microsoft Entra ID. Ponadto organizacje opieki zdrowotnej mogą również korzystać z usługi Azure Active Directory B2C (Azure AD B2C ) z usługą FHIR® w usługach Azure Health Data Services w celu udzielenia dostępu do swoich aplikacji i użytkowników za pośrednictwem dostawców tożsamości innych firm.
Twórz instancję Azure AD B2C dla usługi FHIR
Tworzenie dzierżawy Azure AD B2C dla usługi FHIR umożliwia skonfigurowanie bezpiecznej infrastruktury do zarządzania tożsamościami użytkowników w aplikacjach opieki zdrowotnej.
Jeśli już utworzyłeś dzierżawcę Azure AD B2C, możesz przejść do sekcji "Wdrażanie usługi FHIR za pomocą usługi Azure AD B2C" (Deploy the FHIR service with Azure AD B2C).
Wdróż dzierżawę usługi Azure AD B2C przy użyciu szablonu ARM
Automatyczne wdrażanie szablonu ARM w subskrypcji Azure przy użyciu PowerShell lub Azure CLI. Aby uzyskać więcej informacji na temat składni, właściwości i użycia szablonu, zobacz Deploy an instance of Azure Active Directory B2C (Wdrażanie wystąpienia usługi Azure Active Directory B2C).
Uruchom kod w usłudze Azure Cloud Shell lub lokalnie w PowerShell w Visual Studio Code, aby wdrożyć usługę FHIR w dzierżawie Azure AD B2C.
Użyj polecenia
Connect-AzAccount, aby zalogować się na platformie Azure. Po zalogowaniu użyj poleceniaGet-AzContext, aby zweryfikować subskrypcję i dzierżawę, której chcesz użyć. W razie potrzeby zmień subskrypcję i dzierżawę.Utwórz nową grupę zasobów (lub użyj istniejącej), pomijając krok "utwórz grupę zasobów" lub komentując wiersz rozpoczynający się od
New-AzResourceGroup.
### variables
$tenantid="your tenant id"
$subscriptionid="your subscription id"
$resourcegroupname="your resource group name"
$b2cName="your b2c tenant name"
### login to azure
Connect-AzAccount -Tenant $tenantid -SubscriptionId $subscriptionid
### create resource group
New-AzResourceGroup -Name $resourcegroupname -Location $region
### deploy the resource
New-AzResourceGroupDeployment -ResourceGroupName $resourcegroupname -TemplateUri https://raw.githubusercontent.com/Azure-Samples/azure-health-data-and-ai-samples/main/samples/fhir-aad-b2c/b2c-arm-template.json -b2cName $b2cNa
Dodaj testowego użytkownika B2C do dzierżawy usługi Azure AD B2C
Potrzebujesz testowego użytkownika B2C do powiązania z zasobem konkretnego pacjenta w usłudze FHIR, a także do sprawdzenia, czy przepływ uwierzytelniania działa zgodnie z oczekiwaniami.
W witrynie Azure Portal przejdź do zasobu B2C. Wybierz Otwórz dzierżawę B2C.
W okienku po lewej stronie wybierz pozycję Użytkownicy.
Wybierz pozycję + Nowy użytkownik.
Połącz użytkownika B2C z atrybutem użytkownika niestandardowego fhirUser
Niestandardowy fhirUser atrybut użytkownika służy do łączenia użytkownika B2C z zasobem użytkownika w usłudze FHIR. W tym przykładzie w dzierżawie B2C jest tworzony użytkownik o nazwie Test Patient1 . W późniejszym kroku zasób pacjenta jest tworzony w usłudze FHIR.
Użytkownik Test Patient1 jest połączony z zasobem pacjenta, ustawiając wartość atrybutu fhirUser na identyfikator zasobu pacjenta. Aby uzyskać więcej informacji na temat niestandardowych atrybutów użytkownika, zobacz Atrybuty niestandardowe przepływu użytkownika w usłudze Azure Active Directory B2C.
Na stronie Azure AD B2C w okienku po lewej stronie wybierz pozycję Atrybuty użytkownika.
Wybierz pozycję + Dodaj.
W polu Nazwa wprowadź fhirUser (wrażliwe na wielkość liter).
Z listy rozwijanej Typ danych wybierz pozycję Ciąg.
Wybierz pozycję Utwórz.
Tworzenie nowego przepływu użytkownika B2C
Przepływy użytkowników definiują sekwencję kroków, które użytkownicy muszą wykonać, aby się zalogować. W tym przykładzie przepływ użytkownika jest zdefiniowany w taki sposób, że po zalogowaniu się użytkownika podany token dostępu zawiera klauzulę fhirUser. Aby uzyskać więcej informacji, zobacz Tworzenie przepływów użytkownika i zasad niestandardowych w usłudze Azure Active Directory B2C.
Na stronie Azure AD B2C w okienku po lewej stronie wybierz pozycję Przepływy użytkownika.
Wybierz opcję + Nowy przepływ użytkownika.
Nadaj przepływowi użytkownika nazwę unikatową dla dzierżawy B2C. Nazwa nie musi być globalnie unikatowa. W tym przykładzie nazwa przepływu użytkownika jest USER_FLOW_1. Zanotuj nazwę.
Upewnij się, że logowanie e-mail jest włączone dla kont lokalnych, aby użytkownik testowy mógł się zalogować i uzyskać token dostępu dla usługi FHIR.
Na stronie Tworzenie przepływu użytkownika przewiń do sekcji 5. Roszczenia aplikacji, a następnie wybierz pozycję Pokaż więcej..., aby zobaczyć listę wszystkich dostępnych roszczeń.
Wybierz oświadczenie fhirUser.
Wybierz pozycję OK.
Wybierz pozycję Utwórz.
Tworzenie nowej aplikacji zasobów B2C
Aplikacja zasobów B2C obsługuje żądania uwierzytelniania z aplikacji opieki zdrowotnej do usługi Azure Active Directory B2C.
Na stronie Azure AD B2C w okienku po lewej stronie wybierz pozycję Rejestracje aplikacji.
Wybierz pozycję + Nowa rejestracja.
Wprowadź nazwę wyświetlaną. W tym przykładzie użyto usługi FHIR.
Na liście Obsługiwane typy kont wybierz pozycję Konta w dowolnym dostawcy tożsamości lub katalogu organizacyjnym (na potrzeby uwierzytelniania użytkowników za pomocą przepływów użytkownika).
Z listy rozwijanej Identyfikator URI przekierowania (zalecane) wybierz pozycję *Klient publiczny/natywny (mobilny i na komputery stacjonarne). Wypełnij wartość identyfikatorem URI wywołania zwrotnego. Ten adres URI wywołania zwrotnego służy do celów testowych.
W sekcji Uprawnienia wybierz pozycję Udziel zgody administratora na uprawnienia openid i offline_access.
Wybierz pozycję Zarejestruj. Poczekaj na ukończenie rejestracji aplikacji. Przeglądarka automatycznie przechodzi do strony Przegląd aplikacji.
Konfigurowanie uprawnień interfejsu API dla aplikacji
Na stronie Rejestracji aplikacji w okienku po lewej stronie wybierz pozycję Manifest.
Przewiń do momentu znalezienia
oauth2PermissionScopestablicy naMicrosoft Graph App Manifest (New)karcie. Zastąp tablicę jedną lub kilkoma wartościami w pliku oauth2Permissions.json. Skopiuj całą tablicę lub poszczególne uprawnienia.Jeśli dodasz uprawnienie do listy, każdy użytkownik w tenancie B2C będzie mógł uzyskać token dostępu z uprawnieniem API. Jeśli poziom dostępu nie jest odpowiedni dla użytkownika w dzierżawie B2C, nie dodawaj go do tablicy, ponieważ nie ma możliwości ograniczenia uprawnień tylko do części użytkowników.
Po wypełnieniu tablicy oauth2PermissionScopes wybierz pozycję Zapisz.
Udostępnij web API i przypisz URI identyfikatora aplikacji
Na stronie Rejestracje aplikacji w okienku po lewej stronie wybierz pozycję Udostępnij interfejs API.
Wybierz opcję Dodaj.
Domyślnie pole Identyfikator URI identyfikatora aplikacji jest wypełniane identyfikatorem aplikacji (klienta). W razie potrzeby zmień wartość. W tym przykładzie wartość jest fhir.
Wybierz pozycję Zapisz.
Na stronie Rejestracje aplikacji w okienku po lewej stronie wybierz Uprawnienia API.
Wybierz pozycję + Dodaj uprawnienie.
W okienku Żądanie uprawnień API wybierz pozycję API używane przez moją organizację.
Wybierz aplikację zasobów z listy.
W okienku Żądania uprawnień API w sekcji Pacjent wybierz co najmniej jedno uprawnienie. W tym przykładzie wybrano uprawnienie
patient.all.read, co oznacza, że użytkownik, który żąda tokenu dostępu z zakresempatient.all.read, ma uprawnienia do odczytu (patient.all.read) dla wszystkich zasobów FHIR (pacjent.all.odczyt) w przedziale Pacjenta (patient.all.odczyt). Aby uzyskać więcej informacji, zobacz Przedział Pacjenta.Wybierz pozycję Dodaj uprawnienia.
Na stronie Uprawnienia interfejsu API w sekcji Skonfigurowane uprawnienia wybierz pozycję Udziel zgody administratora.
Wdrażanie usługi FHIR przy użyciu usługi Azure Active Directory B2C jako dostawcy tożsamości
Wdrażanie usługi FHIR przy użyciu usługi Azure Active Directory B2C jako dostawcy tożsamości umożliwia usłudze FHIR uwierzytelnianie użytkowników na podstawie poświadczeń usługi Azure AD B2C, zapewniając, że tylko autoryzowani użytkownicy mogą uzyskiwać dostęp do poufnych informacji o pacjentach
Uzyskaj uprawnienia B2C i ID klienta
Użyj parametrów authority i identyfikatora klienta (lub identyfikatora aplikacji), aby skonfigurować usługę FHIR do używania dzierżawcy Azure AD B2C jako dostawcy tożsamości.
Utwórz ciąg autoryzacji przy użyciu nazwy dzierżawy B2C i nazwy przepływu użytkownika.
https://<YOUR_B2C_TENANT_NAME>.b2clogin.com/<YOUR_B2C_TENANT_NAME>.onmicrosoft.com/<YOUR_USER_FLOW_NAME>/v2.0Przetestuj ciąg autoryzacyjny, wysyłając żądanie do punktu końcowego
.well-known/openid-configuration. Wprowadź ciąg w przeglądarce, aby potwierdzić przejście do pliku JSON konfiguracji OpenId. Jeśli nie uda się załadować pliku JSON konfiguracji OpenId, upewnij się, że nazwa dzierżawy B2C i nazwa przepływu użytkownika są poprawne.https://<YOUR_B2C_TENANT_NAME>.b2clogin.com/<YOUR_B2C_TENANT_NAME>.onmicrosoft.com/<YOUR_USER_FLOW_NAME>/v2.0/.well-known/openid-configurationPobierz identyfikator klienta ze strony przeglądowej aplikacji zasobów.
Wdrażanie usługi FHIR przy użyciu szablonu usługi ARM
Użyj szablonu usługi ARM, aby uprościć wdrażanie usługi FHIR. Użyj programu PowerShell lub interfejsu wiersza polecenia platformy Azure, aby wdrożyć szablon usługi ARM w subskrypcji platformy Azure.
Uruchom kod w usłudze Azure Cloud Shell lub lokalnie w PowerShell w Visual Studio Code, aby wdrożyć usługę FHIR w dzierżawie Azure AD B2C.
Użyj polecenia
Connect-AzAccount, aby zalogować się na platformie Azure. Użyj poleceniaGet-AzContext, aby zweryfikować subskrypcję i tenant, którego chcesz użyć. W razie potrzeby zmień subskrypcję i dzierżawę.Utwórz nową grupę zasobów (lub użyj istniejącej), pomijając krok "utwórz grupę zasobów" lub komentując wiersz rozpoczynający się od
New-AzResourceGroup.
### variables
$tenantid="your tenant id"
$subscriptionid="your subscription id"
$resourcegroupname="your resource group name"
$region="your desired region"
$workspacename="your workspace name"
$fhirServiceName="your fhir service name"
$smartAuthorityUrl="your authority (from previous step)"
$smartClientId="your client id (from previous step)"
### login to azure
Connect-AzAccount
#Connect-AzAccount SubscriptionId $subscriptionid
Set-AzContext -Subscription $subscriptionid
Connect-AzAccount -Tenant $tenantid -SubscriptionId $subscriptionid
#Get-AzContext
### create resource group
New-AzResourceGroup -Name $resourcegroupname -Location $region
### deploy the resource
New-AzResourceGroupDeployment -ResourceGroupName $resourcegroupname -TemplateUri https://raw.githubusercontent.com/Azure-Samples/azure-health-data-and-ai-samples/main/samples/fhir-aad-b2c/fhir-service-arm-template.json -tenantid $tenantid -region $region -workspaceName $workspacename -fhirServiceName $fhirservicename -smartAuthorityUrl $smartAuthorityUrl -smartClientId $smartClientId
Sprawdzanie, czy użytkownicy usługi Azure AD B2C mogą uzyskiwać dostęp do zasobów FHIR
Proces weryfikacji obejmuje utworzenie zasobu pacjenta w usłudze FHIR, połączenie zasobu pacjenta z użytkownikiem usługi Azure AD B2C i skonfigurowanie klienta REST w celu uzyskania tokenu dostępu dla użytkowników B2C. Po zakończeniu procesu weryfikacji można pobrać dane pacjenta, korzystając z konta testowego B2C.
Uzyskiwanie tokenu dostępu przy użyciu klienta REST
Aby uzyskać odpowiedni dostęp do usługi FHIR, zobacz Access the FHIR service using REST Client (Uzyskiwanie dostępu do usługi FHIR przy użyciu klienta REST).
Gdy wykonasz kroki opisane w sekcji Pobieranie danych pacjenta FHIR, żądanie zwraca pustą odpowiedź, ponieważ usługa FHIR jest nowa i nie ma żadnych zasobów pacjentów.
Tworzenie zasobu pacjenta w usłudze FHIR
Należy pamiętać, że użytkownicy w tenancie B2C nie mogą odczytać żadnych zasobów, dopóki użytkownik (taki jak pacjent lub lekarz) nie będzie połączony z zasobem FHIR. Użytkownik posiadający rolę FhirDataWriter lub FhirDataContributor w usłudze Microsoft Entra ID, gdzie jest hostowana usługa FHIR, musi wykonać ten krok.
- Utwórz pacjenta z określonym identyfikatorem, zmieniając metodę na
PUTi wykonując żądanie na{{fhirurl}}/Patient/1przy użyciu tej treści:
{
"resourceType": "Patient",
"id": "1",
"name": [
{
"family": "Patient1",
"given": [
"Test"
]
}
]
}
- Sprawdź, czy pacjent jest tworzony, zmieniając metodę z powrotem na
GETi sprawdzając, czy żądanie{{fhirurl}}/Patientzwraca nowo utworzonego pacjenta.
Łączenie zasobu pacjenta z użytkownikiem usługi Azure AD B2C
Utwórz jawne łącze między użytkownikiem testowym w dzierżawie B2C a zasobem w usłudze FHIR. Utwórz link przy użyciu atrybutów rozszerzenia w programie Microsoft Graph. Aby uzyskać więcej informacji, zobacz Definiowanie atrybutów niestandardowych w usłudze Azure Active Directory B2C.
Przejdź do tenant B2C. W okienku po lewej stronie wybierz pozycję Rejestracje aplikacji.
Wybierz pozycję Wszystkie aplikacje.
Wybierz aplikację z prefiksem b2c-extensions-app.
Zanotuj wartość identyfikatora aplikacji (klienta).
Przejdź z powrotem do strony głównej dzierżawy B2C, w okienku po lewej stronie wybierz pozycję Użytkownicy.
Wybierz Test Patient1.
Zanotuj wartość Identyfikatora obiektu.
Otwórz Eksploratora programu Microsoft Graph. Zaloguj się przy użyciu użytkownika przypisanego do roli administratora globalnego dla dzierżawy B2C. (Dobrym pomysłem jest utworzenie nowego użytkownika administratora w dzierżawie B2C w celu zarządzania użytkownikami w dzierżawie).
Wybierz awatar użytkownika, a następnie wybierz pozycję Zgoda na uprawnienia.
Przewiń do pozycji Użytkownik. Zgoda na User.ReadWrite.All. To uprawnienie umożliwia zaktualizowanie użytkownika Test Patient1 przy użyciu wartości
fhirUserwartości roszczenia.Po zakończeniu procesu wyrażania zgody zaktualizuj użytkownika. Potrzebujesz identyfikatora aplikacji b2c-extensions-app (klienta) oraz identyfikatora obiektu użytkownika.
Zmień metodę na
PATCH.Zmień adres URL na https://graph.microsoft.com/v1.0/users/{USER_OBJECT_ID}.
PATCHUtwórz treść.PATCHTreść składa się z jednej pary klucz-wartość, gdzie format klucza toextension_{B2C_EXTENSION_APP_ID_NO_HYPHENS}_fhirUser, a wartość to w pełni kwalifikowany identyfikator zasobu FHIR dla pacjentahttps://{YOUR_FHIR_SERVICE}.azurehealthcareapis.com/Patient/1".
Aby uzyskać więcej informacji, zobacz Zarządzanie atrybutami rozszerzenia za pomocą programu Microsoft Graph.
Po sformatowaniu żądania wybierz pozycję Uruchom zapytanie. Poczekaj na pomyślną odpowiedź, która potwierdza, że użytkownik w dzierżawcy B2C jest połączony z zasobem pacjenta w usłudze FHIR.
Konfiguracja uzyskiwania tokenu dostępu dla użytkowników B2C
Uzyskaj token dostępu w celu przetestowania przepływu uwierzytelniania.
Uwaga
Element grant_type z authorization_code służy do uzyskiwania tokenu dostępu.
Dostępne są narzędzia online oferujące intuicyjne interfejsy do testowania i programowania interfejsów API.
Uruchom aplikację do testowania interfejsu API.
Wybierz kartę Autoryzacja w narzędziu.
Z listy rozwijanej Typ wybierz pozycję OAuth 2.0.
Wprowadź następujące wartości.
Adres URL wywołania zwrotnego. Ta wartość jest konfigurowana podczas tworzenia aplikacji zasobów B2C.
Adres URL uwierzytelniania. Tę wartość można utworzyć przy użyciu nazwy dzierżawy B2C i nazwy przepływu użytkownika.
https://{YOUR_B2C_TENANT_NAME}.b2clogin.com/{YOUR_B2C_TENANT_NAME}.onmicrosoft.com/{YOUR_USER_FLOW_NAME}/oauth2/v2.0/authorizeAdres URL tokenu dostępu. Tę wartość można utworzyć przy użyciu nazwy dzierżawy B2C i nazwy przepływu użytkownika.
https://{YOUR_B2C_TENANT_NAME}.b2clogin.com/{YOUR_B2C_TENANT_NAME}.onmicrosoft.com/{YOUR_USER_FLOW_NAME}/oauth2/v2.0/tokenIdentyfikator klienta. Ta wartość to identyfikator aplikacji (klienta) aplikacji zasobów B2C.
{YOUR_APPLICATION_ID}Zakres. Ta wartość jest definiowana w aplikacji zasobów B2C w sekcji Uwidacznianie interfejsu API . Zakres udzielonego pozwolenia to
patient.all.read. Żądanie zakresu musi być w pełni kwalifikowanym adresem URL, na przykładhttps://testb2c.onmicrosoft.com/fhir/patient.all.read.
Skopiuj w pełni kwalifikowany zakres z sekcji Uwidaczniaj interfejs API aplikacji zasobów B2C.
{YOUR_APPLICATION_ID_URI}/patient.all.read
Pobierz zasób pacjenta za pomocą użytkownika B2C
Sprawdź, czy użytkownicy usługi Azure AD B2C mogą uzyskiwać dostęp do zasobów FHIR.
Po skonfigurowaniu autoryzacji do uruchomienia przepływu użytkownika B2C wybierz Pobierz nowy token dostępu, aby uzyskać token dostępu.
Zaloguj się przy użyciu danych logowania Testowego Pacjenta.
Skopiuj token dostępu i użyj go podczas pobierania danych pacjenta
Wykonaj kroki opisane w sekcji Pobieranie danych pacjenta FHIR, aby pobrać zasób pacjenta.
Ustaw metodę na
GET, wprowadź w pełni kwalifikowany adres URL usługi FHIR, a następnie dodaj ścieżkę/Patient.Użyj pobranego tokenu w parametrze autoryzacji.
Wybierz pozycję Wyślij żądanie.
Sprawdź, czy odpowiedź zawiera zasób dotyczący jednego pacjenta.
Następne kroki
Konfigurowanie wielu dostawców tożsamości
Rozwiązywanie problemów z konfiguracją dostawcy tożsamości
Uwaga
FHIR® jest zastrzeżonym znakiem towarowym HL7 i jest używany z uprawnieniem HL7.