Een beperkt apparaat beveiligen met behulp van Microsoft Entra ID en Azure Maps REST API's
In deze handleiding wordt beschreven hoe u openbare toepassingen of apparaten beveiligt die geen geheimen veilig kunnen opslaan of browserinvoer kunnen accepteren. Deze typen toepassingen vallen onder de ioT-categorie (Internet of Things). Voorbeelden hiervan zijn Smart TV's en sensorgegevens die toepassingen verzenden.
Ga als volgende te werk om de verificatiegegevens van uw Azure Maps-account weer te geven in Azure Portal:
Meld u aan bij het Azure-portaal.
Navigeer naar het menu van Azure Portal. Selecteer Alle resources en selecteer vervolgens uw Azure Maps-account.
Selecteer Verificatie onder Instellingen in het linkerdeelvenster.
Er worden drie waarden gemaakt wanneer het Azure Maps-account wordt gemaakt. Ze worden gebruikt ter ondersteuning van twee typen verificatie in Azure Maps:
- Microsoft Entra-verificatie: Het
Client ID
vertegenwoordigt het account dat moet worden gebruikt voor REST API-aanvragen. DeClient ID
waarde moet worden opgeslagen in de toepassingsconfiguratie en vervolgens moet deze worden opgehaald voordat u HTTP-aanvragen voor Azure Maps maakt die gebruikmaken van Microsoft Entra-verificatie. - Gedeelde sleutelverificatie: de
Primary Key
enSecondary Key
worden gebruikt als de abonnementssleutel voor verificatie met gedeelde sleutels. Verificatie met gedeelde sleutels is afhankelijk van het doorgeven van de sleutel die door het Azure Maps-account wordt gegenereerd met elke aanvraag naar Azure Maps. U wordt aangeraden uw sleutels regelmatig opnieuw te genereren. Om de huidige verbindingen tijdens de regeneratie te behouden, worden er twee sleutels opgegeven. De ene sleutel kan in gebruik zijn en de andere sleutel opnieuw genereren. Als u de sleutels opnieuw genereert, dient u elke toepassing bij te werken die toegang heeft tot dit account om de nieuwe sleutels te kunnen gebruiken. Zie Verificatie met Azure Maps voor meer informatie
Een toepassingsregistratie maken in Microsoft Entra-id
Notitie
- Leesvereisten: Scenario: Desktop-app die web-API's aanroept
- In het volgende scenario wordt de apparaatcodestroom gebruikt, waarbij geen webbrowser nodig is om een token te verkrijgen.
Maak de toepassing op basis van het apparaat in Microsoft Entra-id om microsoft Entra-aanmelding in te schakelen, die toegang krijgt tot Azure Maps REST API's.
Selecteer in Azure Portal, in de lijst met Azure-services, Microsoft Entra-id> App-registraties> Nieuwe registratie.
Voer een naam in, kies alleen Accounts in deze organisatiemap als het type Ondersteund account. Geef in omleidings-URI's openbare client/systeemeigen (mobiel en desktop) op en voeg deze vervolgens toe
https://login.microsoftonline.com/common/oauth2/nativeclient
aan de waarde. Zie de Microsoft Entra ID Desktop-app die web-API's aanroept: App-registratie voor meer informatie. Registreer vervolgens de toepassing.Navigeer naar Verificatie en schakel De toepassing Behandelen in als een openbare client om verificatie van apparaatcode in te schakelen met Microsoft Entra-id.
Als u gedelegeerde API-machtigingen wilt toewijzen aan Azure Maps, gaat u naar de toepassing. Selecteer vervolgens API-machtigingen>Een machtiging toevoegen. Zoek en selecteer Azure Maps onder API's die mijn organisatie gebruikt.
Schakel het selectievakje naast Access Azure Maps in en selecteer vervolgens Machtigingen toevoegen.
Configureer op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) voor gebruikers of groepen. Zie Op rollen gebaseerde toegang verlenen aan gebruikers tot Azure Maps voor meer informatie.
Voeg code toe voor het verkrijgen van een tokenstroom in de toepassing. Zie de apparaatcodestroom voor meer informatie over de implementatie. Bij het verkrijgen van tokens verwijst u naar het bereik:
user_impersonation
dat is geselecteerd in eerdere stappen.Tip
Gebruik Microsoft Authentication Library (MSAL) om toegangstokens te verkrijgen. Zie de desktop-app die web-API's aanroept: codeconfiguratie in de Active Directory-documentatie voor meer informatie.
Stel de HTTP-aanvraag samen met het verkregen token van Microsoft Entra ID en verzonden aanvraag met een geldige HTTP-client.
Voorbeeldaanvraag
Hier volgt een voorbeeld van een aanvraagtekst voor het uploaden van een eenvoudige Geofence die wordt weergegeven als een cirkelgeometrie met behulp van een middelpunt en een straal.
POST /mapData?api-version=2.0&dataFormat=geojson
Host: us.atlas.microsoft.com
x-ms-client-id: 30d7cc….9f55
Authorization: Bearer eyJ0e….HNIVN
De volgende voorbeeldtekst van de aanvraag bevindt zich in GeoJSON:
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.126986, 47.639754]
},
"properties": {
"geometryId": "001",
"radius": 500
}
}]
}
Voorbeeld van antwoordheader
Operation-Location: https://us.atlas.microsoft.com/mapData/operations/{udid}?api-version=2.0
Access-Control-Expose-Headers: Operation-Location
Op rollen gebaseerde toegang verlenen aan gebruikers aan Azure Maps
U kunt op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) verlenen door een Microsoft Entra-groep of beveiligingsprincipaal toe te wijzen aan een of meer Azure Maps-roldefinities.
Zie Ingebouwde Azure Maps-roldefinities weergeven om de beschikbare Azure-roldefinities voor Azure Maps weer te geven.
Zie Microsoft Entra-groepen om de Azure Maps-app en resourcetoegang van een grote hoeveelheid gebruikers efficiënt te beheren.
Belangrijk
Als gebruikers zich mogen verifiëren bij een toepassing, moeten de gebruikers eerst worden gemaakt in Microsoft Entra-id. Zie Gebruikers toevoegen of verwijderen met behulp van Microsoft Entra ID voor meer informatie.
Zie Microsoft Entra-id voor meer informatie over het effectief beheren van een grote map voor gebruikers.
Waarschuwing
Ingebouwde azure Maps-roldefinities bieden een zeer grote autorisatietoegang tot veel Azure Maps REST API's. Zie Een aangepaste roldefinitie maken en de door het systeem toegewezen identiteit toewijzen aan de aangepaste roldefinitie om de toegang tot API's tot een minimum te beperken. Hierdoor heeft de toepassing de minste bevoegdheid nodig om toegang te krijgen tot Azure Maps.
Volgende stappen
Zoek de metrische gegevens over API-gebruik voor uw Azure Maps-account: