Usare un'identità gestita assegnata dal sistema per una macchina virtuale Windows per accedere a Resource Manager
Le identità gestite per le risorse di Azure sono una funzionalità di Microsoft Entra ID. Tutti i servizi di Azure che supportano le identità gestite per le risorse di Azure sono soggetti alla sequenza temporale di tali entità. Prima di iniziare, assicurarsi di esaminare lo stato di disponibilità delle identità gestite per la risorsa e i problemi noti.
Questa esercitazione illustra come accedere all'API di Azure Resource Manager usando una macchina virtuale Windows con un'identità gestita assegnata dal sistema abilitata. Le identità gestite per le risorse di Azure vengono gestite automaticamente da Azure e consentono di eseguire l'autenticazione ai servizi che supportano l'autenticazione di Microsoft Entra senza dover inserire le credenziali nel codice. Scopri come:
- Concedere alla macchina virtuale l'accesso a un gruppo di risorse in Azure Resource Manager
- Ottenere un token di accesso usando l'identità della macchina virtuale e usarlo per chiamare Azure Resource Manager
Prerequisiti
- Conoscenza di base delle identità gestite. Se non si ha familiarità con la funzionalità delle identità gestite per le risorse di Azure, vedere questa panoramica.
- Un account Azure. Iscriversi per riceverne uno gratuito.
- Autorizzazioni di "Proprietario" nell'ambito appropriato (sottoscrizione o gruppo di risorse) per eseguire le procedure di creazione delle risorse e gestione dei ruoli. Se è necessaria assistenza per l'assegnazione di ruolo, vedere Assegnare i ruoli di Azure per gestire l'accesso alle risorse della sottoscrizione di Azure.
- È anche necessaria una macchina virtuale Windows con identità gestite assegnate dal sistema abilitate.
- Se è necessario creare una macchina virtuale per questa esercitazione, è possibile seguire l'articolo Creare una macchina virtuale con l'identità assegnata dal sistema abilitata
Abilitare
L'abilitazione di un'identità gestita assegnata dal sistema si esegue con un semplice clic del mouse. È possibile abilitarla durante la creazione di una macchina virtuale o nelle proprietà di una VM esistente.
Per abilitare l'identità gestita assegnata dal sistema in una nuova VM:
Accedere al portale di Azure
Creare una macchina virtuale con l'identità assegnata dal sistema abilitata
Concedere alla macchina virtuale l'accesso a un gruppo di risorse in Gestione risorse
Suggerimento
I passaggi descritti in questo articolo possono variare leggermente in base al portale da cui si inizia.
Usando le identità gestite per le risorse di Azure, l'applicazione può ottenere token di accesso per l'autenticazione alle risorse che supportano l'autenticazione di Microsoft Entra. L'API di Azure Resource Manager supporta l'autenticazione di Microsoft Entra. L'identità di questa macchina virtuale viene concessa all'accesso a una risorsa in Azure Resource Manager, in questo caso un gruppo di risorse. Il ruolo Lettore viene assegnato all'identità gestita nell'ambito del gruppo di risorse.
- Accedere al portale di Azure con l'account amministratore.
- Passare alla scheda Gruppo di risorse.
- Selezionare il gruppo di risorse a cui si vuole concedere l'accesso all'identità gestita della macchina virtuale.
- Nel pannello sinistro selezionare Controllo di accesso (IAM).
- Selezionare Aggiungi e quindi selezionare Aggiungi assegnazione di ruolo.
- Nella scheda Ruolo selezionare Lettore. Questo ruolo consente di visualizzare tutte le risorse, ma non consente di apportare modifiche.
- Nella scheda Membri selezionare Identità gestita per Assegna accesso a. Selezionare quindi + Seleziona membri.
- Verificare che la sottoscrizione appropriata sia elencata nell'elenco a discesa Sottoscrizione . In Gruppo di risorse selezionare Tutti i gruppi di risorse.
- Per l'elenco a discesa Gestisci identità selezionare Macchina virtuale.
- Infine, in Seleziona scegliere la macchina virtuale Windows nell'elenco a discesa e selezionare Salva.
Ottenere un token di accesso usando l'identità gestita assegnata dal sistema della macchina virtuale e usarlo per chiamare Azure Resource Manager
In questa parte sarà necessario usare PowerShell . Se PowerShell non è installato, scaricarlo da qui.
Nel portale passare a Macchine virtuali e passare alla macchina virtuale Windows e nella panoramica selezionare Connessione.
In Nome utente e Password immettere i valori specificati al momento della creazione della macchina virtuale Windows.
Dopo aver creato un Connessione Desktop remoto con la macchina virtuale, aprire PowerShell nella sessione remota.
Usando il cmdlet Invoke-WebRequest, effettuare una richiesta all'endpoint locale dell'identità gestita per le risorse di Azure per ottenere un token di accesso per Azure Resource Manager.
$response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -Method GET -Headers @{Metadata="true"}
Nota
Il valore del parametro "resource" deve essere una corrispondenza esatta per ciò che è previsto dall'ID Microsoft Entra. Quando si usa l'ID risorsa di Azure Resource Manager, è necessario includere la barra finale nell'URI.
Estrarre la risposta completa, archiviata come stringa in formato JSON (JavaScript Object Notation) nell'oggetto $response.
$content = $response.Content | ConvertFrom-Json
Estrarre poi il token di accesso dalla risposta.
$ArmToken = $content.access_token
Chiamare infine Azure Resource Manager usando il token di accesso. In questo esempio il cmdlet Invoke-WebRequest viene usato anche per effettuare la chiamata ad Azure Resource Manager e includere il token di accesso nell'intestazione dell'autorizzazione.
(Invoke-WebRequest -Uri https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>?api-version=2016-06-01 -Method GET -ContentType "application/json" -Headers @{ Authorization ="Bearer $ArmToken"}).content
Nota
L'URL fa distinzione tra maiuscole e minuscole. Accertarsi quindi di usare la stessa combinazione di maiuscole e minuscole usata in precedenza per il nome del gruppo di risorse, facendo attenzione alla maiuscola "G" in "resourceGroup".
Il comando seguente restituisce le informazioni del gruppo di risorse:
{"id":"/subscriptions/98f51385-2edc-4b79-bed9-7718de4cb861/resourceGroups/DevTest","name":"DevTest","location":"westus","properties":{"provisioningState":"Succeeded"}}
Passaggi successivi
In questa esercitazione si è appreso come usare un'identità gestita assegnata dal sistema per accedere all'API di Azure Resource Manager. Per altre informazioni su Azure Resource Manager, vedere: