Proteggere un dispositivo vincolato di input usando l'ID Microsoft Entra e le API REST di Mappe di Azure
Questa guida illustra come proteggere applicazioni o dispositivi pubblici che non possono archiviare in modo sicuro i segreti o accettare l'input del browser. Questi tipi di applicazioni rientrano nella categoria Internet delle cose (IoT). Ad esempio, i televisori intelligenti e i dati dei sensori che generano applicazioni.
Per visualizzare i dettagli di autenticazione dell'account di Mappe di Azure nel portale di Azure:
Accedere al portale di Azure.
Passare al menu del portale di Azure. Selezionare Tutte le risorse e quindi selezionare l'account Mappe di Azure.
In Impostazioni nel riquadro sinistro, selezionare Autenticazione.
Al momento della creazione dell'account Mappe di Azure vengono creati tre valori. Essi vengono usati per supportare due tipi di autenticazione in Mappe di Azure:
- Autenticazione Microsoft Entra:
Client ID
rappresenta l'account da usare per le richieste dell’API REST. Il valoreClient ID
deve essere archiviato nella configurazione dell'applicazione, perciò deve essere recuperato prima di effettuare richieste HTTP di Mappe di Azure che usano l'autenticazione Microsoft Entra. - Autenticazione con chiave condivisa:
Primary Key
eSecondary Key
vengono usati come chiave di sottoscrizione per l'autenticazione con chiave condivisa. L'autenticazione con chiave condivisa si basa sul passaggio della chiave generata dall'account di Mappe di Azure con ogni richiesta a Mappe di Azure. È consigliabile rigenerare regolarmente le chiavi. Per mantenere le connessioni correnti durante la rigenerazione, vengono fornite due chiavi. Una chiave può essere in uso durante la rigenerazione dell'altra. Quando si rigenerano le chiavi è necessario aggiornare tutte le applicazioni che accedono a questo account per usare le nuove chiavi. Per altre informazioni, vedere Autenticazione con Mappe di Azure
Creare una registrazione dell'applicazione in Microsoft Entra ID
Nota
- Lettura dei prerequisiti: Scenario: App desktop che chiama le API Web
- Lo scenario seguente usa il flusso di codice del dispositivo, che non implica un Web browser per acquisire un token.
Creare l'applicazione basata su dispositivo in Microsoft Entra ID per abilitare l'accesso a Microsoft Entra, a cui viene concesso l'accesso alle API REST Mappe di Azure.
Nell'elenco dei servizi di Azure nella portale di Azure selezionare Microsoft Entra ID> Registrazioni app> Nuova registrazione.
Immettere un nome, scegliere Account in questa directory organizzativa solo come tipo di account supportato. In URI di reindirizzamento specificare Client pubblico/nativo (mobile e desktop) e quindi aggiungere
https://login.microsoftonline.com/common/oauth2/nativeclient
al valore . Per altre informazioni, vedere App desktop Microsoft Entra ID che chiama le API Web: Registrazione app. Registrare quindi l'applicazione.Passare ad Autenticazione e abilitare Considera applicazione come client pubblico per abilitare l'autenticazione del codice del dispositivo con Microsoft Entra ID.
Per assegnare autorizzazioni API delegate a Mappe di Azure, passare all'applicazione. Selezionare quindi Autorizzazioni>API Aggiungi un'autorizzazione. In API usate dall'organizzazione cercare e selezionare Mappe di Azure.
Selezionare la casella di controllo accanto a Access Mappe di Azure e quindi selezionare Aggiungi autorizzazioni.
Configurare il controllo degli accessi in base al ruolo di Azure per utenti o gruppi. Per altre informazioni, vedere Concedere l'accesso in base al ruolo per gli utenti a Mappe di Azure.
Aggiungere codice per acquisire il flusso di token nell'applicazione. Per informazioni dettagliate sull'implementazione, vedere Flusso del codice del dispositivo. Quando si acquisiscono i token, fare riferimento all'ambito selezionato
user_impersonation
nei passaggi precedenti.Suggerimento
Usare Microsoft Authentication Library (MSAL) per acquisire i token di accesso. Per altre informazioni, vedere App desktop che chiama LE API Web: Configurazione del codice nella documentazione di Active Directory.
Comporre la richiesta HTTP con il token acquisito da Microsoft Entra ID e inviare una richiesta con un client HTTP valido.
Esempio di richiesta
Ecco un corpo di richiesta di esempio per caricare un semplice recinto virtuale rappresentato come geometria circolare usando un punto centrale e un raggio.
POST /mapData?api-version=2.0&dataFormat=geojson
Host: us.atlas.microsoft.com
x-ms-client-id: 30d7cc….9f55
Authorization: Bearer eyJ0e….HNIVN
Il corpo della richiesta di esempio seguente si trova in GeoJSON:
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.126986, 47.639754]
},
"properties": {
"geometryId": "001",
"radius": 500
}
}]
}
Esempio di intestazione di risposta
Operation-Location: https://us.atlas.microsoft.com/mapData/operations/{udid}?api-version=2.0
Access-Control-Expose-Headers: Operation-Location
Concedere l'accesso basato sui ruoli per gli utenti a Mappe di Azure
È possibile concedere il controllo degli accessi in base al ruolo di Azure assegnando un gruppo o un'entità di sicurezza di Microsoft Entra a una o più definizioni di ruolo di Mappe di Azure.
Per visualizzare le definizioni dei ruoli di Azure disponibili per Mappe di Azure, vedere Visualizzare le definizioni dei ruoli di Mappe di Azure predefinite.
Per informazioni dettagliate su come assegnare un ruolo di Mappe di Azure disponibile all'identità gestita o all'entità servizio creata, vedere Assegnare i ruoli di Azure usando il portale di Azure
Per gestire in modo efficiente l'app Mappe di Azure e l'accesso alle risorse di un elevato numero di utenti, vedere Gruppi di Microsoft Entra.
Importante
Affinché gli utenti possano eseguire l'autenticazione in un'applicazione, devono prima essere creati in Microsoft Entra ID. Per altre informazioni, vedere Aggiungere o eliminare utenti usando Microsoft Entra ID.
Per informazioni su come gestire in modo efficace una directory di grandi dimensioni per gli utenti, vedere Microsoft Entra ID.
Avviso
Le definizioni dei ruoli predefiniti di Mappe di Azure offrono un accesso autorizzazione molto ampio a molte API REST di Mappe di Azure. Per limitare al minimo l'accesso alle API, vedere Creare una definizione di ruolo personalizzata e assegnare l'identità assegnata dal sistema alla definizione del ruolo personalizzata. Ciò consente all'applicazione di accedere a Mappe di Azure con i privilegi minimi necessari.
Passaggi successivi
Trovare le metriche di utilizzo delle API per l'account Mappe di Azure: