Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le app in esecuzione all'esterno di Azure (ad esempio, in locale o in un data center di terze parti) devono usare un'entità servizio dell'applicazione per eseguire l'autenticazione in Azure quando accedono alle risorse di Azure. Creare oggetti principali del servizio applicazione tramite il processo di registrazione applicativa in Azure. Quando si crea un principale di servizio dell'applicazione, si ottiene un ID client e un segreto del client per l'app. Archiviare l'ID client, il segreto client e l'ID tenant nelle variabili di ambiente in modo che Azure SDK per JavaScript usi queste variabili per autenticare l'app in Azure in fase di esecuzione.
Creare una registrazione dell'app diversa per ogni ambiente(ad esempio test, fase, produzione) in cui viene eseguita l'app. Questa configurazione consente di configurare autorizzazioni di risorse specifiche dell'ambiente per ogni entità servizio e di garantire che un'app distribuita in un ambiente non accinga alle risorse di Azure in un altro ambiente.
1 - Registrare l'applicazione in Azure
È possibile registrare un'app in Azure usando il portale di Azure o l'interfaccia della riga di comando di Azure.
Accedere al portale di Azure e seguire la procedura seguente.
2 - Assegnare ruoli all'entità servizio dell'applicazione
Determinare quindi i ruoli (autorizzazioni) necessari per le risorse necessarie per l'app e assegnare tali ruoli all'app. Assegnare ruoli nell'ambito della risorsa, del gruppo di risorse o della sottoscrizione. Questo esempio illustra come assegnare ruoli per l'entità servizio nell'ambito del gruppo di risorse perché la maggior parte delle applicazioni raggruppa tutte le risorse di Azure in un singolo gruppo di risorse.
3 - Configurare le variabili di ambiente per l'applicazione
Impostare le AZURE_CLIENT_IDvariabili di ambiente , AZURE_TENANT_IDe AZURE_CLIENT_SECRET per il processo che esegue l'app JavaScript. È necessario rendere disponibili le credenziali del principale di servizio dell'applicazione per l'app durante l'esecuzione. L'oggetto DefaultAzureCredential cerca le informazioni sull'entità servizio in queste variabili di ambiente.
AZURE_CLIENT_ID=<value>
AZURE_TENANT_ID=<value>
AZURE_CLIENT_SECRET=<value>
4 - Implementare DefaultAzureCredential nell'applicazione
Per autenticare gli oggetti client di Azure SDK in Azure, usare la DefaultAzureCredential classe dal pacchetto @azure/identity.
Aggiungere prima di tutto il pacchetto di @azure/identità all'applicazione.
npm install @azure/identity
Successivamente, per qualsiasi codice JavaScript che crea un oggetto client azure SDK nell'app, seguire questa procedura:
- Importare la
DefaultAzureCredentialclasse dal@azure/identitymodulo. - Creare un oggetto
DefaultAzureCredential. - Passare l'oggetto al costruttore dell'oggetto
DefaultAzureCredentialclient di Azure SDK.
Un esempio di questo codice è illustrato nel segmento di codice seguente.
// connect-with-default-azure-credential.js
import { BlobServiceClient } from '@azure/storage-blob';
import { DefaultAzureCredential } from '@azure/identity';
import 'dotenv/config'
const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME;
if (!accountName) throw Error('Azure Storage accountName not found');
const blobServiceClient = new BlobServiceClient(
`https://${accountName}.blob.core.windows.net`,
new DefaultAzureCredential()
);
Quando il codice crea un'istanza dell'oggetto DefaultAzureCredential, DefaultAzureCredential legge le variabili di ambiente AZURE_SUBSCRIPTION_ID, AZURE_TENANT_ID, AZURE_CLIENT_ID e AZURE_CLIENT_SECRET per le informazioni sull'entità servizio dell'applicazione con cui connettersi ad Azure.