Fornire Key Vault autenticazione con un'identità gestitaProvide Key Vault authentication with a managed identity

Un'identità gestita da Azure Active Directory consente all'app di accedere facilmente ad altre risorse protette da Azure AD.A managed identity from Azure Active Directory allows your app to easily access other Azure AD-protected resources. L'identità viene gestita dalla piattaforma Azure e non è necessario eseguire il provisioning o ruotare alcun segreto.The identity is managed by the Azure platform and does not require you to provision or rotate any secrets. Per altre informazioni, vedere Identità gestite per le risorse di Azure.For more information, see Managed identities for Azure resources.

Questo articolo illustra come creare un'identità gestita per un'applicazione del servizio app e usarla per accedere a Azure Key Vault.This article shows you how to create a managed identity for an App Service application and use it to access Azure Key Vault. Per le applicazioni ospitate nelle macchine virtuali di Azure, vedere usare un'identità gestita assegnata dal sistema VM Windows per accedere a Azure Key Vault.For applications hosted in Azure VMs, see Use a Windows VM system-assigned managed identity to access Azure Key Vault.

Usare Azure Cloud ShellUse Azure Cloud Shell

Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Per avviare Azure Cloud Shell:To start Azure Cloud Shell:

OpzioneOption Esempio/CollegamentoExample/Link
Selezionare Prova nell'angolo superiore destro di un blocco di codice.Select Try It in the upper-right corner of a code block. La selezione di Prova non comporta la copia automatica del codice in Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Esempio di Prova per Azure Cloud Shell
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Avviare Cloud Shell in una nuova finestraLaunch Cloud Shell in a new window
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Pulsante Cloud Shell nel portale di Azure

Per eseguire il codice di questo articolo in Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Avviare Cloud Shell.Start Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice per copiare il codice.Select the Copy button on a code block to copy the code.

  3. Incollare il codice nella sessione di Cloud Shell premendo CTRL+MAIUSC+V in Windows e Linux o CMD+MAIUSC+V in macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Premere INVIO per eseguire il codice.Select Enter to run the code.

PrerequisitiPrerequisites

Per completare questa guida, sono necessarie le risorse seguenti.To complete this guide, you must have the following resources.

Aggiunta di un'identità assegnata dal sistemaAdding a system-assigned identity

In primo luogo, è necessario aggiungere un'identità assegnata dal sistema a un'applicazione.First, you must add a system-assigned identity to an application.

Portale di AzureAzure portal

Per configurare un'identità gestita nel portale, è prima necessario creare un'applicazione come di consueto e quindi abilitare la funzionalità.To set up a managed identity in the portal, you will first create an application as normal and then enable the feature.

  1. Se si usa un'app per le funzioni, passare a Funzionalità della piattaforma.If using a function app, navigate to Platform features. Per altri tipi di app, scorrere verso il basso fino al gruppo Impostazioni nel riquadro di spostamento a sinistra.For other app types, scroll down to the Settings group in the left navigation.

  2. Selezionare Identità gestita.Select Managed identity.

  3. All'interno della scheda Assegnata dal sistema impostare Stato su Attivato.Within the System assigned tab, switch Status to On. Fare clic su Salva.Click Save.

    Screenshot che mostra il salvataggio di un'identità assegnata dal sistema.

Interfaccia della riga di comando di AzureAzure CLI

Questa Guida introduttiva richiede l'interfaccia della riga di comando di Azure versione 2.0.4 o successiva.This quickstart requires the Azure CLI version 2.0.4 or later. Eseguire az --version per trovare la versione corrente.Run az --version to find your current version. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.If you need to install or upgrade, see Install the Azure CLI.

Per accedere con l'interfaccia della riga di comando di Azure, usare il comando AZ login :To sign in with Azure CLI, use the az login command:

az login

Per altre informazioni sulle opzioni di accesso con l'interfaccia della riga di comando di Azure, vedere accedere con l'interfacciadella riga di comando.For more information on login options with the Azure CLI, see Sign in with Azure CLI.

Per creare l'identità per l'applicazione, usare l'interfaccia della riga di comando di Azure AZ webapp Identity Assign oppure il comando AZ functionapp Identity Assign :To create the identity for this application, use the Azure CLI az webapp identity assign command or az functionapp identity assign command:

az webapp identity assign --name myApp --resource-group myResourceGroup
az functionapp identity assign --name myApp --resource-group myResourceGroup

Prendere nota dell'oggetto PrincipalId , che sarà necessario nella sezione successiva.Make a note of the PrincipalId, which will be needed in next section.

{
  "principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "type": "SystemAssigned"
}

Concedere all'app l'accesso a Key VaultGrant your app access to Key Vault

Portale di AzureAzure portal

  1. Passare a Key Vault risorsa.Navigate to Key Vault resource.

  2. Selezionare criteri di accesso e fare clic su Aggiungi criteri di accesso.Select Access policies and click Add Access Policy.

  3. In autorizzazioni segreteselezionare Get, List.In Secret permissions, select Get, List.

  4. Scegliere Seleziona entitàe nel campo di ricerca immettere il nome dell'app.Choose Select Principal, and in the search field enter the name of the app. Selezionare l'app nell'elenco dei risultati e fare clic su Seleziona.Select the app in the result list and click Select.

  5. Fare clic su Aggiungi per completare l'aggiunta dei nuovi criteri di accesso.Click Add to finish adding the new access policy.

    Screenshot che mostra l'aggiunta di un nuovo criterio di accesso nel portale di Azure.

Interfaccia della riga di comando di AzureAzure CLI

Per concedere all'applicazione l'accesso all'insieme di credenziali delle chiavi, usare l'interfaccia della riga di comando di Azure AZ Key Vault set-Policy Command, specificando il parametro ObjectID con il PrincipalId annotato in precedenza.To grant your application access to your key vault, use the Azure CLI az keyvault set-policy command, supplying the ObjectId parameter with the principalId you noted above.

az keyvault set-policy --name myKeyVault --object-id <PrincipalId> --secret-permissions get list 

Passaggi successiviNext steps