Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les applications qui appellent le service gestion Azure Batch s'authentifient avec Microsoft Entra ID, le service de gestion des identités et des annuaires multilocataires de Microsoft. Azure elle-même utilise Microsoft Entra ID pour authentifier ses clients, administrateurs de service et utilisateurs organisationnels.
La méthode recommandée pour authentifier des applications de gestion Batch consiste à utiliser la bibliothèque cliente Azure Identity client library, ainsi que la bibliothèque de gestion Azure.ResourceManager.Batch. La bibliothèque Azure Identity fournit des classes d’informations d’identification basées sur des jetons (telles que DefaultAzureCredential, ManagedIdentityCredential, ClientSecretCredential et InteractiveBrowserCredential) qui fonctionnent de manière cohérente, que votre application s’exécute localement, sur Azure ou localement. Pour obtenir une vue d’ensemble des stratégies d’authentification recommandées, consultez Authenticate .NET applications pour Azure services à l’aide de la bibliothèque d’identités Azure.
La bibliothèque Azure.ResourceManager.Batch expose les types de gestion des comptes Batch, des clés de compte, des applications et des packages d’application. Il s'agit d'un client de fournisseur de ressources Azure et fonctionne avec Azure Resource Manager pour gérer ces ressources par programmation. Microsoft Entra ID est nécessaire pour authentifier les demandes effectuées via n’importe quel client fournisseur de ressources Azure, y compris cette bibliothèque.
Note
Le package hérité Microsoft.Azure.Management.Batch et les modèles de code basés sur ADAL (AuthenticationContext.AcquireToken) sont déconseillés. Le nouveau code doit utiliser Azure.ResourceManager.Batch avec des informations d’identification Azure.Identity.
Pour en savoir plus sur l’utilisation de la bibliothèque de gestion batch .NET, consultez Manage Batch accounts and quotas with the Batch Management client library for .NET.
Inscrire une application (facultatif)
Si vous devez inscrire une application Microsoft Entra distincte dépend du type d’informations d’identification que vous utilisez :
- Si vous utilisez
DefaultAzureCredentialet que vous vous connectez via un outil de développement (Azure CLI, Azure PowerShell, Visual Studio ou Visual Studio Code), ou que votre application s'exécute sur une ressource Azure avec une identité managée, vous n'avez pas besoin d'inscrire une application distincte. Les informations d’identification utilisent l’identité déjà configurée dans cet environnement. - Si votre application s’authentifie en tant que principal de service (par exemple, avec
ClientSecretCredentialouClientCertificateCredential), vous devez inscrire une application dans votre locataire Microsoft Entra.
Pour inscrire une application, suivez les étapes décrites dans Quickstart : Inscrire une application auprès du Plateforme d'identités Microsoft. Après l’inscription, Microsoft Entra ID fournit un ID application (client) que vous utilisez au moment de l’exécution. Pour plus d’informations, consultez les objets d’application et les objets principaux de service dans Microsoft Entra ID.
Attribuer des autorisations Azure RBAC
Après avoir décidé quelle identité votre application utilise (un compte de développeur, une identité managée ou un principal de service), attribuez cette identité aux autorisations de contrôle d’accès en fonction du rôle (RBAC) Azure dont elle a besoin sur le groupe de ressources ou l’abonnement où vous gérez des comptes Batch. Les rôles intégrés courants incluent notamment Contributeur, Contributeur du compte Azure Batch et Lecteur.
Pour plus d’informations, consultez Assigner des rôles Azure à l’aide du portail Azure.
S’authentifier auprès de la bibliothèque d’identités Azure
Avec Azure.Identity et Azure.ResourceManager.Batch, vous n’avez pas besoin d’indiquer manuellement les points de terminaison de Microsoft Entra, les URI de ressource ou les URI de redirection : les informations d’identification gèrent automatiquement l’acquisition, la mise en cache et l’actualisation des jetons.
Installez les packages NuGet requis :
dotnet add package Azure.Identity dotnet add package Azure.ResourceManager.BatchAjoutez les instructions suivantes
usingà votre code :using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Batch;Créez des informations d’identification et transmettez-la à
ArmClient. Utilisez le client pour énumérer ou gérer des comptes Batch.Recommandé :
DefaultAzureCredential— fonctionne localement avec les connexions via les outils de développement (Azure CLI, Visual Studio, Visual Studio Code) et utilise automatiquement l’identité gérée lorsque l’application s’exécute sur Azure :ArmClient arm = new ArmClient(new DefaultAzureCredential()); SubscriptionResource subscription = await arm.GetDefaultSubscriptionAsync(); await foreach (BatchAccountResource account in subscription.GetBatchAccountsAsync()) { Console.WriteLine(account.Data.Name); }Connexion interactive (intégrée) : invite un utilisateur à se connecter via le navigateur système. Utilisez cette option lorsque votre application doit authentifier un utilisateur spécifique de manière interactive :
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);Principal de service (secret client) — à utiliser pour les applications non supervisées qui s’authentifient à l’aide d’un secret associé à l’inscription de l’application :
var credential = new ClientSecretCredential( tenantId: "<tenant-id>", clientId: "<application-id>", clientSecret: "<client-secret>"); ArmClient arm = new ArmClient(credential);Identité managée : utilisez-la lorsque votre application s’exécute sur une ressource Azure (par exemple, une machine virtuelle, App Service ou une application conteneur) qui a une identité managée affectée par le système ou affectée par l’utilisateur :
// 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);
Les informations d’identification mettent en cache et actualisent les jetons de manière transparente, ce qui vous permet de garder ArmClient et les ressources de gestion Batch actifs pendant toute la durée de vie de votre application.
Étapes suivantes
- Gérer les comptes et les quotas Batch avec la bibliothèque cliente Batch Management pour .NET
- Authentifier les solutions du service Batch avec Microsoft Entra ID
- Authenticate .NET applications pour Azure services à l’aide de la bibliothèque Azure Identity
- Bibliothèque cliente Azure.ResourceManager.Batch pour .NET
- Bibliothèque cliente Azure Identity pour .NET
- Objets d'application et objets principal de service dans Microsoft Entra ID