Autenticar soluções de gerenciamento de lote com o Ative Directory
Os aplicativos que chamam o serviço Azure Batch Management são autenticados com a Biblioteca de Autenticação da Microsoft (ID do Microsoft Entra). O Microsoft Entra ID é o diretório multilocatário baseado em nuvem e serviço de gerenciamento de identidades da Microsoft. O próprio Azure usa a ID do Microsoft Entra para a autenticação de seus clientes, administradores de serviço e usuários organizacionais.
A biblioteca .NET do Batch Management expõe tipos para trabalhar com contas em lote, chaves de conta, aplicativos e pacotes de aplicativos. A biblioteca .NET do Batch Management é um cliente do provedor de recursos do Azure e é usada junto com o Azure Resource Manager para gerenciar esses recursos programaticamente. A ID do Microsoft Entra é necessária para autenticar solicitações feitas por meio de qualquer cliente de provedor de recursos do Azure, incluindo a biblioteca .NET de Gerenciamento de Lotes, e por meio do Gerenciador de Recursos do Azure.
Neste artigo, exploramos o uso do Microsoft Entra ID para autenticar a partir de aplicativos que usam a biblioteca .NET do Batch Management. Mostramos como usar o Microsoft Entra ID para autenticar um administrador ou coadministrador de assinatura, usando autenticação integrada. Usamos o projeto de exemplo AccountManagement , disponível no GitHub, para percorrer o uso do Microsoft Entra ID com a biblioteca .NET do Batch Management.
Para saber mais sobre como usar a biblioteca .NET do Batch Management e o exemplo AccountManagement, consulte Manage Batch accounts and quotas with the Batch Management client library for .NET.
Registe a sua candidatura com o Microsoft Entra ID
A Biblioteca de Autenticação da Microsoft (MSAL) fornece uma interface programática para o Microsoft Entra ID para uso em seus aplicativos. Para chamar o MSAL a partir do seu aplicativo, você deve registrar seu aplicativo em um locatário do Microsoft Entra. Ao registrar seu aplicativo, você fornece à ID do Microsoft Entra informações sobre seu aplicativo, incluindo um nome para ele dentro do locatário do Microsoft Entra. Em seguida, a ID do Microsoft Entra fornece uma ID de aplicativo que você usa para associar seu aplicativo à ID do Microsoft Entra em tempo de execução. Para saber mais sobre a ID do aplicativo, consulte Objetos principais de aplicativo e serviço na ID do Microsoft Entra.
Para registrar o aplicativo de exemplo AccountManagement, siga as etapas na seção Adicionando um aplicativo em Integrando aplicativos com o Microsoft Entra ID. Especifique Aplicativo Cliente Nativo para o tipo de aplicativo. O URI OAuth 2.0 padrão do setor para o URI de redirecionamento é urn:ietf:wg:oauth:2.0:oob
. No entanto, você pode especificar qualquer URI válido (como http://myaccountmanagementsample
) para o URI de redirecionamento, pois ele não precisa ser um ponto de extremidade real.
Depois de concluir o processo de registro, você verá o ID do aplicativo e o ID do objeto (entidade de serviço) listados para seu aplicativo.
Conceder à API do Azure Resource Manager acesso ao seu aplicativo
Em seguida, você precisará delegar o acesso ao seu aplicativo à API do Azure Resource Manager. O identificador do Microsoft Entra para a API do Resource Manager é a API de Gerenciamento de Serviços do Windows Azure.
Siga os passos abaixo no portal do Azure:
No painel de navegação esquerdo do portal do Azure, escolha Todos os serviços, clique em Registros de Aplicativo e clique em Adicionar.
Procure o nome da sua aplicação na lista de registos de aplicações:
Exiba a folha Configurações . Na seção Acesso à API, selecione Permissões necessárias.
Clique em Adicionar para adicionar uma nova permissão necessária.
Na etapa 1, insira a API de Gerenciamento de Serviços do Windows Azure, selecione essa API na lista de resultados e clique no botão Selecionar .
Na etapa 2, marque a caixa de seleção ao lado de Modelo de implantação clássico do Access Azure como usuários da organização e clique no botão Selecionar .
Clique no botão Concluído .
A folha Permissões Necessárias agora mostra que as permissões para seu aplicativo são concedidas às APIs do MSAL e do Gerenciador de Recursos. As permissões são concedidas à MSAL por padrão quando você registra seu aplicativo pela primeira vez com o Microsoft Entra ID.
Pontos de extremidade Microsoft Entra
Para autenticar suas soluções de gerenciamento de lotes com o Microsoft Entra ID, você precisará de dois pontos de extremidade bem conhecidos.
O ponto de extremidade comum do Microsoft Entra fornece uma interface genérica de coleta de credenciais quando um locatário específico não é fornecido, como no caso da autenticação integrada:
https://login.microsoftonline.com/common
O ponto de extremidade do Azure Resource Manager é usado para adquirir um token para autenticar solicitações para o serviço de gerenciamento de lote:
https://management.core.windows.net/
O aplicativo de exemplo AccountManagement define constantes para esses pontos de extremidade. Deixe estas constantes inalteradas:
// Azure Active Directory "common" endpoint.
private const string AuthorityUri = "https://login.microsoftonline.com/common";
// Azure Resource Manager endpoint
private const string ResourceUri = "https://management.core.windows.net/";
Referenciar o ID da sua candidatura
Seu aplicativo cliente usa a ID do aplicativo (também conhecida como ID do cliente) para acessar a ID do Microsoft Entra em tempo de execução. Depois de registrar seu aplicativo no portal do Azure, atualize seu código para usar a ID do aplicativo fornecida pela ID do Microsoft Entra para seu aplicativo registrado. No aplicativo de exemplo AccountManagement, copie sua ID de aplicativo do portal do Azure para a constante apropriada:
// Specify the unique identifier (the "Client ID") for your application. This is required so that your
// native client application (i.e. this sample) can access the Microsoft Graph API. For information
// about registering an application in Azure Active Directory, please see "Register an application with the Microsoft identity platform" here:
// https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app
private const string ClientId = "<application-id>";
Copie também o URI de redirecionamento especificado durante o processo de registro. O URI de redirecionamento especificado em seu código deve corresponder ao URI de redirecionamento que você forneceu quando registrou o aplicativo.
// The URI to which Azure AD will redirect in response to an OAuth 2.0 request. This value is
// specified by you when you register an application with AAD (see ClientId comment). It does not
// need to be a real endpoint, but must be a valid URI (e.g. https://accountmgmtsampleapp).
private const string RedirectUri = "http://myaccountmanagementsample";
Adquirir um token de autenticação do Microsoft Entra
Depois de registrar o exemplo AccountManagement no locatário do Microsoft Entra e atualizar o código-fonte de exemplo com seus valores, o exemplo está pronto para autenticar usando o Microsoft Entra ID. Quando você executa o exemplo, o MSAL tenta adquirir um token de autenticação. Nesta etapa, ele solicita suas credenciais da Microsoft:
// Obtain an access token using the "common" AAD resource. This allows the application
// to query AAD for information that lies outside the application's tenant (such as for
// querying subscription information in your Azure account).
AuthenticationContext authContext = new AuthenticationContext(AuthorityUri);
AuthenticationResult authResult = authContext.AcquireToken(ResourceUri,
ClientId,
new Uri(RedirectUri),
PromptBehavior.Auto);
Depois de fornecer suas credenciais, o aplicativo de exemplo pode continuar a emitir solicitações autenticadas para o serviço de gerenciamento de lote.
Próximos passos
- Para obter mais informações sobre como executar o aplicativo de exemplo AccountManagement, consulte Manage Batch accounts and quotas with the Batch Management client library for .NET.
- Para saber mais sobre o ID do Microsoft Entra, consulte a Documentação do Microsoft Entra.
- Exemplos detalhados mostrando como usar o MSAL estão disponíveis na biblioteca de Exemplos de Código do Azure.
- Para autenticar aplicativos de serviço em lote usando o Microsoft Entra ID, consulte Autenticar soluções de serviço em lote com o Ative Directory.