Udostępnij za pośrednictwem


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:

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do menu witryny Azure Portal. Wybierz pozycję Wszystkie zasoby, a następnie wybierz konto usługi Azure Maps.

  3. W obszarze Ustawienia w okienku po lewej stronie wybierz pozycję Uwierzytelnianie.

    Zrzut ekranu przedstawiający opcje uwierzytelniania usługi Azure Maps w witrynie Azure Portal.

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 i Secondary 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

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.

  1. W witrynie Azure Portal na liście usług platformy Azure wybierz pozycję Microsoft Entra ID> Rejestracje aplikacji> Nowa rejestracja.

    Zrzut ekranu przedstawiający rejestrację aplikacji w identyfikatorze Entra firmy Microsoft.

  2. 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ę.

    Zrzut ekranu przedstawiający ustawienia używane do rejestrowania aplikacji.

  3. 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.

    Zrzut ekranu przedstawiający ustawienia zaawansowane używane do określania traktowania aplikacji jako klienta publicznego.

  4. 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.

    Zrzut ekranu przedstawiający miejsce żądania uprawnień interfejsu API.

  5. Zaznacz pole wyboru obok pozycji Dostęp do usługi Azure Maps, a następnie wybierz pozycję Dodaj uprawnienia.

    Zrzut ekranu przedstawiający miejsce określania wymaganych uprawnień aplikacji.

  6. 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.

  7. 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.

  8. 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: