Utvecklarguide för Azure Key Vault
Med Azure Key Vault kan du på ett säkert sätt komma åt känslig information inifrån dina program:
- Nycklar, hemligheter och certifikat skyddas utan att du behöver skriva koden själv, och du kan enkelt använda dem från dina program.
- Du låter kunderna äga och hantera sina egna nycklar, hemligheter och certifikat så att du kan koncentrera dig på att tillhandahålla de viktigaste programvarufunktionerna. På så sätt äger dina program inte ansvaret eller det potentiella ansvaret för dina kunders klientnycklar, hemligheter och certifikat.
- Ditt program kan använda nycklar för signering och kryptering men ändå hålla nyckelhanteringen extern från ditt program. Mer information finns i Om nycklar.
- Du kan hantera autentiseringsuppgifter som lösenord, åtkomstnycklar och SAS-token genom att lagra dem i Key Vault som hemligheter. Mer information finns i Om hemligheter.
- Hantera certifikat. Mer information finns i Om certifikat.
Allmän information om Azure Key Vault finns i Om Azure Key Vault.
Allmänt tillgängliga förhandsversioner
Med jämna mellanrum släpper vi en offentlig förhandsversion av en ny Key Vault-funktion. Prova funktioner för offentlig förhandsversion och berätta vad du tycker via azurekeyvault@microsoft.comvår e-postadress för feedback.
Skapa och hantera nyckelvalv
Precis som med andra Azure-tjänster hanteras Key Vault via Azure Resource Manager. Azure Resource Manager är Azures tjänst för distribution och hantering. Du kan använda den för att skapa, uppdatera och ta bort resurser i ditt Azure-konto.
Rollbaserad åtkomstkontroll i Azure (RBAC) styr åtkomsten till hanteringsskiktet, även kallat hanteringsplanet. Du använder hanteringsplanet i Key Vault för att skapa och hantera nyckelvalv och deras attribut, inklusive åtkomstprinciper. Du använder dataplanet för att hantera nycklar, certifikat och hemligheter.
Du kan använda den fördefinierade rollen Key Vault-deltagare för att ge hanteringsåtkomst till Key Vault.
API:er och SDK:er för hantering av nyckelvalv
Azure CLI | PowerShell | REST-API | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Referens Snabbstart |
Referens Snabbstart |
Referens | Referens Snabbstart |
Referens | Referens | Referens | Referens |
Installationspaket och källkod finns i Klientbibliotek.
Autentisera till Key Vault i kod
Key Vault använder Microsoft Entra-autentisering, vilket kräver ett Microsoft Entra-säkerhetsobjekt för att bevilja åtkomst. Ett Microsoft Entra-säkerhetsobjekt kan vara en användare, ett huvudnamn för programtjänsten, en hanterad identitet för Azure-resurser eller en grupp av någon av dessa typer.
Metodtips för autentisering
Vi rekommenderar att du använder en hanterad identitet för program som distribueras till Azure. Om du använder Azure-tjänster som inte stöder hanterade identiteter eller om program distribueras lokalt är ett huvudnamn för tjänsten med ett certifikat ett möjligt alternativ. I det scenariot ska certifikatet lagras i Key Vault och roteras ofta.
Använd tjänstens huvudnamn med en hemlighet för utvecklings- och testmiljöer. Använd ett användarhuvudnamn för lokal utveckling och Azure Cloud Shell.
Vi rekommenderar dessa säkerhetsobjekt i varje miljö:
- Produktionsmiljö: Hanterad identitet eller tjänstens huvudnamn med ett certifikat.
- Test- och utvecklingsmiljöer: Hanterad identitet, tjänstens huvudnamn med certifikat eller tjänstens huvudnamn med en hemlighet.
- Lokal utveckling: Användarens huvudnamn eller tjänstens huvudnamn med en hemlighet.
Azure Identity-klientbibliotek
Föregående autentiseringsscenarier stöds av Azure Identity-klientbiblioteket och integreras med Key Vault-SDK:er. Du kan använda Azure Identity-klientbiblioteket i miljöer och plattformar utan att ändra koden. Biblioteket hämtar automatiskt autentiseringstoken från användare som är inloggade på Azure-användare via Azure CLI, Visual Studio, Visual Studio Code och på annat sätt.
Mer information om Azure Identity-klientbiblioteket finns i:
.NET | Python | Java | JavaScript |
---|---|---|---|
Azure Identity SDK .NET | Azure Identity SDK Python | Azure Identity SDK Java | Azure Identity SDK JavaScript |
Kommentar
Vi rekommenderade appautentiseringsbibliotek för Key Vault .NET SDK version 3, men det är nu inaktuellt. Om du vill migrera till Key Vault .NET SDK version 4 följer du migreringsvägledningen för AppAuthentication till Azure.Identity.
Självstudier om hur du autentiserar till Key Vault i program finns i:
- Använda Azure Key Vault med en virtuell dator i .NET
- Använda Azure Key Vault med en virtuell dator i Python
- Använda en hanterad identitet för att ansluta Key Vault till en Azure-webbapp i .NET
Hantera nycklar, certifikat och hemligheter
Kommentar
SDK:er för .NET, Python, Java, JavaScript, PowerShell och Azure CLI ingår i key vault-funktionslanseringsprocessen via offentlig förhandsversion och allmän tillgänglighet med stöd för Key Vault-tjänstteamet. Andra SDK-klienter för Key Vault är tillgängliga, men de skapas och stöds av enskilda SDK-team via GitHub och släpps i teamschemat.
Dataplanet styr åtkomsten till nycklar, certifikat och hemligheter. Du kan använda åtkomstprinciper för lokala valv eller Azure RBAC för åtkomstkontroll via dataplanet.
API:er och SDK:er för nycklar
Azure CLI | PowerShell | REST-API | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Referens Snabbstart |
Referens Snabbstart |
Referens | Referens Snabbstart |
Referens Snabbstart |
Referens Snabbstart |
Referens Snabbstart |
Referens Snabbstart |
Andra bibliotek
Kryptografiklient för Key Vault och Managed HSM
Den här modulen tillhandahåller en kryptografiklient för Azure Key Vault Keys-klientmodulen för Go.
Kommentar
Det här projektet stöds inte av Azure SDK-teamet, men överensstämmer med kryptografiklienterna på andra språk som stöds.
Språk | Referens |
---|---|
Go | Referens |
API:er och SDK:er för certifikat
Azure CLI | PowerShell | REST-API | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Referens Snabbstart |
Referens Snabbstart |
Referens | Ej tillämpligt | Referens Snabbstart |
Referens Snabbstart |
Referens Snabbstart |
Referens Snabbstart |
API:er och SDK:er för hemligheter
Azure CLI | PowerShell | REST-API | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Referens Snabbstart |
Referens Snabbstart |
Referens | Referens Snabbstart |
Referens Snabbstart |
Referens Snabbstart |
Referens Snabbstart |
Referens Snabbstart |
Användning av hemligheter
Använd Azure Key Vault för att endast lagra hemligheter för ditt program. Exempel på hemligheter som ska lagras i Key Vault är:
- Klientprogramhemligheter
- Anslutningssträngar
- Lösenord
- Nycklar för delad åtkomst
- SSH-nycklar
All hemlig information, till exempel användarnamn och program-ID:t, kan lagras som en tagg i en hemlighet. För andra känsliga konfigurationsinställningar bör du använda Azure App Configuration.
Referenser
Installationspaket och källkod finns i Klientbibliotek.
Information om dataplanssäkerhet för Key Vault finns i Säkerhetsfunktioner i Azure Key Vault.
Använda Key Vault i program
För att dra nytta av de senaste funktionerna i Key Vault rekommenderar vi att du använder tillgängliga Key Vault-SDK:er för att använda hemligheter, certifikat och nycklar i ditt program. Key Vault SDK:er och REST API uppdateras när nya funktioner släpps för produkten och de följer metodtips och riktlinjer.
För grundläggande scenarier finns det andra bibliotek och integreringslösningar för förenklad användning, med stöd från Microsoft-partner eller communityer med öppen källkod.
För certifikat kan du använda:
- Tillägget för den virtuella Key Vault-datorn (VM), som tillhandahåller automatisk uppdatering av certifikat som lagras i ett Azure-nyckelvalv. För ytterligare information, se:
- Azure App Service-integrering, som kan importera och automatiskt uppdatera certifikat från Key Vault. Mer information finns i Importera ett certifikat från Key Vault.
För hemligheter kan du använda:
- Key Vault-hemligheter med App Service-programinställningar. Mer information finns i Använda Key Vault-referenser för App Service och Azure Functions.
- Key Vault-referenser med Azure App Configuration för att effektivisera programmets åtkomst till konfiguration och hemligheter. Mer information finns i Använda Key Vault-referenser i Azure App Configuration.
Kodexempel
Fullständiga exempel på hur du använder Key Vault med program finns i Kodexempel för Azure Key Vault.
Uppgiftsspecifik vägledning
Följande artiklar och scenarier ger uppgiftsspecifik vägledning för att arbeta med Azure Key Vault:
- För att få åtkomst till ett nyckelvalv måste klientprogrammet kunna komma åt flera slutpunkter för olika funktioner. Se Komma åt Key Vault bakom en brandvägg.
- Ett molnprogram som körs på en virtuell Azure-dator behöver ett certifikat. Hur hämtar du certifikatet till den här virtuella datorn? Se Tillägget för virtuella Key Vault-datorer för Windows - eller Key Vault-tillägget för virtuella datorer för Linux.
- Information om hur du tilldelar en åtkomstprincip med hjälp av Azure CLI, PowerShell eller Azure-portalen finns i Tilldela en key vault-åtkomstprincip.
- Vägledning om användning och livscykel för ett nyckelvalv och olika nyckelvalvsobjekt med mjuk borttagning aktiverat finns i Azure Key Vault-återställningshantering med skydd mot mjuk borttagning och rensning.
- När du behöver skicka ett säkert värde (till exempel ett lösenord) som en parameter under distributionen kan du lagra det värdet som en hemlighet i ett nyckelvalv och referera till värdet i andra Resource Manager-mallar. Se Använda Azure Key Vault för att skicka säkra parametervärden under distributionen.
Integrering med Key Vault
Följande tjänster och scenarier använder eller integrerar med Key Vault:
- Kryptering i vila tillåter kodning (kryptering) av data när de sparas. Datakrypteringsnycklar krypteras ofta med en nyckelkrypteringsnyckel i Azure Key Vault för att ytterligare begränsa åtkomsten.
- Med Azure Information Protection kan du hantera din egen klientnyckel. I stället för att Microsoft hanterar din klientnyckel (standard) kan du till exempel hantera din egen klientnyckel för att följa specifika regler som gäller för din organisation. Att hantera din egen klientnyckel kallas även BYOK (Bring Your Own Key).
- Med Azure Private Link kan du komma åt Azure-tjänster (till exempel Azure Key Vault, Azure Storage och Azure Cosmos DB) och Azure-värdbaserade kund-/partnertjänster via en privat slutpunkt i ditt virtuella nätverk.
- Med Key Vault-integrering med Azure Event Grid kan användare meddelas när statusen för en hemlighet som lagras i Key Vault har ändrats. Du kan distribuera nya versioner av hemligheter till program eller rotera hemligheter nästan förfallodatum för att förhindra avbrott.
- Skydda dina Azure DevOps-hemligheter från oönskad åtkomst i Key Vault.
- Använd hemligheter som lagras i Key Vault för att ansluta till Azure Storage från Azure Databricks.
- Konfigurera och kör Azure Key Vault-providern för CSI-drivrutinen för Secrets Store på Kubernetes.
Översikter och begrepp för Key Vault
Lär dig mer om:
- En funktion som gör det möjligt att återställa borttagna objekt, oavsett om borttagningen var oavsiktlig eller avsiktlig, finns i Översikt över mjuk borttagning av Azure Key Vault.
- De grundläggande begreppen för begränsning och få en metod för din app finns i Azure Key Vault-begränsningsvägledning.
- Relationerna mellan regioner och säkerhetsområden finns i Säkerhetsvärldar i Azure Key Vault och geografiska gränser.