Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las aplicaciones que llaman al servicio de administración de Azure Batch se autentican con Microsoft Entra ID, el servicio de administración de identidades y directorios multiinquilino basado en la nube de Microsoft. Azure usa Microsoft Entra ID para autenticar a sus clientes, administradores de servicios y usuarios de la organización.
La manera recomendada de autenticar aplicaciones de administración de Batch es usar la biblioteca cliente Azure Identity junto con el Azure. ResourceManager.Batch biblioteca de administración. La biblioteca Azure Identity proporciona clases de credenciales basadas en tokens (como DefaultAzureCredential, ManagedIdentityCredential, ClientSecretCredential y InteractiveBrowserCredential) que funcionan de forma coherente si la aplicación se ejecuta localmente, en Azure o local. Para obtener información general sobre las estrategias de autenticación recomendadas, consulte Authenticate .NET aplicaciones para Azure servicios mediante la biblioteca de identidades de Azure.
La biblioteca Azure.ResourceManager.Batch expone tipos para administrar cuentas de Batch, claves de cuenta, aplicaciones y paquetes de aplicación. Es un cliente de proveedor de recursos Azure y funciona junto con Azure Resource Manager para administrar estos recursos mediante programación. Microsoft Entra ID es necesario para autenticar las solicitudes realizadas a través de cualquier cliente del proveedor de recursos Azure, incluida esta biblioteca.
Nota:
El paquete heredado Microsoft.Azure.Management.Batch y los patrones de código basados en ADAL (AuthenticationContext.AcquireToken) están obsoletos. El nuevo código debe usar Azure.ResourceManager.Batch con credenciales de Azure.Identity.
Para obtener más información sobre el uso de la biblioteca de administración de Batch .NET, consulte Administrar cuentas y cuotas de Batch con la biblioteca cliente de Administración de Batch para .NET.
Registro de una aplicación (opcional)
Si necesita registrar una aplicación de Microsoft Entra independiente depende del tipo de credencial que use:
- Si usa
DefaultAzureCredentiale inicia sesión a través de una herramienta de desarrollador (CLI de Azure, Azure PowerShell, Visual Studio o Visual Studio Code), o la aplicación se ejecuta en un recurso de Azure con una identidad administrada, no es necesario registrar una aplicación independiente. La credencial usa la identidad ya configurada en ese entorno. - Si su aplicación se autentica como una entidad de servicio (por ejemplo, con
ClientSecretCredentialoClientCertificateCredential), debe registrar una aplicación en su inquilino de Microsoft Entra.
Para registrar una aplicación, siga los pasos descritos en Quickstart: Registrar una aplicación con el Plataforma de identidad de Microsoft. Después del registro, Microsoft Entra ID proporciona un identificador de aplicación (cliente) que se usa en tiempo de ejecución. Para más información, consulte Objetos de aplicación y entidad de servicio en Microsoft Entra ID.
Asignar permisos de Azure RBAC
Después de decidir qué identidad usa la aplicación (una cuenta de desarrollador, una identidad administrada o una entidad de servicio), asigne a esa identidad los permisos de control de acceso basado en roles de Azure (RBAC) que necesita en el grupo de recursos o la suscripción en la que administra las cuentas de Batch. Entre los roles integrados habituales se incluyen Colaborador, Colaborador de cuenta de Azure Batch y Lector.
Para ver los pasos, consulte Assign Azure roles mediante el portal de Azure.
Autenticación con la biblioteca de identidades de Azure
Con Azure.Identity y Azure.ResourceManager.Batch, no es necesario indicar manualmente los puntos de conexión de Microsoft Entra, los URI de recursos ni los URI de redirección: la credencial se encarga automáticamente de la adquisición, el almacenamiento en caché y la renovación de tokens.
Instale los paquetes NuGet necesarios:
dotnet add package Azure.Identity dotnet add package Azure.ResourceManager.BatchAgregue las siguientes
usinginstrucciones al código:using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Batch;Cree una credencial y pásela a
ArmClient. Use el cliente para enumerar o administrar cuentas de Batch.Recomendado:
DefaultAzureCredential— funciona localmente con inicios de sesión en herramientas de desarrollo (CLI de Azure, Visual Studio, Visual Studio Code) y usa automáticamente la identidad administrada cuando la aplicación se ejecuta en Azure:ArmClient arm = new ArmClient(new DefaultAzureCredential()); SubscriptionResource subscription = await arm.GetDefaultSubscriptionAsync(); await foreach (BatchAccountResource account in subscription.GetBatchAccountsAsync()) { Console.WriteLine(account.Data.Name); }Inicio de sesión interactivo (integrado): pide a un usuario que inicie sesión a través del explorador del sistema. Úselo cuando la aplicación debe autenticar un usuario específico de forma interactiva:
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);Entidad de servicio (secreto de cliente): se usa para aplicaciones desasistidas que se autentican con un secreto de registro de aplicaciones:
var credential = new ClientSecretCredential( tenantId: "<tenant-id>", clientId: "<application-id>", clientSecret: "<client-secret>"); ArmClient arm = new ArmClient(credential);Administración de identidad: use cuando la aplicación se ejecute en un recurso de Azure (como una máquina virtual, App Service o Aplicación contenedora) que tenga una identidad administrada asignada por el sistema o asignada por el usuario:
// 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 credencial almacena en caché y actualiza los tokens de forma transparente, por lo que puede mantener ArmClient y los recursos de administración de Batch en funcionamiento durante toda la vida útil de la aplicación.
Pasos siguientes
- Administrar cuentas y cuotas de Batch con la biblioteca cliente de Administración de Batch para .NET
- Autenticar soluciones de Batch Service con Microsoft Entra ID
- Autenticar aplicaciones .NET en servicios de Azure mediante la biblioteca Azure Identity
- Biblioteca cliente de Azure.ResourceManager.Batch para .NET
- Biblioteca de cliente de Azure Identity para .NET
- Objetos de aplicación y de entidad de servicio en Microsoft Entra ID