Zabezpieczanie ograniczonego urządzenia wejściowego przy użyciu identyfikatora Entra firmy Microsoft i interfejsów API REST usługi Azure Maps
W tym przewodniku omówiono sposób zabezpieczania publicznych aplikacji lub urządzeń, które nie mogą bezpiecznie przechowywać wpisów tajnych ani akceptować danych wejściowych przeglądarki. Tego typu aplikacje należą do kategorii Internetu rzeczy (IoT). Przykłady obejmują inteligentne telewizory i dane czujników emitujące aplikacje.
Aby wyświetlić szczegóły uwierzytelniania konta usługi Azure Maps w witrynie Azure Portal:
Zaloguj się w witrynie Azure Portal.
Przejdź do menu witryny Azure Portal. Wybierz pozycję Wszystkie zasoby, a następnie wybierz konto usługi Azure Maps.
W obszarze Ustawienia w okienku po lewej stronie wybierz pozycję Uwierzytelnianie.
Podczas tworzenia konta usługi Azure Maps są tworzone trzy wartości. Są one używane do obsługi dwóch typów uwierzytelniania w usłudze Azure Maps:
- Uwierzytelnianie Firmy Microsoft Entra:
Client ID
reprezentuje konto, które ma być używane na potrzeby żądań interfejsu API REST. WartośćClient ID
powinna być przechowywana w konfiguracji aplikacji, a następnie należy ją pobrać przed wykonaniem żądań HTTP usługi Azure Maps korzystających z uwierzytelniania Microsoft Entra. - Uwierzytelnianie za pomocą klucza współdzielonego:
Primary Key
element iSecondary Key
jest używany jako klucz subskrypcji do uwierzytelniania klucza współdzielonego. Uwierzytelnianie klucza współużytkowanego polega na przekazaniu klucza wygenerowanego przez konto usługi Azure Maps z każdym żądaniem do usługi Azure Maps. Zalecamy regularne ponowne generowanie kluczy. Aby zachować bieżące połączenia podczas rewitalizacji, dostępne są dwa klucze. Jeden klucz może być używany, a drugi jest ponownie wygenerowany. Po ponownym wygenerowaniu kluczy należy zaktualizować wszystkie aplikacje uzyskujące dostęp do tego konta pod kątem używania nowych kluczy. Aby uzyskać więcej informacji, zobacz Authentication with Azure Maps (Uwierzytelnianie za pomocą usługi Azure Maps)
Tworzenie rejestracji aplikacji w usłudze Microsoft Entra ID
Uwaga
- Odczyt wymagań wstępnych: Scenariusz: aplikacja klasyczna, która wywołuje internetowe interfejsy API
- W poniższym scenariuszu jest używany przepływ kodu urządzenia, który nie obejmuje przeglądarki internetowej w celu uzyskania tokenu.
Utwórz aplikację opartą na urządzeniu w usłudze Microsoft Entra ID, aby włączyć logowanie firmy Microsoft Entra, która ma udzielony dostęp do interfejsów API REST usługi Azure Maps.
W witrynie Azure Portal na liście usług platformy Azure wybierz pozycję Microsoft Entra ID> Rejestracje aplikacji> Nowa rejestracja.
Wprowadź nazwę, wybierz pozycję Konta w tym katalogu organizacyjnym tylko jako typ obsługiwanego konta. W obszarze Identyfikatory URI przekierowania określ publiczny klient/natywny (mobilny i klasyczny), a następnie dodaj
https://login.microsoftonline.com/common/oauth2/nativeclient
wartość do wartości. Aby uzyskać więcej informacji, zobacz Aplikacja klasyczna Microsoft Entra ID , która wywołuje internetowe interfejsy API: rejestracja aplikacji. Następnie zarejestruj aplikację.Przejdź do pozycji Uwierzytelnianie i włącz opcję Traktuj aplikację jako klienta publicznego, aby włączyć uwierzytelnianie kodu urządzenia za pomocą identyfikatora Entra firmy Microsoft.
Aby przypisać delegowane uprawnienia interfejsu API do usługi Azure Maps, przejdź do aplikacji. Następnie wybierz pozycję Uprawnienia>interfejsu API Dodaj uprawnienie. W obszarze Interfejsy API używane przez moją organizację wyszukaj i wybierz pozycję Azure Maps.
Zaznacz pole wyboru obok pozycji Dostęp do usługi Azure Maps, a następnie wybierz pozycję Dodaj uprawnienia.
Konfigurowanie kontroli dostępu opartej na rolach (RBAC) platformy Azure dla użytkowników lub grup. Aby uzyskać więcej informacji, zobacz Udzielanie dostępu opartego na rolach dla użytkowników w usłudze Azure Maps.
Dodaj kod do uzyskiwania przepływu tokenu w aplikacji, aby uzyskać szczegółowe informacje o implementacji, zobacz Przepływ kodu urządzenia. Podczas uzyskiwania tokenów należy odwołać się do zakresu:
user_impersonation
który został wybrany we wcześniejszych krokach.Napiwek
Użyj biblioteki Microsoft Authentication Library (MSAL), aby uzyskać tokeny dostępu. Aby uzyskać więcej informacji, zobacz Aplikacja klasyczna, która wywołuje internetowe interfejsy API: konfiguracja kodu w dokumentacji usługi Active Directory.
Utwórz żądanie HTTP przy użyciu uzyskanego tokenu z identyfikatora Entra firmy Microsoft i wyślij żądanie z prawidłowym klientem HTTP.
Przykładowe żądanie
Oto przykładowa treść żądania przekazywania prostej geofencencji reprezentowanej jako geometria okręgu przy użyciu punktu środkowego i promienia.
POST /mapData?api-version=2.0&dataFormat=geojson
Host: us.atlas.microsoft.com
x-ms-client-id: 30d7cc….9f55
Authorization: Bearer eyJ0e….HNIVN
Następująca przykładowa treść żądania znajduje się w formacie GeoJSON:
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.126986, 47.639754]
},
"properties": {
"geometryId": "001",
"radius": 500
}
}]
}
Przykładowy nagłówek odpowiedzi
Operation-Location: https://us.atlas.microsoft.com/mapData/operations/{udid}?api-version=2.0
Access-Control-Expose-Headers: Operation-Location
Udzielanie użytkownikom dostępu opartego na rolach do usługi Azure Maps
Kontrolę dostępu opartą na rolach (RBAC) platformy Azure można przyznać, przypisując grupę firmy Microsoft Entra lub podmiot zabezpieczeń do co najmniej jednej definicji roli usługi Azure Maps.
Aby wyświetlić dostępne definicje ról platformy Azure dla usługi Azure Maps, zobacz Wyświetlanie wbudowanych definicji ról usługi Azure Maps.
Aby uzyskać szczegółowe instrukcje dotyczące przypisywania dostępnej roli usługi Azure Maps do utworzonej tożsamości zarządzanej lub jednostki usługi, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal
Aby efektywnie zarządzać aplikacją usługi Azure Maps i dostępem do zasobów dużej liczby użytkowników, zobacz Grupy firmy Microsoft Entra.
Ważne
Aby użytkownicy mogli uwierzytelniać się w aplikacji, należy najpierw utworzyć użytkowników w identyfikatorze Entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz Dodawanie lub usuwanie użytkowników przy użyciu usługi Microsoft Entra ID.
Aby dowiedzieć się, jak skutecznie zarządzać dużym katalogiem dla użytkowników, zobacz Microsoft Entra ID.
Ostrzeżenie
Wbudowane definicje ról usługi Azure Maps zapewniają bardzo duży dostęp autoryzacji do wielu interfejsów API REST usługi Azure Maps. Aby ograniczyć dostęp interfejsów API do minimum, zobacz tworzenie niestandardowej definicji roli i przypisywanie tożsamości przypisanej przez system do niestandardowej definicji roli. Dzięki temu aplikacja może uzyskiwać dostęp do usługi Azure Maps z najniższymi uprawnieniami wymaganymi przez aplikację.
Następne kroki
Znajdź metryki użycia interfejsu API dla konta usługi Azure Maps: