Lösningsidéer
I den här artikeln beskrivs en lösningsidé. Molnarkitekten kan använda den här vägledningen för att visualisera huvudkomponenterna för en typisk implementering av den här arkitekturen. Använd den här artikeln som utgångspunkt för att utforma en välkonstruerad lösning som överensstämmer med arbetsbelastningens specifika krav.
Den här artikeln beskriver en lösning för att skapa ett robust och skalbart program i en distribuerad miljö. Lösningen använder Azure App Configuration och Azure Key Vault för att hantera och lagra appkonfigurationsinställningar, funktionsflaggor och inställningar för säker åtkomst på ett och samma ställe.
Arkitektur
Följande diagram visar hur App Configuration och Key Vault kan arbeta tillsammans för att hantera och skydda appar i utvecklings- och Azure-miljöer .
Utvecklingsmiljö
I utvecklingsmiljön använder appen en identitet via Visual Studio eller version 2.0 av Azure CLI för att logga in och skicka en autentiseringsbegäran till Microsoft Entra-ID.
Ladda ned en Visio-fil med den här arkitekturen.
Mellanlagrings- eller produktionsmiljö i Azure
Azures mellanlagrings- och produktionsmiljöer använder en hanterad identitet för inloggning och autentisering.
Ladda ned en Visio-fil med den här arkitekturen.
Dataflöde
- Programmet skickar en autentiseringsbegäran vid felsökning i Visual Studio eller autentiserar via MSI i Azure.
- Vid lyckad autentisering returnerar Microsoft Entra-ID en åtkomsttoken.
- SDK:n för appkonfiguration skickar en begäran med åtkomsttoken för att läsa appens key vault secretURI-värde för appkonfiguration för appens nyckelvalv.
- När auktoriseringen har slutförts skickar App Configuration konfigurationsvärdet.
- Med hjälp av inloggningsidentiteten skickar appen en begäran till Key Vault för att hämta programhemligheten för den secretURI som App Configuration skickade.
- Vid lyckad auktorisering returnerar Key Vault det hemliga värdet.
Komponenter
- Microsoft Entra ID är en universell plattform för att hantera och skydda identiteter.
- AppKonfiguration är ett sätt att lagra konfigurationer för alla dina Azure-appar på en universell värdbaserad plats.
- Hanterade identiteter tillhandahåller en identitet som program kan använda när de ansluter till resurser som stöder Microsoft Entra-autentisering.
- Key Vault skyddar kryptografiska nycklar och andra hemligheter som används av molnappar och tjänster.
Information om scenario
Molnbaserade program körs ofta på flera virtuella datorer eller containrar i flera regioner och använder flera externa tjänster. Det är en stor utmaning att skapa ett robust och skalbart program i en distribuerad miljö.
Genom att använda App Configuration kan du hantera och lagra alla konfigurationsinställningar för appen, funktionsflaggor och inställningar för säker åtkomst på ett och samma ställe. Appkonfiguration fungerar sömlöst med Key Vault, som lagrar lösenord, nycklar och hemligheter för säker åtkomst.
Potentiella användningsfall
Alla program kan använda App Configuration, men följande typer av program drar mest nytta av det:
- Mikrotjänster som körs på Azure Kubernetes Service (AKS) eller andra containerbaserade appar som distribueras i en eller flera regioner.
- Serverlösa appar, som inkluderar Azure Functions eller andra händelsedrivna tillståndslösa beräkningsappar.
- Appar som använder en pipeline för kontinuerlig distribution (CD).
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.
Det är bäst att använda olika nyckelvalv för varje program i varje miljö: utveckling, Azure-förproduktion och Azure-produktion. Genom att använda olika valv kan du förhindra delning av hemligheter mellan miljöer och minskar hot i händelse av ett intrång.
Om du vill använda dessa scenarier måste inloggningsidentiteten ha rollen App Configuration Data Reader i appkonfigurationsresursen och ha explicita åtkomstprinciper för att hämta hemligheterna i Key Vault.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Sowmyan Soman | Huvudarkitekt för molnlösning
Nästa steg
Läs mer om komponentteknikerna:
- Azure App Configuration
- Azure Key Vault
- Använda Key Vault-referenser för App Service och Azure Functions
- Använda hanterade identiteter för att komma åt App Configuration
- Lokal utveckling och säkerhet