Använda hanterade identiteter för att få åtkomst till App Configuration

Microsoft Entra-hanterade identiteter förenklar hanteringen av hemligheter för ditt molnprogram. Med en hanterad identitet kan koden använda tjänstens huvudnamn som skapats för den Azure-tjänst som den körs på. Du använder en hanterad identitet i stället för en separat autentiseringsuppgift som lagras i Azure Key Vault eller en lokal anslutningssträng.

Azure App Configuration och dess .NET-, .NET Framework- och Java Spring-klientbibliotek har inbyggt stöd för hanterade identiteter. Även om du inte behöver använda den eliminerar den hanterade identiteten behovet av en åtkomsttoken som innehåller hemligheter. Koden kan endast komma åt App Configuration Store med hjälp av tjänstslutpunkten. Du kan bädda in den här URL:en direkt i koden utan att exponera någon hemlighet.

Den här artikeln visar hur du kan dra nytta av den hanterade identiteten för att få åtkomst till App Configuration. Den bygger på den webbapp som introducerades i snabbstarterna. Innan du fortsätter skapar du en ASP.NET Core-app med App Configuration först.

Den här artikeln visar hur du kan dra nytta av den hanterade identiteten för att få åtkomst till App Configuration. Den bygger på den webbapp som introducerades i snabbstarterna. Innan du fortsätter skapar du en Java Spring-app med Azure App Configuration först.

Viktigt!

Hanterad identitet kan inte användas för att autentisera program som körs lokalt. Programmet måste distribueras till en Azure-tjänst som stöder hanterad identitet. I den här artikeln används Azure App Service som exempel. Samma koncept gäller dock för alla andra Azure-tjänster som stöder hanterad identitet. Till exempel Azure Kubernetes Service, Azure Virtual Machine och Azure Container Instances. Om din arbetsbelastning finns i någon av dessa tjänster kan du också använda tjänstens stöd för hanterad identitet.

Du kan använda valfri kodredigerare för att utföra stegen i den här självstudien. Visual Studio Code är ett utmärkt alternativ på Plattformarna Windows, macOS och Linux.

I den här artikeln kan du se hur du:

  • Bevilja en hanterad identitet åtkomst till App Configuration.
  • Konfigurera din app så att den använder en hanterad identitet när du ansluter till App Configuration.

Förutsättningar

Du behöver följande för att kunna slutföra den här självstudiekursen:

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Lägga till en hanterad identitet

Om du vill konfigurera en hanterad identitet i portalen skapar du först ett program och aktiverar sedan funktionen.

  1. Få åtkomst till din App Services-resurs i Azure-portalen. Om du inte har någon befintlig App Services-resurs att använda skapar du en.

  2. Rulla ned till gruppen Inställningar i den vänstra rutan och välj Identitet.

  3. På fliken Systemtilldelat växlar du Status till och väljer Spara.

  4. När du uppmanas till det svarar du Ja för att aktivera den systemtilldelade hanterade identiteten.

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

Bevilja åtkomst till App Configuration

Följande steg beskriver hur du tilldelar rollen App Configuration Data Reader till App Service. Läs mer om att tilldela roller i Tilldela Azure-roller via Azure Portal.

  1. I Azure-portalen väljer du ditt appkonfigurationsarkiv.

  2. Välj Åtkomstkontroll (IAM) .

  3. Välj Lägg till>Lägg till rolltilldelning.

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

    Om du inte har behörighet att tilldela roller inaktiveras alternativet Lägg till rolltilldelning . Mer information finns i Inbyggda roller i Azure.

  4. På fliken Roll väljer du rollen Appkonfigurationsdataläsare och väljer sedan Nästa.

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

  5. På fliken Medlemmar väljer du Hanterad identitet och sedan Välj medlemmar.

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

  6. Välj din Azure-prenumeration. För Hanterad identitet väljer du App Service och sedan ditt App Service-namn.

    Screenshot that shows the select managed identities page.

  7. På fliken Granska + tilldela väljer du Granska + tilldela för att tilldela rollen.

