Delen via


Batch Management-oplossingen verifiëren met Microsoft Entra-id

Toepassingen die de Azure Batch Management-service aanroepen, verifiëren met Microsoft Authentication Library (Microsoft Entra-id). Microsoft Entra ID is de multitenant cloudgebaseerde directory- en identiteitsbeheerservice van Microsoft. Azure zelf maakt gebruik van Microsoft Entra ID voor de verificatie van klanten, servicebeheerders en organisatiegebruikers.

De .NET-bibliotheek batchbeheer bevat typen voor het werken met Batch-accounts, accountsleutels, toepassingen en toepassingspakketten. De Batch Management .NET-bibliotheek is een Azure-resourceproviderclient en wordt samen met Azure Resource Manager gebruikt om deze resources programmatisch te beheren. Microsoft Entra-id is vereist voor het verifiëren van aanvragen die zijn gedaan via een Azure-resourceproviderclient, met inbegrip van de Batch Management .NET-bibliotheek en via Azure Resource Manager.

In dit artikel verkennen we het gebruik van Microsoft Entra ID om te verifiëren vanuit toepassingen die gebruikmaken van de Batch Management .NET-bibliotheek. We laten zien hoe u Microsoft Entra-id gebruikt om een abonnementsbeheerder of medebeheerder te verifiëren met behulp van geïntegreerde verificatie. We gebruiken het voorbeeldproject AccountManagement , dat beschikbaar is op GitHub, om de Microsoft Entra-id te gebruiken met de Batch Management .NET-bibliotheek.

Zie Batch-accounts en -quota beheren met de Batch Management-clientbibliotheek voor .NET voor meer informatie over het gebruik van de .NET-bibliotheek voor Batch Management en het accountmanagementvoorbeeld.

Uw toepassing registreren bij Microsoft Entra-id

De Microsoft Authentication Library (MSAL) biedt een programmatische interface voor Microsoft Entra ID voor gebruik in uw toepassingen. Als u MSAL wilt aanroepen vanuit uw toepassing, moet u uw toepassing registreren in een Microsoft Entra-tenant. Wanneer u uw toepassing registreert, geeft u Microsoft Entra-id op met informatie over uw toepassing, inclusief een naam voor de toepassing in de Microsoft Entra-tenant. Microsoft Entra-id biedt vervolgens een toepassings-id die u gebruikt om uw toepassing tijdens runtime te koppelen aan Microsoft Entra-id. Zie Toepassings- en service-principalobjecten in Microsoft Entra-id voor meer informatie over de toepassings-id.

Als u de voorbeeldtoepassing AccountManagement wilt registreren, volgt u de stappen in de sectie Een toepassing toevoegen in Het integreren van toepassingen met Microsoft Entra-id. Geef systeemeigen clienttoepassing op voor het type toepassing. De industriestandaard OAuth 2.0-URI voor de omleidings-URI is urn:ietf:wg:oauth:2.0:oob. U kunt echter elke geldige URI (zoals http://myaccountmanagementsample) opgeven voor de omleidings-URI, omdat het geen echt eindpunt hoeft te zijn.

Een toepassing toevoegen

Zodra u het registratieproces hebt voltooid, ziet u de toepassings-id en de object-id (service-principal) die voor uw toepassing worden vermeld.

Voltooid registratieproces

De Azure Resource Manager-API toegang verlenen tot uw toepassing

Vervolgens moet u de toegang tot uw toepassing delegeren naar de Azure Resource Manager-API. De Microsoft Entra-id voor de Resource Manager-API is Windows Azure Service Management-API.

Volg deze stappen in Azure Portal:

  1. Kies in het linkernavigatiedeelvenster van Azure Portal alle services, klik op App-registraties en klik op Toevoegen.

  2. Zoek de naam van uw toepassing in de lijst met app-registraties:

    Zoek naar de naam van uw toepassing

  3. De blade Instellingen weergeven. Selecteer Vereiste machtigingen in de sectie API-toegang.

  4. Klik op Toevoegen om een nieuwe vereiste machtiging toe te voegen.

  5. Voer in stap 1 De Windows Azure Service Management-API in, selecteer die API in de lijst met resultaten en klik op de knop Selecteren.

  6. Schakel in stap 2 het selectievakje in naast het klassieke Azure-implementatiemodel als organisatiegebruikers en klik op de knop Selecteren .

  7. Klik op de knop Gereed .

Op de blade Vereiste machtigingen ziet u nu dat machtigingen voor uw toepassing worden verleend aan zowel de MSAL- als Resource Manager-API's. Machtigingen worden standaard aan MSAL verleend wanneer u uw app voor het eerst registreert bij Microsoft Entra-id.

Machtigingen delegeren voor de Azure Resource Manager-API

Microsoft Entra-eindpunten

Als u uw Batch Management-oplossingen wilt verifiëren met Microsoft Entra ID, hebt u twee bekende eindpunten nodig.

  • Het algemene Microsoft Entra-eindpunt biedt een algemene interface voor het verzamelen van referenties wanneer er geen specifieke tenant wordt opgegeven, zoals in het geval van geïntegreerde verificatie:

    https://login.microsoftonline.com/common

  • Het Azure Resource Manager-eindpunt wordt gebruikt om een token te verkrijgen voor het verifiëren van aanvragen bij de Batch-beheerservice:

    https://management.core.windows.net/

De voorbeeldtoepassing AccountManagement definieert constanten voor deze eindpunten. Laat deze constanten ongewijzigd:

// 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/";

Naslaginformatie over uw toepassings-id

Uw clienttoepassing gebruikt de toepassings-id (ook wel de client-id genoemd) voor toegang tot Microsoft Entra ID tijdens runtime. Nadat u uw toepassing hebt geregistreerd in Azure Portal, werkt u uw code bij om de toepassings-id te gebruiken die is opgegeven door Microsoft Entra ID voor uw geregistreerde toepassing. Kopieer in de voorbeeldtoepassing AccountManagement de toepassings-id van Azure Portal naar de juiste constante:

// 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>";

Kopieer ook de omleidings-URI die u tijdens het registratieproces hebt opgegeven. De omleidings-URI die in uw code is opgegeven, moet overeenkomen met de omleidings-URI die u hebt opgegeven toen u de toepassing registreerde.

// 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";

Een Microsoft Entra-verificatietoken verkrijgen

Nadat u het AccountManagement-voorbeeld hebt geregistreerd in de Microsoft Entra-tenant en de voorbeeldbroncode hebt bijgewerkt met uw waarden, is het voorbeeld gereed voor verificatie met behulp van Microsoft Entra-id. Wanneer u het voorbeeld uitvoert, probeert de MSAL een verificatietoken te verkrijgen. In deze stap wordt u gevraagd om uw Microsoft-referenties:

// 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);

Nadat u uw referenties hebt opgegeven, kan de voorbeeldtoepassing doorgaan met het uitgeven van geverifieerde aanvragen aan de Batch-beheerservice.

Volgende stappen