Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Microsoft Entra-ID, när det används med Azure Key Vault, ger en robust och säker metod för att autentisera program till både Azure-tjänster och plattformar från tredje part som kräver åtkomstnycklar eller autentiseringsuppgifter. Den här kombinationen eliminerar behovet av att hårdkoda hemligheter i programkod, i stället förlitar sig på hanterade identiteter, rollbaserad åtkomstkontroll (RBAC) och centraliserad hemlig hantering via Key Vault. Den här metoden effektiviserar identitetshanteringen och förbättrar säkerhetsstatusen i molnmiljöer.
Den här genomgången utforskar dessa autentiseringsmekanismer genom ett praktiskt exempel på GitHub-lagringsplatsen: github.com/Azure-Samples/python-integrated-authentication.
Exemplet visar hur ett Python-program kan:
Autentisera med Azure med defaultAzureCredential
Få åtkomst till Azure Key Vault-hemligheter utan att lagra autentiseringsuppgifter
Kommunicera säkert med andra Azure-tjänster som Azure Storage, Cosmos DB med mera
Den här artikeln är en del av en serie som innehåller en detaljerad genomgång av hur du autentiserar en Python-app med Microsoft Entra-ID, Azure Key Vault och Azure Queue Storage med hjälp av Azure Python SDK-biblioteket azure-identity .
Del 1: Bakgrund
Många Azure tjänster förlitar sig uteslutande på rollbaserad åtkomstkontroll (RBAC), men andra kräver åtkomst via hemligheter eller nycklar. Sådana tjänster omfattar Azure Storage, databaser, Foundry Tools, Key Vault och Event Hubs.
När du skapar molnprogram som interagerar med dessa tjänster kan utvecklare använda Azure-portalen, CLI eller PowerShell för att generera och konfigurera tjänstspecifika åtkomstnycklar. Dessa nycklar är knutna till vissa åtkomstprinciper för att förhindra obehörig åtkomst. Den här modellen kräver dock att ditt program hanterar nycklar explicit och autentiserar separat med varje tjänst, en process som är både omständlig och felbenägen.
Att bädda in hemligheter direkt i kod eller lagra dem på utvecklardatorer riskerar att exponera dem i:
- Källkontroll
- Osäkra lokala miljöer
- Oavsiktliga loggar eller konfigurationsexporter
Azure erbjuder två viktiga tjänster för att förbättra säkerheten och förenkla autentiseringen:
Azure Key Vault Azure Key Vault tillhandahåller ett säkert, molnbaserat arkiv för hemligheter, inklusive åtkomstnycklar, anslutningssträngar och certifikat. Genom att endast hämta hemligheter från Key Vault vid körning undviker program att exponera känsliga data i källkods- eller konfigurationsfiler.
Med Microsoft Entra-hanterade identiteter kan ditt program autentisera en gång med Microsoft Entra-ID. Därifrån kan den komma åt andra Azure-tjänster, inklusive Key Vault, utan att hantera autentiseringsuppgifter direkt.
Den här metoden ger:
- Kod utan autentiseringsuppgifter (inga hemligheter i källkontrollen)
- Sömlös integrering med Azure-tjänster
- Miljökonsekvens: samma kod körs lokalt och i molnet med minimal konfiguration
Den här genomgången visar hur du använder Microsoft Entra-hanterad identitet och Key Vault tillsammans i samma app. Genom att använda Microsoft Entra-ID och Key Vault tillsammans behöver din app aldrig autentisera sig med enskilda Azure-tjänster och kan enkelt och säkert komma åt alla nycklar som krävs för tjänster från tredje part.
Viktigt!
Den här artikeln använder den vanliga allmänna termen "nyckel" för att referera till vad som lagras som "hemligheter" i Azure Key Vault, till exempel en åtkomstnyckel för ett REST-API. Den här användningen bör inte förväxlas med Key Vaults hantering av kryptografiska nycklar, vilket är en separat funktion från Key Vaults hemligheter.
Exempelscenario för molnappar
Om du vill förstå Azures autentiseringsprocess djupare bör du tänka på följande scenario: Ett Flask-webbprogram distribueras till Azure App Service. Den exponerar en offentlig, oautentiserad API-slutpunkt som returnerar JSON-data som svar på HTTP-begäranden.
För att generera svaret anropar API:et ett API från tredje part som kräver en åtkomstnyckel. I stället för att lagra den här nyckeln i kod- eller konfigurationsfiler hämtar appen den på ett säkert sätt vid körning från Azure Key Vault med hjälp av Microsoft Entra-hanterad identitet.
Innan den returnerar sitt svar till klienten skriver appen ett meddelande till en Azure Storage-kö för asynkron bearbetning. Meddelandet kan representera en uppgift, logg eller signal, även om nedströmsbearbetningen inte är i fokus för det här scenariot.
Anmärkning
Även om offentliga API-slutpunkter vanligtvis skyddas av sina egna åtkomstnycklar eller autentiseringsmekanismer förutsätter den här genomgången att slutpunkten är öppen och oautentiserad.
Den här förenklingen hjälper till att isolera appens interna autentiseringskrav – till exempel åtkomst till Azure Key Vault och Azure Storage – från eventuella autentiseringsproblem som rör externa klienter.
Scenariot fokuserar enbart på appens beteende och visar inte eller involverar en extern anropare som autentiserar med slutpunkten.