Använda en hanterad identitet

  1. Lägg till en referens till Azure.Identity paketet:

    dotnet add package Azure.Identity
    
  2. Leta upp slutpunkten i appkonfigurationsarkivet. Den här URL:en visas på fliken Åtkomstnycklar för butiken i Azure-portalen.

  3. Öppna filen appsettings.json och lägg till följande skript. Ersätt <service_endpoint>, inklusive hakparenteserna, med URL:en till appkonfigurationsarkivet.

    "AppConfig": {
        "Endpoint": "<service_endpoint>"
    }
    
  4. Öppna filen Program.cs och lägg till en referens till Azure.Identity namnrymderna och Microsoft.Azure.Services.AppAuthentication :

    using Azure.Identity;
    
  5. Om du vill komma åt värden som lagras i App Configuration uppdaterar du konfigurationen Builder så att metoden AddAzureAppConfiguration() används.

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

    Kommentar

    Om du vill använda en användartilldelad hanterad identitet måste du ange clientId när du skapar ManagedIdentityCredential.

    new ManagedIdentityCredential("<your_clientId>")
    

    Som beskrivs i vanliga frågor och svar om hanterade identiteter för Azure-resurser finns det ett standardsätt för att lösa vilken hanterad identitet som används. I det här fallet tvingar Azure Identity-biblioteket dig att ange önskad identitet för att undvika eventuella körningsproblem i framtiden. Om till exempel en ny användartilldelad hanterad identitet läggs till eller om den systemtilldelade hanterade identiteten är aktiverad. Därför måste du ange clientId även om endast en användartilldelad hanterad identitet har definierats och det inte finns någon systemtilldelad hanterad identitet.

  1. Leta upp slutpunkten i appkonfigurationsarkivet. Den här URL:en visas på fliken Översikt för butiken i Azure-portalen.

  2. Öppna bootstrap.properties, ta bort egenskapen connection-string och ersätt den med slutpunkten för systemtilldelad identitet:

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

för användartilldelad identitet:

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>

Kommentar

Mer information finns i Spring Cloud Azure-autentisering.

Distribuera appen

Du måste distribuera din app till en Azure-tjänst när du använder hanterade identiteter. Hanterade identiteter kan inte användas för autentisering av lokalt aktiva appar. Om du vill distribuera .NET Core-appen som du skapade i snabbstarten Skapa en ASP.NET Core-app med App Configuration och ändrad för att använda hanterade identiteter följer du vägledningen i Publicera webbappen.

Om du använder hanterade identiteter måste du distribuera din app till en Azure-tjänst. Hanterade identiteter kan inte användas för autentisering av lokalt aktiva appar. Om du vill distribuera Spring-appen som du skapade i snabbstarten Skapa en Java Spring-app med Azure App Configuration och ändra den för att använda hanterade identiteter följer du vägledningen i Publicera webbappen.

Förutom App Service har många andra Azure-tjänster stöd för hanterade identiteter. Mer information finns i Tjänster som stöder hanterade identiteter för Azure-resurser.

Rensa resurser

Om du inte vill fortsätta använda resurserna som skapas i den här artikeln tar du bort resursgruppen som du skapade här för att undvika avgifter.

Viktigt!

Att ta bort en resursgrupp kan inte ångras. Resursgruppen och alla resurser i den tas bort permanent. Se till att du inte oavsiktligt tar bort fel resursgrupp eller resurser. Om du har skapat resurserna för den här artikeln i en resursgrupp som innehåller andra resurser som du vill behålla tar du bort varje resurs individuellt från respektive fönster i stället för att ta bort resursgruppen.

  1. Logga in på Azure-portalen och välj Resursgrupper.
  2. I rutan Filtrera efter namn anger du namnet på resursgruppen.
  3. I resultatlistan väljer du resursgruppens namn för att se en översikt.
  4. Välj Ta bort resursgrupp.
  5. Du blir ombedd att bekräfta borttagningen av resursgruppen. Ange namnet på resursgruppen för att bekräfta och välj Ta bort.

Efter en liten stund tas resursgruppen och alla dess resurser bort.

Nästa steg

I den här självstudien har du lagt till en Hanterad Azure-identitet för att effektivisera åtkomsten till App Configuration och förbättra autentiseringshanteringen för din app. Om du vill veta mer om hur du använder App Configuration fortsätter du till Azure CLI-exemplen.