Condividi tramite


Esercitazione: Usare un'identità gestita assegnata dal sistema in una macchina virtuale per accedere ad Azure Resource Manager

Questa guida introduttiva illustra come usare un'identità gestita assegnata dal sistema come identità di macchina virtuale per accedere all'API di Azure Resource Manager. 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.

Identità gestite per le risorse di Azure è 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.

Si apprenderà come:

  • Concedere alla macchina virtuale l'accesso a un gruppo di risorse in Azure Resource Manager
  • Ottenere un token di accesso usando un'identità di macchina virtuale e usarla per chiamare Azure Resource Manager

Usare un'identità gestita assegnata dal sistema per una macchina virtuale Windows per accedere a Resource Manager

Suggerimento

La procedura descritta in questo articolo può variare leggermente in base al portale di partenza.

Questa esercitazione illustra come creare un'identità assegnata dal sistema, assegnarla a una macchina virtuale Windows e quindi usare tale identità per accedere all'API di Azure Resource Manager . Le identità del servizio gestito vengono gestite automaticamente da Azure. Si abilita l'autenticazione ai servizi che supportano l'autenticazione di Microsoft Entra senza la necessità di incorporare le credenziali nel codice.

Si apprenderà come:

  • Concedere alla macchina virtuale l'accesso ad Azure Resource Manager.
  • Ottenere un token di accesso usando l'identità gestita assegnata dal sistema della macchina virtuale per accedere a Resource Manager.
  1. Accedere al portale di Azure con un account amministratore.

  2. Passare alla scheda Gruppo di risorse.

  3. Selezionare il gruppo di risorse a cui si vuole concedere l'accesso all'identità gestita della macchina virtuale.

  4. Selezionare Controllo di accesso (IAM) nel riquadro a sinistra.

  5. Selezionare Aggiungi e quindi Aggiungi assegnazione di ruolo.

  6. Nella scheda Ruolo selezionare Lettore. Questo ruolo consente di visualizzare tutte le risorse, ma non consente di apportare modifiche.

  7. Nella scheda Membri, per l'opzione Assegna accesso a, selezionare Identità gestita, quindi selezionare + Seleziona membri.

  8. Verificare che nell'elenco a discesa Sottoscrizione sia elencata la sottoscrizione corretta. Per Gruppo di risorse selezionare Tutti i gruppi di risorse.

  9. Per l'elenco a discesa Gestisci identità selezionare Macchina virtuale.

  10. Per Seleziona scegliere la macchina virtuale nell'elenco a discesa e quindi selezionare Salva.

    Screenshot che mostra l'aggiunta del ruolo di lettore all'identità gestita.

Ottenere un token di accesso

Usare l'identità gestita assegnata dal sistema della macchina virtuale e chiamare Resource Manager per ottenere un token di accesso.

Per completare questi passaggi, è necessario disporre di un client SSH. Se si usa Windows, è possibile usare il client SSH nel sottosistema Windows per Linux. Per richiedere assistenza nella configurazione delle chiavi del client SSH, vedere Come usare le chiavi SSH con Windows in Azure o Come creare e usare una coppia di chiavi SSH pubblica e privata per le macchine virtuali Linux in Azure.

  1. Nel portale, passare alla macchina virtuale Linux e in Panoramica selezionare Connetti.
  2. Connettersi alla macchina virtuale usando un client SSH di propria scelta.
  3. Nella finestra del terminale, usando curl, effettuare una richiesta alle identità gestite locali per l'endpoint delle risorse di Azure per ottenere un token di accesso per Azure Resource Manager.   La richiesta curl per il token di accesso è mostrata di seguito.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true

Nota

Il valore del parametro resource deve corrispondere esattamente a quello previsto da Microsoft Entra ID. Nel caso dell'ID risorsa di Resource Manager, è necessario includere la barra finale sull'URI.

La risposta include il token di accesso necessario per accedere ad Azure Resource Manager.

Risposta:

{
  "access_token":"eyJ0eXAiOi...",
  "refresh_token":"",
  "expires_in":"3599",
  "expires_on":"1504130527",
  "not_before":"1504126627",
  "resource":"https://management.azure.com",
  "token_type":"Bearer"
}

Usare questo token di accesso per accedere ad Azure Resource Manager; Ad esempio, per leggere i dettagli del gruppo di risorse a cui è stato precedentemente concesso l'accesso alla macchina virtuale. Sostituire i valori di <SUBSCRIPTION-ID>, <RESOURCE-GROUP> e <ACCESS-TOKEN> con quelli creato in precedenza.

Nota

