Partilhar via


Autentique soluções de gerenciamento de lote com o Microsoft Entra ID

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 ao Microsoft Entra ID 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 padrão do setor OAuth 2.0 URI 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.

Adicionando um aplicativo

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.

Processo de registo concluído

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:

  1. No painel de navegação esquerdo do portal do Azure, escolha Todos os serviços, clique em Registros de Aplicativo e clique em Adicionar.

  2. Procure o nome da sua aplicação na lista de registos de aplicações:

    Procure o nome da sua aplicação

  3. Exiba a folha Configurações . Na seção Acesso à API, selecione Permissões necessárias.

  4. Clique em Adicionar para adicionar uma nova permissão necessária.

  5. 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 .

  6. 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 .

  7. 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.

Delegar permissões à API do Azure Resource Manager

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