Beheerde identiteiten gebruiken om App Configuration te openen

Door Microsoft Entra beheerde identiteiten vereenvoudigen geheimenbeheer voor uw cloudtoepassing. Met een beheerde identiteit kan uw code de service-principal gebruiken die is gemaakt voor de Azure-service waarop deze wordt uitgevoerd. U gebruikt een beheerde identiteit in plaats van een afzonderlijke referentie die is opgeslagen in Azure Key Vault of een lokale verbindingsreeks.

Azure-app Configuratie en de bijbehorende .NET-, .NET Framework- en Java Spring-clientbibliotheken hebben ingebouwde ondersteuning voor beheerde identiteiten. Hoewel u deze niet hoeft te gebruiken, elimineert de beheerde identiteit de noodzaak van een toegangstoken dat geheimen bevat. Uw code heeft alleen toegang tot het App Configuration-archief met behulp van het service-eindpunt. U kunt deze URL rechtstreeks insluiten in uw code zonder dat er een geheim wordt weergegeven.

In dit artikel wordt beschreven hoe u kunt profiteren van de beheerde identiteit voor toegang tot App Configuration. Dit is gebaseerd op de web-app die is geïntroduceerd in de quickstarts. Voordat u doorgaat, maakt u eerst een ASP.NET Core-app met App Configuration .

In dit artikel wordt beschreven hoe u kunt profiteren van de beheerde identiteit voor toegang tot App Configuration. Dit is gebaseerd op de web-app die is geïntroduceerd in de quickstarts. Voordat u doorgaat, maakt u eerst een Java Spring-app met Azure-app-configuratie.

Belangrijk

Beheerde identiteit kan niet worden gebruikt om lokaal actieve toepassingen te verifiëren. Uw toepassing moet worden geïmplementeerd in een Azure-service die beheerde identiteit ondersteunt. In dit artikel wordt Azure-app Service als voorbeeld gebruikt. Hetzelfde concept is echter van toepassing op elke andere Azure-service die beheerde identiteit ondersteunt. Bijvoorbeeld Azure Kubernetes Service, Azure Virtual Machine en Azure Container Instances. Als uw workload wordt gehost in een van deze services, kunt u ook gebruikmaken van de ondersteuning voor beheerde identiteiten van de service.

U kunt elke code-editor gebruiken om de stappen in deze zelfstudie uit te voeren. Visual Studio Code is een uitstekende optie die beschikbaar is op de Windows-, macOS- en Linux-platforms.

In dit artikel leert u het volgende:

  • Een beheerde identiteit toegang verlenen tot App Configuration.
  • Configureer uw app voor het gebruik van een beheerde identiteit wanneer u verbinding maakt met App Configuration.

Vereisten

U hebt het volgende nodig om deze zelfstudie te voltooien:

Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.

Een beheerde identiteit toevoegen

Als u een beheerde identiteit in de portal wilt instellen, maakt u eerst een toepassing en schakelt u vervolgens de functie in.

  1. Open uw App Services-resource in Azure Portal. Als u geen bestaande App Services-resource hebt die u wilt gebruiken, maakt u er een.

  2. Schuif omlaag naar de groep Instellingen in het linkerdeelvenster en selecteer Identiteit.

  3. Schakel op het tabblad Systeem toegewezen status over naar Aan en selecteer Opslaan.

  4. Als u hierom wordt gevraagd, antwoordt u Ja om de door het systeem toegewezen beheerde identiteit in te schakelen.

    Screenshot of how to add a managed identity in App Service.

Verleen toegang tot de App-configuratie

In de volgende stappen wordt beschreven hoe u de rol App Configuration Data Reader toewijst aan App Service. Raadpleeg Azure-rollen toewijzen met Azure Portal voor informatie over het toewijzen van rollen.

  1. Selecteer uw App Configuration-archief in Azure Portal.

  2. Klik op Toegangsbeheer (IAM) .

  3. Selecteer Toevoegen>Roltoewijzing toevoegen.

    Screenshot that shows the Access control (IAM) page with Add role assignment menu open.

    Als u niet gemachtigd bent om rollen toe te wijzen, wordt de optie Roltoewijzing toevoegen uitgeschakeld. Zie Ingebouwde rollen in Azure voor meer informatie.

  4. Selecteer op het tabblad Rol de rol App Configuration Data Reader en selecteer vervolgens Volgende.

    Screenshot that shows the Add role assignment page with Role tab selected.

  5. Selecteer op het tabblad Leden beheerde identiteit en selecteer vervolgens Leden selecteren.

    Screenshot that shows the Add role assignment page with Members tab selected.

  6. Selecteer uw Azure-abonnement, selecteer App Service voor beheerde identiteit en selecteer vervolgens uw App Service-naam.

    Screenshot that shows the select managed identities page.

  7. Selecteer op het tabblad Beoordelen en toewijzen de optie Beoordelen en toewijzen om de rol toe te wijzen.