L'URL fa distinzione tra maiuscole e minuscole, quindi assicurarsi di usare il case esatto usato in precedenza quando è stato denominato il gruppo di risorse e il carattere "G" maiuscolo in "resourceGroup".

curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>" 

La risposta restituisce le informazioni specifiche del gruppo di risorse:

{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
  "provisioningState":"Succeeded"
  }
} 

Usare un'identità gestita assegnata dal sistema di una macchina virtuale Linux per accedere 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.

Questa esercitazione illustra come creare un'identità assegnata dal sistema, assegnarla a una macchina virtuale Linux e quindi usare tale identità per accedere all'API Azure Resource Manager. Le identità del servizio gestito vengono gestite automaticamente da Azure. Si abilita l'autenticazione ai servizi che supportano l'autenticazione di Microsoft Entra senza la necessità di incorporare le credenziali nel codice.

Scopri come:

  • Concedere alla macchina virtuale l'accesso ad Azure Resource Manager.
  • Ottenere un token di accesso usando l'identità gestita assegnata dal sistema della macchina virtuale per accedere alla gestione risorse.
  1. Accedere al portale di Azure con un account amministratore.

  2. Passare alla scheda Gruppo di risorse.

  3. Selezionare il gruppo di risorse a cui si vuole concedere l'accesso all'identità gestita della macchina virtuale.

  4. Selezionare Controllo di accesso (IAM) nel riquadro a sinistra.

  5. Selezionare Aggiungi e quindi Aggiungi assegnazione di ruolo.

  6. Nella scheda Ruolo selezionare Lettore. Questo ruolo consente di visualizzare tutte le risorse, ma non consente di apportare modifiche.

  7. Nella scheda Membri selezionare Identità gestita nell'opzione Assegnare l'accesso a, quindi selezionare + Selezionare i membri.

  8. Verificare che nell'elenco a discesa Sottoscrizione sia elencata la sottoscrizione corretta. Per Gruppo di risorse selezionare Tutti i gruppi di risorse.

  9. Nell'elenco a discesa Gestisci identità selezionare Macchina virtuale.

  10. Nell'opzione Seleziona scegliere la macchina virtuale nell'elenco a discesa e quindi selezionare Salva.

    Screenshot che mostra l'aggiunta del ruolo di lettore all'identità gestita.

Ottenere un token di accesso

Usare l'identità gestita assegnata dal sistema della macchina virtuale e chiamare la gestione risorse per ottenere un token di accesso.

Per completare questi passaggi, è necessario disporre di un client SSH. Se si usa Windows, è possibile usare il client SSH nel sottosistema Windows per Linux. Per richiedere assistenza nella configurazione delle chiavi del client SSH, vedere Come usare le chiavi SSH con Windows in Azure o Come creare e usare una coppia di chiavi SSH pubblica e privata per le macchine virtuali Linux in Azure.

  1. Nel portale di Azure passare alla macchina virtuale Linux.
  2. In Panoramica selezionare Connetti.
  3. Connettersi alla macchina virtuale usando un client SSH di propria scelta.
  4. Nella finestra del terminale usare curl per effettuare una richiesta all'endpoint locale delle identità gestite per le risorse di Azure per ottenere un token di accesso per Azure Resource Manager.   La richiesta curl per il token di accesso è mostrata di seguito.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true

Nota

Il valore del parametro resource deve corrispondere esattamente a quello previsto da Microsoft Entra ID. Quando si usa l'ID della risorsa di Resource Manager, è necessario includere la barra finale nell'URI.

La risposta include il token di accesso necessario per accedere ad Azure Resource Manager.

Risposta:

{
  "access_token":"eyJ0eXAiOi...",
  "refresh_token":"",
  "expires_in":"3599",
  "expires_on":"1504130527",
  "not_before":"1504126627",
  "resource":"https://management.azure.com",
  "token_type":"Bearer"
}

Usare questo token di accesso per accedere ad Azure Resource Manager. Ad esempio, per leggere i dettagli del gruppo di risorse a cui è stato precedentemente concesso l'accesso alla macchina virtuale. Sostituire i valori di <SUBSCRIPTION-ID>, <RESOURCE-GROUP> e <ACCESS-TOKEN> con quelli creato in precedenza.

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.

curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>" 

La risposta restituisce le informazioni specifiche del gruppo di risorse:

{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
  "provisioningState":"Succeeded"
  }
} 

Passaggi successivi

In questa guida introduttiva si è appreso come usare un'identità gestita assegnata dal sistema in una macchina virtuale per accedere all'API di Azure Resource Manager. Per altre informazioni su Azure Resource Manager, vedere: