Schützen eines eingabebeschränkten Geräts mithilfe von Microsoft Entra ID und Azure Maps REST-APIs

In dieser Anleitung wird erläutert, wie Sie öffentliche Anwendungen oder Geräte sichern, die geheime Schlüssel nicht sicher speichern oder Browsereingaben nicht auf sichere Weise akzeptieren können. Diese Typen von Anwendungen fallen in die Kategorie „Internet der Dinge“ (Internet of Things, IoT). Beispiele hierfür sind Smart-TVs und Anwendungen, die Sensordaten ausgeben.

So zeigen Sie Ihre Azure Maps-Kontoauthentifizierungsdetails im Azure-Portal an:

  1. Melden Sie sich beim Azure-Portal an.

  2. Navigieren Sie zum Menü des Azure-Portals. Wählen Sie Alle Ressourcen und dann Ihr Azure Maps-Konto aus.

  3. Wählen Sie im linken Bereich unter Einstellungen die Option Authentifizierung aus.

    Screenshot showing your Azure Maps authentication options in the Azure portal.

Bei der Erstellung des Azure Maps-Kontos werden drei Werte erstellt. Sie werden verwendet, um zwei Authentifizierungsarten in Azure Maps zu unterstützen:

  • Microsoft Entra-Authentifizierung: Die Client ID stellt das Konto dar, das für REST-API-Anforderungen verwendet werden soll. Der Wert Client ID sollte in der Anwendungskonfiguration gespeichert und später abgerufen werden, bevor Azure Maps-HTTP-Anforderungen mit Microsoft Entra-Authentifizierung übermittelt werden.
  • Authentifizierung über gemeinsam verwendete Schlüssel: Der Primärschlüssel (Primary Key) und der Sekundärschlüssel (Secondary Key) werden als Abonnementschlüssel für die Authentifizierung über gemeinsam verwendete Schlüssel verwendet. Bei der Authentifizierung über gemeinsam verwendete Schlüssel wird der durch das Azure Maps-Konto generierte Schlüssel bei jeder Anforderung an Azure Maps übergeben. Es wird empfohlen, die Schlüssel regelmäßig neu zu generieren. Um aktuelle Verbindungen während der Neugenerierung aufrechtzuerhalten, werden zwei Schlüssel bereitgestellt. Ein Schlüssel kann verwendet werden, während der andere neu generiert wird. Bei der Neugenerierung Ihrer Schlüssel müssen Sie alle Anwendungen, die auf dieses Konto zugreifen, so aktualisieren, dass die neuen Schlüssel verwendet werden. Weitere Informationen finden Sie unter Authentifizierung mit Azure Maps.

Erstellen einer Anwendungsregistrierung in Microsoft Entra ID

Hinweis

Erstellen Sie die gerätebasierte Anwendung in Microsoft Entra ID, um die Microsoft Entra-Anmeldung zu aktivieren, der Zugriff auf Azure Maps REST-APIs gewährt wird.

  1. Wählen Sie im Azure-Portal in der Liste der Azure-Dienste die Optionen Microsoft Entra ID>App-Registrierungen>Neue Registrierung aus.

    A screenshot showing application registration in Microsoft Entra ID.

  2. Geben Sie einen Namen eine, wählen Sie Nur Konten in diesem Organisationsverzeichnis als Unterstützter Kontotyp aus. Geben Sie in Umleitungs-URI den Wert Öffentlicher Client/nativ (mobil und Desktop) an, und fügen Sie dann dem Wert https://login.microsoftonline.com/common/oauth2/nativeclient hinzu. Weitere Informationen finden Sie unter „Microsoft Entra ID Desktop-App, die Web-APIs aufruft: App-Registrierung“. Registrieren Sie dann die Anwendung.

    A screenshot showing the settings used to register an application.

  3. Navigieren Sie zu Authentifizierung, und aktivieren Sie Anwendung als öffentlichen Client behandeln, um die Gerätecodeauthentifizierung mit Microsoft Entra ID zu aktivieren.

    A screenshot showing the advanced settings used to specify treating the application as a public client.

  4. Navigieren Sie zu der Anwendung, um Azure Maps die delegierten API-Berechtigungen zuzuweisen. Wählen Sie dann API-Berechtigungen>Berechtigung hinzufügen aus. Suchen Sie unter Von meiner Organisation verwendete APIs die Option Azure Maps, und wählen Sie sie aus.

    A screenshot showing where you request API permissions.

  5. Aktivieren Sie das Kontrollkästchen neben Auf Azure Maps zugreifen, und wählen Sie dann Berechtigungen hinzufügen aus.

    A screenshot showing where you specify the app permissions you require.

  6. Konfigurieren Sie die rollenbasierte Azure-Zugriffssteuerung (Azure RBAC) für Benutzer oder Gruppen. Weitere Informationen finden Sie unter Gewähren des rollenbasierten Zugriffs für Benutzer in Azure Maps.

  7. Fügen Sie Code zum Abrufen des Tokenflows in die Anwendung hinzu. Informationen zur Implementierung finden Sie unter Gerätecodeflow. Verweisen Sie beim Abrufen von Token auf den Bereich user_impersonation, der in vorherigen Schritten ausgewählt wurde.

    Tipp

    Verwenden Sie den MSAL (Microsoft Authentication Library) für das Abrufen von Zugriffstoken. Weitere Informationen finden Sie unter Desktop-App, die Web-APIs aufruft: Codekonfiguration in der Active Directory-Dokumentation.

  8. Verfassen Sie die HTTP-Anforderung mit dem abgerufenen Token aus Microsoft Entra ID, und senden Sie die Anforderung mit einem gültigen HTTP-Client.

