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:
Melden Sie sich beim Azure-Portal an.
Navigieren Sie zum Menü des Azure-Portals. Wählen Sie Alle Ressourcen und dann Ihr Azure Maps-Konto aus.
Wählen Sie im linken Bereich unter Einstellungen die Option Authentifizierung aus.
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 WertClient 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
- Erforderliche Lektüre:Szenario: Desktop-App, die Web-APIs aufruft
- Im folgenden Szenario wird der Gerätecodefluss verwendet, der keinen Webbrowser zum Abrufen eines Tokens umfasst.
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.
Wählen Sie im Azure-Portal in der Liste der Azure-Dienste die Optionen Microsoft Entra ID>App-Registrierungen>Neue Registrierung aus.
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.Navigieren Sie zu Authentifizierung, und aktivieren Sie Anwendung als öffentlichen Client behandeln, um die Gerätecodeauthentifizierung mit Microsoft Entra ID zu aktivieren.
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.
Aktivieren Sie das Kontrollkästchen neben Auf Azure Maps zugreifen, und wählen Sie dann Berechtigungen hinzufügen aus.
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.
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.
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: