Dela via


Autentisera Batch Management-lösningar med Microsoft Entra-ID

Program som anropar Azure Batch Management-tjänsten autentiseras med Microsoft Authentication Library (Microsoft Entra-ID). Microsoft Entra ID är Microsofts molnbaserade katalog- och identitetshanteringstjänst för flera klientorganisationer. Själva Azure använder Microsoft Entra-ID för autentisering av sina kunder, tjänstadministratörer och organisationsanvändare.

Batch Management .NET-biblioteket visar typer för att arbeta med Batch-konton, kontonycklar, program och programpaket. Batch Management .NET-biblioteket är en Azure-resursproviderklient och används tillsammans med Azure Resource Manager för att hantera dessa resurser programmatiskt. Microsoft Entra-ID krävs för att autentisera begäranden som görs via valfri Azure-resursproviderklient, inklusive Batch Management .NET-biblioteket och via Azure Resource Manager.

I den här artikeln utforskar vi hur du använder Microsoft Entra-ID för att autentisera från program som använder Batch Management .NET-biblioteket. Vi visar hur du använder Microsoft Entra-ID för att autentisera en prenumerationsadministratör eller medadministratör med integrerad autentisering. Vi använder exempelprojektet AccountManagement , som är tillgängligt på GitHub, för att gå igenom med hjälp av Microsoft Entra-ID med Batch Management .NET-biblioteket.

Mer information om hur du använder Batch Management .NET-biblioteket och AccountManagement-exemplet finns i Hantera Batch-konton och kvoter med Batch Management-klientbiblioteket för .NET.

Registrera ditt program med Microsoft Entra-ID

Microsoft Authentication Library (MSAL) tillhandahåller ett programmatiskt gränssnitt till Microsoft Entra-ID för användning i dina program. Om du vill anropa MSAL från ditt program måste du registrera ditt program i en Microsoft Entra-klientorganisation. När du registrerar ditt program anger du Microsoft Entra-ID med information om ditt program, inklusive ett namn för det i Microsoft Entra-klientorganisationen. Microsoft Entra-ID tillhandahåller sedan ett program-ID som du använder för att associera ditt program med Microsoft Entra-ID vid körning. Mer information om program-ID finns i Objekt för program och tjänstens huvudnamn i Microsoft Entra-ID.

Om du vill registrera exempelprogrammet AccountManagement följer du stegen i avsnittet Lägga till ett program i Integrera program med Microsoft Entra-ID. Ange internt klientprogram för programtypen. Branschstandarden OAuth 2.0 URI för omdirigerings-URI :n är urn:ietf:wg:oauth:2.0:oob. Du kan dock ange en giltig URI (till exempel http://myaccountmanagementsample) för omdirigerings-URI:n eftersom den inte behöver vara en verklig slutpunkt.

Lägga till ett program

När du har slutfört registreringsprocessen visas program-ID:t och objekt-ID:t (tjänstens huvudnamn) i listan för ditt program.

Slutförd registreringsprocess

Ge Azure Resource Manager-API:et åtkomst till ditt program

Därefter måste du delegera åtkomst till ditt program till Azure Resource Manager-API:et. Microsoft Entra-identifieraren för Resource Manager-API:et är Windows Azure Service Management API.

Följ dessa steg i Azure-portalen:

  1. I det vänstra navigeringsfönstret i Azure-portalen väljer du Alla tjänster, klickar på Appregistreringar och klickar på Lägg till.

  2. Sök efter namnet på ditt program i listan över appregistreringar:

    Sök efter ditt programnamn

  3. Visa bladet Inställningar. I avsnittet API-åtkomst väljer du Nödvändiga behörigheter.

  4. Klicka på Lägg till för att lägga till en ny behörighet som krävs.

  5. I steg 1 anger du Windows Azure Service Management API, väljer det API:et i resultatlistan och klickar på knappen Välj .

  6. I steg 2 markerar du kryssrutan bredvid Access Azure classic deployment model as organization users (Åtkomst till den klassiska distributionsmodellen i Azure som organisationsanvändare) och klickar på knappen Välj .

  7. Klicka på knappen Klar .

Bladet Nödvändiga behörigheter visar nu att behörigheter till ditt program beviljas till både MSAL- och Resource Manager-API:erna. Behörigheter beviljas msal som standard när du först registrerar din app med Microsoft Entra-ID.

Delegera behörigheter till Azure Resource Manager-API:et

Microsoft Entra-slutpunkter

För att kunna autentisera dina Batch Management-lösningar med Microsoft Entra-ID behöver du två välkända slutpunkter.

  • Den vanliga Microsoft Entra-slutpunkten tillhandahåller ett allmänt gränssnitt för insamling av autentiseringsuppgifter när en specifik klient inte tillhandahålls, som vid integrerad autentisering:

    https://login.microsoftonline.com/common

  • Azure Resource Manager-slutpunkten används för att hämta en token för autentisering av begäranden till Batch-hanteringstjänsten:

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

Exempelprogrammet AccountManagement definierar konstanter för dessa slutpunkter. Lämna konstanterna oförändrade:

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

Referera till ditt program-ID

Klientprogrammet använder program-ID :t (kallas även klient-ID) för att få åtkomst till Microsoft Entra-ID vid körning. När du har registrerat ditt program i Azure-portalen uppdaterar du koden så att den använder det program-ID som tillhandahålls av Microsoft Entra-ID:t för ditt registrerade program. I exempelprogrammet AccountManagement kopierar du ditt program-ID från Azure-portalen till rätt konstant:

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

Kopiera även den omdirigerings-URI som du angav under registreringsprocessen. Omdirigerings-URI:n som anges i koden måste matcha den omdirigerings-URI som du angav när du registrerade programmet.

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

Skaffa en Microsoft Entra-autentiseringstoken

När du har registrerat Exemplet AccountManagement i Microsoft Entra-klientorganisationen och uppdaterat källkodsexemplet med dina värden är exemplet redo att autentiseras med hjälp av Microsoft Entra-ID. När du kör exemplet försöker MSAL hämta en autentiseringstoken. I det här steget uppmanas du att ange dina Microsoft-autentiseringsuppgifter:

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

När du har angett dina autentiseringsuppgifter kan exempelprogrammet fortsätta att utfärda autentiserade begäranden till Batch-hanteringstjänsten.

Nästa steg