Delen via


Beheerde identiteiten gebruiken voor toegang tot App Configuration

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

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.

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

In dit artikel leert u het volgende:

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

Vereiste voorwaarden

U hebt het volgende nodig om deze zelfstudie te voltooien:

Als u geen Azure-account hebt, maak dan een gratis account aan 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 toegewezenstatus 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.

    Schermopname van het toevoegen van een beheerde identiteit in App Service.

Toegang verlenen tot App Configuration

In de volgende stappen wordt beschreven hoe u de rol App Configuration Data Reader toewijst aan App Service. Zie Azure-rollen toewijzen met behulp van Azure Portal voor gedetailleerde stappen.

  1. Selecteer uw App Configuration-opslag in het Azure-portaal.

  2. Klik op Toegangsbeheer (IAM) .

  3. Selecteer Toevoegen>Roltoewijzing toevoegen.

    Schermopname van de pagina Toegangsbeheer (IAM) met het menu Roltoewijzing toevoegen geopend.

    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.

    Schermopname van de pagina Roltoewijzing toevoegen met het tabblad Rol geselecteerd.

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

    Schermopname van de pagina Roltoewijzing toevoegen met het tabblad Leden geselecteerd.

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

    Schermopname van de pagina Beheerde identiteiten selecteren.

  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 voor uw App Configuration-winkel. Deze URL wordt vermeld op het tabblad Toegangssleutels voor de winkel in de Azure Portal.

  3. Open het bestandappsettings.json en voeg het volgende script toe. Vervang <service_endpoint>, inclusief de 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 naamruimte:

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

    Opmerking

    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. Dus moet u zelfs de clientId opgeven, ook als er slechts één door de gebruiker toegewezen beheerde identiteit is gedefinieerd en er geen door het systeem toegewezen beheerde identiteit is.

  1. Zoek het eindpunt voor uw App Configuration-winkel. 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>

Opmerking

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 quickstart Een Java Spring-app maken met Azure App Configuration 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 ondersteunen voor Azure-resources voor meer informatie.

De hulpbronnen 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 groep of bronnen 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 in het vak Filteren op naam de naam van uw resourcegroep 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 die u wilt bevestigen 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. Ga verder met de Azure CLI-voorbeelden voor meer informatie over het gebruik van App Configuration.