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 applicazioni che chiamano il servizio di gestione Azure Batch si autenticano con Microsoft Entra ID, il servizio directory e di gestione delle identità multitenant basato sul cloud di Microsoft. Azure usa Microsoft Entra ID per autenticare i clienti, gli amministratori dei servizi e gli utenti dell'organizzazione.
Il modo consigliato per autenticare le app di gestione batch consiste nell'usare la libreria client Azure Identity, insieme al Azure. Libreria di gestione ResourceManager.Batch. La libreria di identità di Azure fornisce classi di credenziali basate su token (ad esempio DefaultAzureCredential, ManagedIdentityCredential, ClientSecretCredential e InteractiveBrowserCredential) che funzionano in modo coerente indipendentemente dal fatto che l'app venga eseguita localmente, in Azure o in locale. Per una panoramica delle strategie di autenticazione consigliate, vedere Authenticate .NET apps to Azure services using the Azure Identity library.
La libreria Azure.ResourceManager.Batch espone i tipi per la gestione di account Batch, chiavi dell'account, applicazioni e pacchetti dell'applicazione. Si tratta di un client del provider di risorse Azure e interagisce con Azure Resource Manager per gestire queste risorse a livello di codice. Microsoft Entra ID è necessario per autenticare le richieste effettuate tramite qualsiasi client del provider di risorse Azure, inclusa questa libreria.
Note
Il pacchetto legacy Microsoft.Azure.Management.Batch e i modelli di codice basati su ADAL (AuthenticationContext.AcquireToken) sono deprecati. Il nuovo codice deve usare Azure.ResourceManager.Batch con le credenziali Azure.Identity.
Per altre informazioni sull'uso della libreria di gestione batch .NET, vedere Gestire account Batch e quote con la libreria client di gestione batch per .NET.
Registrare un'applicazione (facoltativo)
La necessità di registrare un'applicazione Microsoft Entra separata dipende dal tipo di credenziale usato:
- Se si usa
DefaultAzureCredentiale si accede tramite uno strumento di sviluppo (interfaccia della riga di comando di Azure, Azure PowerShell, Visual Studio o Visual Studio Code) o l'app viene eseguita in una risorsa Azure con un'identità gestita, non è necessario registrare un'applicazione separata. La credenziale usa l'identità già configurata in tale ambiente. - Se la tua app si autentica come entità servizio (ad esempio, con
ClientSecretCredentialoClientCertificateCredential), devi registrare un'applicazione nel tenant Microsoft Entra.
Per registrare un'applicazione, seguire i passaggi descritti in Quickstart: Registrare un'applicazione con il Microsoft Identity Platform. Dopo la registrazione, Microsoft Entra ID fornisce un ID application (client) usato in fase di esecuzione. Per altre informazioni, vedere Oggetti applicazione e oggetti entità servizio in Microsoft Identity Platform.
Assegnare le autorizzazioni di Azure RBAC
Dopo aver deciso quale identità usa l'applicazione (un account sviluppatore, un'identità gestita o un'entità servizio), assegna a tale identità le autorizzazioni del controllo degli accessi in base al ruolo di Azure (RBAC) necessarie nel gruppo di risorse o nella sottoscrizione in cui gestisci gli account Batch. Tra i ruoli predefiniti più comuni sono inclusi Contributor, Azure Batch Account Contributor e Reader.
Per i passaggi, vedere Assegnare i ruoli di Azure usando il portale di Azure.
Eseguire l'autenticazione con la libreria di identità di Azure
Con Azure.Identity e Azure.ResourceManager.Batch, non è necessario fare riferimento manualmente agli endpoint Microsoft Entra, agli URI delle risorse o agli URI di reindirizzamento, ovvero le credenziali gestiscono automaticamente l'acquisizione, la memorizzazione nella cache e l'aggiornamento dei token.
Installare i pacchetti NuGet necessari:
dotnet add package Azure.Identity dotnet add package Azure.ResourceManager.BatchAggiungere al codice le istruzioni seguenti
using:using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Batch;Creare una credenziale e passarla a
ArmClient. Usare il client per enumerare o gestire gli account Batch.Recommended:
DefaultAzureCredential, funziona localmente con gli accessi degli strumenti di sviluppo (interfaccia della riga di comando di Azure, Visual Studio, Visual Studio Code) e usa automaticamente l'identità gestita quando l'app viene eseguita in Azure:ArmClient arm = new ArmClient(new DefaultAzureCredential()); SubscriptionResource subscription = await arm.GetDefaultSubscriptionAsync(); await foreach (BatchAccountResource account in subscription.GetBatchAccountsAsync()) { Console.WriteLine(account.Data.Name); }Accesso interattivo (integrato): richiede a un utente di accedere tramite il browser di sistema. Usare questa opzione quando l'app deve autenticare un utente specifico in modo interattivo:
var credential = new InteractiveBrowserCredential( new InteractiveBrowserCredentialOptions { TenantId = "<tenant-id>", ClientId = "<application-id>", // optional; required only if you registered your own app RedirectUri = new Uri("http://localhost") }); ArmClient arm = new ArmClient(credential);Servizio principale (segreto client) — da utilizzare per le app in modalità automatica che effettuano l'autenticazione tramite un segreto di registrazione dell'app:
var credential = new ClientSecretCredential( tenantId: "<tenant-id>", clientId: "<application-id>", clientSecret: "<client-secret>"); ArmClient arm = new ArmClient(credential);Identità gestita: usare quando l'app viene eseguita in una risorsa Azure (ad esempio una macchina virtuale, un servizio app o un'app contenitore) con un'identità gestita assegnata dal sistema o assegnata dall'utente:
// System-assigned managed identity var credential = new ManagedIdentityCredential(); // Or, user-assigned managed identity // var credential = new ManagedIdentityCredential(clientId: "<user-assigned-client-id>"); ArmClient arm = new ArmClient(credential);
La credenziale memorizza nella cache e aggiorna i token in modo trasparente, così puoi mantenere attivi ArmClient e le risorse di gestione di Batch per l'intera durata dell'app.
Passaggi successivi
- Gestisci gli account e le quote Batch con la libreria client Batch Management per .NET
- Autenticare le soluzioni del servizio Batch con Microsoft Entra ID
- Autenticare le app .NET nei servizi di Azure usando la libreria Azure Identity
- Libreria client Azure.ResourceManager.Batch per .NET
- Libreria client di Identità di Azure per .NET
- Applicazioni e oggetti principali di servizio in Microsoft Entra ID