Een beheerde identiteit gebruiken

  1. Voeg een verwijzing toe naar het Azure.Identity pakket:

    dotnet add package Azure.Identity
    
  2. Zoek het eindpunt naar uw App Configuration-archief. Deze URL wordt weergegeven op het tabblad Toegangssleutels voor het archief in Azure Portal.

  3. Open het bestand appsettings.json en voeg het volgende script toe. Vervang <service_endpoint>, inclusief de vierkante haken, door de URL naar uw App Configuration-archief.

    "AppConfig": {
        "Endpoint": "<service_endpoint>"
    }
    
  4. Open het Program.cs-bestand en voeg een verwijzing toe naar de Azure.Identity en Microsoft.Azure.Services.AppAuthentication naamruimten:

    using Azure.Identity;
    
  5. Werk de Builder configuratie bij om toegang te krijgen tot waarden die zijn opgeslagen in App Configuration om de AddAzureAppConfiguration() methode te gebruiken.

    var builder = WebApplication.CreateBuilder(args);
    
    builder.Configuration.AddAzureAppConfiguration(options =>
        options.Connect(
            new Uri(builder.Configuration["AppConfig:Endpoint"]),
            new ManagedIdentityCredential()));
    

    Notitie

    Als u een door de gebruiker toegewezen beheerde identiteit wilt gebruiken, moet u de clientId door de gebruiker toegewezen beheerde identiteit opgeven bij het maken van managedIdentityCredential.

    new ManagedIdentityCredential("<your_clientId>")
    

    Zoals wordt uitgelegd in de veelgestelde vragen over beheerde identiteiten voor Azure-resources, is er een standaard manier om op te lossen welke beheerde identiteit wordt gebruikt. In dit geval dwingt de Azure Identity-bibliotheek u af om de gewenste identiteit op te geven om mogelijke runtimeproblemen in de toekomst te voorkomen. Als er bijvoorbeeld een nieuwe door de gebruiker toegewezen beheerde identiteit wordt toegevoegd of als de door het systeem toegewezen beheerde identiteit is ingeschakeld. U moet dus de zelfs opgeven als er slechts één door de clientId gebruiker toegewezen beheerde identiteit is gedefinieerd en er geen door het systeem toegewezen beheerde identiteit is.

  1. Zoek het eindpunt naar uw App Configuration-archief. Deze URL wordt weergegeven op het tabblad Overzicht voor de store in Azure Portal.

  2. Open bootstrap.properties, verwijder de eigenschap verbindingsreeks en vervang deze door eindpunt voor door systeem toegewezen identiteit:

spring.cloud.azure.appconfiguration.stores[0].endpoint=<service_endpoint>

voor door de gebruiker toegewezen identiteit:

spring.cloud.azure.appconfiguration.stores[0].endpoint=<service_endpoint>
spring.cloud.azure.credential.managed-identity-enabled= true
spring.cloud.azure.credential.client-id= <client_id>

Notitie

Zie Spring Cloud Azure-verificatie voor meer informatie.

Uw toepassing implementeren

U moet uw app implementeren in een Azure-service wanneer u beheerde identiteiten gebruikt. Beheerde identiteiten kunnen niet worden gebruikt voor verificatie van lokaal uitgevoerde apps. Als u de .NET Core-app wilt implementeren die u hebt gemaakt in de quickstart Een ASP.NET Core-app maken met App Configuration en gewijzigd voor het gebruik van beheerde identiteiten, volgt u de richtlijnen in Uw web-app publiceren.

Als u beheerde identiteiten gebruikt, moet u uw app implementeren in een Azure-service. Beheerde identiteiten kunnen niet worden gebruikt voor verificatie van lokaal uitgevoerde apps. Als u de Spring-app wilt implementeren die u hebt gemaakt in de Java Spring-app maken met Azure-app Configuratie-quickstart en gewijzigd voor het gebruik van beheerde identiteiten, volgt u de richtlijnen in Uw web-app publiceren.

Naast App Service ondersteunen veel andere Azure-services beheerde identiteiten. Zie Services die beheerde identiteiten voor Azure-resources ondersteunen voor meer informatie.

Resources opschonen

Als u de resources die in dit artikel zijn gemaakt niet wilt blijven gebruiken, verwijdert u de resourcegroep die u hier hebt gemaakt om kosten te voorkomen.

Belangrijk

Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. De resourcegroep en alle resources daarin worden permanent verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of resources verwijdert. Als u de resources voor dit artikel in een resourcegroep hebt gemaakt die andere resources bevat die u wilt behouden, moet u elke resource afzonderlijk verwijderen uit het deelvenster in plaats van dat u de resourcegroep verwijdert.

  1. Meld u aan bij de Azure-portal en selecteer Resourcegroepen.
  2. Voer de naam van de resourcegroep in het vak Filteren op naam in.
  3. Selecteer in de resultatenlijst de resourcegroepnaam om een overzicht te bekijken.
  4. Selecteer Resourcegroep verwijderen.
  5. U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Voer de naam van de resourcegroep in ter bevestiging en selecteer Verwijderen.

Na enkele ogenblikken worden de resourcegroep en alle bijbehorende resources verwijderd.

Volgende stappen

In deze zelfstudie hebt u een door Azure beheerde identiteit toegevoegd om de toegang tot App Configuration te stroomlijnen en referentiebeheer voor uw app te verbeteren. Voor meer informatie over het gebruik van App Configuration gaat u verder naar de Azure CLI-voorbeelden.