Beispiel für eine Anforderung

Im Folgenden finden Sie einen Beispielanforderungstext zum Hochladen eines einfachen Geofence, der als Kreisgeometrie mit einem Mittelpunkt und einem Radius dargestellt wird.

POST /mapData?api-version=2.0&dataFormat=geojson
Host: us.atlas.microsoft.com
x-ms-client-id: 30d7cc….9f55
Authorization: Bearer eyJ0e….HNIVN

Der folgende Beispielanforderungstext hat das GeoJSON-Format:

{
    "type": "FeatureCollection",
    "features": [{
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [-122.126986, 47.639754]
        },
        "properties": {
            "geometryId": "001",
            "radius": 500
        }
    }]
}

Beispielantwortheader

Operation-Location: https://us.atlas.microsoft.com/mapData/operations/{udid}?api-version=2.0
Access-Control-Expose-Headers: Operation-Location

Gewähren von rollenbasierter Zugriffssteuerung für Benutzer in Azure Maps

Sie können die rollenbasierte Zugriffssteuerung in Azure (Azure RBAC) verwenden, indem Sie mindestens einer Azure Maps-Rollendefinition eine Microsoft Entra-Gruppe oder einen Sicherheitsprinzipal zuweisen.

Die verfügbaren Azure-Rollendefinitionen für Azure Maps finden Sie unter Anzeigen der integrierten Azure Maps-Rollendefinitionen.

Ausführliche Schritte zum Zuweisen einer verfügbaren Azure Maps-Rolle zur erstellten verwalteten Identität oder zum Dienstprinzipal finden Sie unter Zuweisen von Azure-Rollen über das Azure-Portal.

Informationen zum effizienten Verwalten des Zugriffs auf Azure Maps-Apps und -Ressourcen für eine Vielzahl von Benutzer*innen finden Sie unter Verwalten des Zugriffs auf Apps und Ressourcen mithilfe von Microsoft Entra-Gruppen.

Wichtig

Damit Benutzer*innen sich bei einer Anwendung authentifizieren können, müssen sie zuerst in Microsoft Entra ID erstellt werden. Weitere Informationen finden Sie unter Hinzufügen oder Löschen von Benutzer*innen mithilfe von Microsoft Entra.

Informationen zur effektiven Verwaltung eines großen Verzeichnisses für Benutzer*innen finden Sie in der Dokumentation mit grundlegenden Informationen zu Microsoft Entra ID.

Warnung

Integrierte Azure Maps-Rollendefinitionen bieten einen sehr umfangreichen Autorisierungszugriff auf viele Azure Maps-REST-APIs. Informationen, wie Sie den Zugriff auf APIs auf ein Mindestmaß beschränken, finden Sie unter Erstellen einer benutzerdefinierten Rollendefinition und Zuweisen der systemseitig zugewiesenen Identität zur benutzerdefinierten Rollendefinition. Dadurch wird die geringste Berechtigung aktiviert, die für den Zugriff der Anwendung auf Azure Maps erforderlich ist.

Nächste Schritte

Suchen der API-Nutzungsmetriken für Ihr Azure Maps-Konto: