Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As aplicações que chamam o serviço Azure Batch Management autenticam-se com Microsoft Entra ID, o diretório multitenant baseado na cloud e o serviço de gestão de identidade da Microsoft. O próprio Azure utiliza o Microsoft Entra ID para autenticar os seus clientes, administradores de serviços e utilizadores organizacionais.
A forma recomendada de autenticar aplicações de gestão em lotes é usar a biblioteca cliente Azure Identity, juntamente com a Azure. ResourceManager.Batch biblioteca de gestão. A biblioteca Azure Identity fornece classes de credenciais baseadas em tokens (como DefaultAzureCredential, ManagedIdentityCredential, ClientSecretCredential e InteractiveBrowserCredential) que funcionam de forma consistente, quer a sua aplicação corra localmente, em Azure ou no local. Para uma visão geral das estratégias de autenticação recomendadas, consulte Autenticar aplicações de .NET para Azure serviços usando a biblioteca Azure Identity.
A biblioteca Azure.ResourceManager.Batch expõe tipos para gerir contas Batch, chaves de conta, aplicações e pacotes de aplicações. É um cliente fornecedor de recursos Azure e trabalha em conjunto com Azure Resource Manager para gerir estes recursos programaticamente. O Microsoft Entra ID é obrigatório para autenticar pedidos feitos através de qualquer cliente fornecedor de recursos do Azure, incluindo esta biblioteca.
Note
O pacote legado Microsoft.Azure.Management.Batch e os padrões de código baseados em ADAL (AuthenticationContext.AcquireToken) estão obsoletos. O novo código deve usar Azure.ResourceManager.Batch com credenciais Azure.Identity.
Para saber mais sobre como utilizar a biblioteca .NET de Gestão de Lotes, consulte Gerir contas e quotas do Batch com a biblioteca de cliente de Gestão de Lotes para .NET.
Registar uma candidatura (opcional)
Se precisa de registar uma aplicação Microsoft Entra separada depende do tipo de credencial que utiliza:
- Se usar
DefaultAzureCredentiale iniciar sessão através de uma ferramenta de programador (CLI do Azure, Azure PowerShell, Visual Studio ou Visual Studio Code), ou se a sua aplicação correr num recurso Azure com identidade gerida, não precisa de registar uma aplicação separada. A credencial utiliza a identidade já configurada nesse ambiente. - Se a sua aplicação se autenticar como principal de serviço (por exemplo, com
ClientSecretCredentialouClientCertificateCredential), tem de registar uma aplicação no seu tenant do Microsoft Entra.
Para registar uma candidatura, siga os passos em Quickstart: Registe uma candidatura com a plataforma de identidades da Microsoft. Após o registo, o Microsoft Entra ID atribui um ID da aplicação (cliente) que utilizará em tempo de execução. Para obter mais informações, consulte Objetos principais de aplicativo e serviço no Microsoft Entra ID.
Atribuir permissões Azure RBAC
Depois de decidir qual a identidade que a sua aplicação usa (uma conta de programador, uma identidade gerida ou um principal de serviço), atribua a essa identidade as permissões de controlo de acesso baseado em papéis (RBAC) do Azure que necessita para o grupo de recursos ou subscrição onde gere as contas Batch. Funções integradas comuns incluem Contributor, Contribuidor da Conta do Azure Batch e Leitor.
Para os passos, consulte Atribuir Azure funções usando o portal Azure.
Autenticar com a biblioteca Azure Identity
Com Azure.Identity e Azure.ResourceManager.Batch, não precisa de indicar manualmente os pontos finais do Microsoft Entra, os URIs de recursos ou os URIs de redirecionamento — a credencial trata automaticamente da aquisição, do armazenamento em cache e da atualização dos tokens.
Instale os pacotes NuGet necessários:
dotnet add package Azure.Identity dotnet add package Azure.ResourceManager.BatchAdicione as seguintes
usinginstruções ao seu código:using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Batch;Crie uma credencial e transmita-a para
ArmClient. Use o cliente para enumerar ou gerir contas em lote.Recomendado:
DefaultAzureCredential— funciona localmente com os logins de ferramentas de programador (CLI do Azure, Visual Studio, Visual Studio Code) e usa identidade gerida automaticamente quando a aplicação corre em Azure:ArmClient arm = new ArmClient(new DefaultAzureCredential()); SubscriptionResource subscription = await arm.GetDefaultSubscriptionAsync(); await foreach (BatchAccountResource account in subscription.GetBatchAccountsAsync()) { Console.WriteLine(account.Data.Name); }Início de sessão interativo (integrado) — pede ao utilizador que inicie sessão através do navegador do sistema. Use isto quando a sua aplicação tiver de autenticar um utilizador específico de forma interativa:
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 serviço (cliente secreto) — utilização para aplicações não acompanhadas que autenticam com um segredo de registo de aplicações:
var credential = new ClientSecretCredential( tenantId: "<tenant-id>", clientId: "<application-id>", clientSecret: "<client-secret>"); ArmClient arm = new ArmClient(credential);Identidade gerida — use quando a sua aplicação corre num recurso Azure (como uma VM, App Service ou Container App) que tenha uma identidade gerida atribuída pelo sistema ou pelo utilizador:
// 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);
A credencial armazena e atualiza os tokens de forma transparente, para que possa manter ArmClient ativos os recursos de gestão de lotes durante toda a vida útil da sua aplicação.
Passos seguintes
- Gerir contas e quotas em lote com a biblioteca cliente de gestão de lotes para .NET
- Autenticar soluções de serviço Batch com Microsoft Entra ID
- Autenticar aplicações de .NET para Azure serviços usando a biblioteca Azure Identity
- Azure. ResourceManager.Batch biblioteca cliente para .NET
- Biblioteca de cliente do Azure Identity para .NET
- Objetos principais de aplicativo e serviço no Microsoft Entra ID