Sdílet prostřednictvím


Ověřování řešení služby Batch Management pomocí služby Active Directory

Aplikace, které volají službu Azure Batch Management, se ověřují pomocí knihovny Microsoft Authentication Library (Microsoft Entra ID). Microsoft Entra ID je víceklientská cloudová adresářová služba a služba pro správu identit od Microsoftu. Azure sám používá Microsoft Entra ID pro ověřování svých zákazníků, správců služeb a uživatelů organizace.

Knihovna Batch Management .NET zveřejňuje typy pro práci s účty Batch, klíči účtů, aplikacemi a balíčky aplikací. Knihovna Batch Management .NET je klient poskytovatele prostředků Azure a používá se společně s Azure Resource Managerem ke správě těchto prostředků prostřednictvím kódu programu. K ověření požadavků provedených prostřednictvím libovolného klienta poskytovatele prostředků Azure, včetně knihovny .NET služby Batch Management a prostřednictvím Azure Resource Manageru, se vyžaduje ID Microsoft Entra.

V tomto článku prozkoumáme použití ID Microsoft Entra k ověřování z aplikací, které používají knihovnu Batch Management .NET. Ukážeme si, jak pomocí ID Microsoft Entra ověřit správce předplatného nebo spolusprávce pomocí integrovaného ověřování. Pomocí ukázkového projektu AccountManagement , který je k dispozici na GitHubu, si projdeme použití ID Microsoft Entra s knihovnou Batch Management .NET.

Další informace o používání knihovny Batch Management .NET a ukázky accountManagement najdete v tématu Správa účtů Batch a kvót pomocí klientské knihovny Batch Management pro .NET.

Registrace aplikace pomocí Microsoft Entra ID

Knihovna MSAL (Microsoft Authentication Library ) poskytuje programové rozhraní microsoft Entra ID pro použití v rámci vašich aplikací. Chcete-li volat MSAL z vaší aplikace, musíte aplikaci zaregistrovat v tenantovi Microsoft Entra. Při registraci aplikace zadáte ID Microsoft Entra s informacemi o vaší aplikaci, včetně názvu v rámci tenanta Microsoft Entra. Microsoft Entra ID pak poskytuje ID aplikace, které použijete k přidružení aplikace k Microsoft Entra ID za běhu. Další informace o ID aplikace najdete v tématu Objekty aplikace a instanční objekty v Microsoft Entra ID.

Pokud chcete zaregistrovat ukázkovou aplikaci AccountManagement, postupujte podle kroků v části Přidání aplikace v integraci aplikací s Microsoft Entra ID. Zadejte nativní klientskou aplikaci pro typ aplikace. Standardní identifikátor URI OAuth 2.0 pro identifikátor URI přesměrování je urn:ietf:wg:oauth:2.0:oob. Pro identifikátor URI přesměrování ale můžete zadat libovolný platný identifikátor URI (například), protože http://myaccountmanagementsamplenemusí být skutečným koncovým bodem.

Adding an application

Po dokončení procesu registrace se zobrazí ID aplikace a ID objektu (instančního objektu) uvedené pro vaši aplikaci.

Completed registration process

Udělení přístupu rozhraní API Azure Resource Manageru k vaší aplikaci

Dále budete muset delegovat přístup k aplikaci do rozhraní API Azure Resource Manageru. Identifikátor Microsoft Entra pro rozhraní API Resource Manageru je rozhraní API pro správu služeb Windows Azure.

Na webu Azure Portal postupujte podle těchto pokynů:

  1. V levém navigačním podokně webu Azure Portal zvolte Všechny služby, klikněte na Registrace aplikací a klikněte na Přidat.

  2. V seznamu registrací aplikací vyhledejte název aplikace:

    Search for your application name

  3. Zobrazení okna Nastavení V části Přístup k rozhraní API vyberte Požadovaná oprávnění.

  4. Kliknutím na Přidat přidáte nové požadované oprávnění.

  5. V kroku 1 zadejte rozhraní API pro správu služeb Windows Azure, ze seznamu výsledků vyberte toto rozhraní API a klikněte na tlačítko Vybrat .

  6. V kroku 2 zaškrtněte políčko vedle modelu nasazení Azure Classic jako uživatelé organizace a klikněte na tlačítko Vybrat .

  7. Klikněte na tlačítko Hotovo .

V okně Požadovaná oprávnění se teď zobrazují oprávnění k vaší aplikaci udělená rozhraním API MSAL i Resource Manageru. Při první registraci aplikace v Microsoft Entra ID se službě MSAL ve výchozím nastavení udělí oprávnění.

Delegate permissions to the Azure Resource Manager API

Koncové body Microsoft Entra

K ověřování řešení Batch Management pomocí ID Microsoft Entra budete potřebovat dva dobře známé koncové body.

  • Společný koncový bod Microsoft Entra poskytuje obecné rozhraní pro shromažďování přihlašovacích údajů, pokud není zadaný konkrétní tenant, jako v případě integrovaného ověřování:

    https://login.microsoftonline.com/common

  • Koncový bod Azure Resource Manageru slouží k získání tokenu pro ověřování požadavků ve službě batch management:

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

Ukázková aplikace AccountManagement definuje konstanty pro tyto koncové body. Nechte tyto konstanty beze změny:

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

Odkaz na ID aplikace

Vaše klientská aplikace používá ID aplikace (označované také jako ID klienta) pro přístup k Microsoft Entra ID za běhu. Jakmile aplikaci zaregistrujete na webu Azure Portal, aktualizujte kód tak, aby používal ID aplikace poskytnuté Id Microsoft Entra pro vaši registrovanou aplikaci. V ukázkové aplikaci AccountManagement zkopírujte ID vaší aplikace z webu Azure Portal na příslušnou konstantu:

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

Zkopírujte také identifikátor URI přesměrování, který jste zadali během procesu registrace. Identifikátor URI přesměrování zadaný v kódu musí odpovídat identifikátoru URI přesměrování, který jste zadali při registraci aplikace.

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

Získání ověřovacího tokenu Microsoft Entra

Po registraci ukázky AccountManagement v tenantovi Microsoft Entra a aktualizaci ukázkového zdrojového kódu s vašimi hodnotami je ukázka připravená k ověření pomocí Microsoft Entra ID. Při spuštění ukázky se msAL pokusí získat ověřovací token. V tomto kroku vás vyzve k zadání přihlašovacích údajů Microsoftu:

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

Po zadání přihlašovacích údajů může ukázková aplikace pokračovat v vydávání ověřených požadavků do služby pro správu služby Batch.

Další kroky