Dela via


Azure Key Vault utvecklarguide

Azure Key Vault är en molntjänst som tillhandahåller säker lagring och hantering av kryptografiska nycklar, hemligheter och certifikat. Den här guiden hjälper utvecklare att integrera Key Vault i sina program.

Översikt

Azure Key Vault gör att du kan:

  • Säker lagring: Skydda nycklar, hemligheter och certifikat utan att skriva anpassad säkerhetskod.
  • Förenklad nyckelhantering: Centralisera kryptografiska åtgärder och nyckellivscykelhantering.
  • Kundägda nycklar: Tillåt kunder att hantera sina egna nycklar medan du fokuserar på viktiga programfunktioner.
  • Hantering av externa nycklar: Använd nycklar för signering och kryptering samtidigt som de hålls externa för ditt program.

Allmän information om Azure Key Vault finns i Om Azure Key Vault.

Utvecklarscenarier

Vanliga utvecklaruppgifter med Key Vault är:

  • Lagra och hämta hemligheter: Hantera anslutningssträngar, lösenord, API-nycklar och SAS-token på ett säkert sätt. Mer information finns i Om hemligheter.
  • Använd nycklar för kryptering och signering: Utför kryptografiska åtgärder utan att exponera nyckelmaterial för ditt program. Mer information finns i Om nycklar.
  • Hantera certifikat: Automatisera etablering, förnyelse och distribution av certifikat för SSL/TLS. Mer information finns i Om certifikat.

Offentliga förhandsversioner

Microsoft släpper regelbundet offentliga förhandsversioner av nya Key Vault funktioner. Om du vill prova förhandsgranskningsfunktioner och ge feedback kontaktar du teamet på azurekeyvault@microsoft.com. Information om de senaste funktionerna och uppdateringarna finns i Vad är nytt i Azure Key Vault.

Skapa och hantera nyckelvalv

Key Vault använder en tvåplansåtkomstmodell:

Använd den fördefinierade rollen Key Vault Contributor för att ge hanteringsåtkomst till Key Vault resurser. Mer information om autentisering och auktorisering finns i Authentication i Azure Key Vault.

Nätverkssäkerhet

Minska nätverksexponeringen genom att konfigurera privata slutpunkter, brandväggar eller tjänstslutpunkter. Omfattande vägledning för nätverkssäkerhet, inklusive konfigurationsalternativ från de flesta till minst restriktiva, finns i Säkerhet din Azure Key Vault: Nätverkssäkerhet och Konfigurera Azure Key Vault nätverksinställningar.

API:er och SDK:er för hantering av nyckelvalv

I följande tabell visas SDK:er och snabbstartsguider för att hantera Key Vault-resurser (kontrollplansåtgärder). De senaste versionerna och installationsanvisningarna finns i Klientbibliotek.

Azure CLI PowerShell REST-API Resurshanterare .NET Python Java JavaScript
Referens
Snabbstart
Referens
Snabbstart
Referens Referens
Snabbstart
Referens Referens Referens Referens

Autentisera mot Key Vault i kod

Key Vault använder Microsoft Entra-autentisering, vilket kräver en Microsoft Entra-säkerhetsprincip för att bevilja åtkomst. Ett Microsoft Entra säkerhetsobjekt kan vara en användare, ett tjänstehuvudnamn för en applikation, en hanterad identitet för Azure-resurser eller en grupp av någon av dessa typer.

Metodtips för autentisering

För program som distribueras till Azure använder du hanterade identiteter för att eliminera behovet av att lagra autentiseringsuppgifter i kod. Detaljerade rekommendationer för autentisering och säkerhetsprinciper för olika miljöer (produktion, utveckling, lokal) finns i Autentisering i Azure Key Vault och Skydda din Azure Key Vault.

Azure identitetsklientbibliotek

Föregående autentiseringsscenarier stöds av klientbiblioteket Azure Identity och integreras med Key Vault SDK:er. Du kan använda klientbiblioteket Azure identitet mellan 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 andra sätt.

Mer information om klientbiblioteket för Azure Identity finns i:

.NET Python Java JavaScript
Azure Identity SDK .NET Azure Identity SDK Python Azure Identity SDK Java Azure Identity SDK JavaScript

Anmärkning

Vi rekommenderar App authentication library 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 AppAuthentication till Azure. Vägledning för identitetsmigrering.

Självstudier om hur du autentiserar mot Key Vault i applikationer finns här:

Hantera nycklar, certifikat och hemligheter

Anmärkning

SDK:er för .NET, Python, Java, JavaScript, PowerShell och Azure CLI ingår i Key Vault funktionsutgivningsprocessen via offentlig förhandsversion och allmän tillgänglighet med stöd för Key Vault serviceteam. Andra SDK-klienter för Key Vault är tillgängliga, men de skapas och stöds av enskilda SDK-team över GitHub och släpps i teamschemat. De senaste SDK-versionerna och installationspaketen finns i Klientbibliotek.

Dataplanet styr åtkomsten till nycklar, certifikat och hemligheter. Du kan använda Azure RBAC med Key Vault för åtkomstkontroll via dataplanet.

API:er och SDK:er för nycklar

I följande tabell visas SDK:er och snabbstarter för att arbeta med nycklar (dataplansåtgärder). Mer information om nycklar finns i Om nycklar.

Azure CLI PowerShell REST-API Resurshanterare .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 hanterad HSM

Den här modulen tillhandahåller en kryptografiklient för klientmodulen Azure Key Vault Keys för Go.

Anmärkning

Det här projektet stöds inte av Azure SDKs-teamet, men överensstämmer med kryptografiklienterna på andra språk som stöds.

Språk Hänvisning
Sätt igång Referens

API:er och SDK:er för certifikat

I följande tabell visas SDK:er och snabbstarter för att arbeta med certifikat (dataplansåtgärder). Mer information om certifikat finns i Om certifikat.

Azure CLI PowerShell REST-API Resurshanterare .NET Python Java JavaScript
Referens
Snabbstart
Referens
Snabbstart
Referens Inte tillgänglig Referens
Snabbstart
Referens
Snabbstart
Referens
Snabbstart
Referens
Snabbstart

API:er och SDK:er för hemligheter

I följande tabell visas SDK:er och snabbstarter för att arbeta med hemligheter (dataplansåtgärder). Mer information om hemligheter finns i Om hemligheter.

Azure CLI PowerShell REST-API Resurshanterare .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 om du bara vill lagra hemligheter för ditt program. Exempel på hemligheter som ska lagras i Key Vault är:

  • Hemligheter för klientprogram
  • Anslutningssträngar
  • Lösenord
  • Nycklar för delad åtkomst
  • SSH-nycklar

All hemlighetsrelaterad information, såsom användarnamn och program-ID:t, kan lagras som en tagg i en hemlighet. För andra inställningar för känslig konfiguration bör du använda Azure App Configuration.

Installationspaket och källkod finns i Klientbibliotek.

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. De Key Vault SDK:erna och REST-API:et 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 community med öppen källkod.

För certifikat kan du använda:

För hemligheter kan du använda:

Kodexempel

Fullständiga exempel på hur du använder Key Vault med program finns i Azure Key Vault kodexempel.

Uppgiftsspecifik vägledning

Följande artiklar och scenarier ger uppgiftsspecifik vägledning för att arbeta med Azure Key Vault:

Integrering med Key Vault

Följande tjänster och scenarier använder eller integrerar med Key Vault:

  • Kryptering i vila möjliggör att data kodas (krypteras) när det sparas. Datakrypteringsnycklar krypteras ofta med en nyckelkrypteringsnyckel i Azure Key Vault för att ytterligare begränsa åtkomsten.
  • Azure Information Protection kan du hantera din egen klientnyckel. I stället för att till exempel Microsoft hantera din klientnyckel (standard) kan du 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).
  • Azure Private Link ger dig åtkomst till Azure-tjänster (till exempel Azure Key Vault, Azure Storage och Azure Cosmos DB) och Azure-värdbaserade kund- och partnertjänster via en privat slutpunkt i ditt virtuella nätverk.
  • Key Vault integrering med Azure Event Grid låter 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 som är nära att förfalla för att förhindra avbrott.
  • Skydda dina Azure DevOps hemligheter mot 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 Secrets Store på Kubernetes.

Haveriberedskap och affärskontinuitet

Key Vault ger inbyggd haveriberedskap med automatisk regional replikering. För produktionsdistributioner aktiverar du skydd mot mjuk borttagning och rensning och implementerar regelbundna säkerhetskopior. Mer information finns i Azure Key Vault tillgänglighet och redundans, Azure Key Vault återställningshantering och Azure Key Vault säkerhetskopiering.

Prestanda och skalbarhet   

När du utvecklar program som använder Key Vault bör du överväga följande metodtips för prestanda och skalbarhet:

  • Service-gränser: Key Vault har tjänstgränser för transaktioner per valv per region. Om du överskrider dessa gränser resulterar det i begränsning. Mer information finns i Azure Key Vault tjänstbegränsningar.
  • Vägledning för strypning: Implementera återförsökslogik med exponentiell backoff för att hantera svar på strypning. För mer information, se vägledning om begränsning av Azure Key Vault.
  • Caching: Cachea hemligheter och certifikat i ditt program för att minska anrop till Key Vault och förbättra prestanda.
  • Anslutningshantering: Återanvänd HTTP-anslutningar till Key Vault när det är möjligt för att minska svarstiden och förbättra prestanda.

Övervakning och loggning

Aktivera loggning och övervakning för säkerhet, efterlevnad och felsökning. Konfigurera diagnostikinställningar, Event Grid-meddelanden och aviseringar för kritiska händelser. För detaljerad vägledning, se Monitor Azure Key Vault, loggning av Azure Key Vault, Övervaka Key Vault med Azure Event Grid och Skydda din Azure Key Vault: Loggning och hotidentifiering.

Vanliga parametrar och begärandemönster

När du arbetar med Key Vault REST API är det bra att förstå vanliga parametrar och mönster för begäran/svar:

  • API-versioner: Key Vault använder versions-API:er. Ange alltid API-versionen i dina begäranden.
  • Autentiseringsbegäranden: Förstå hur autentiseringstoken hämtas och används, inklusive vanliga begärandehuvuden och svarsformat. Mer information finns i Autentisering, begäranden och svar.
  • Felkoder: Bekanta dig med vanliga REST API-felkoder för att hantera fel på ett korrekt sätt. Mer information finns i Azure Key Vault REST API-felkoder.

Felsökning

För hjälp med att lösa vanliga problem:

Metodtips för säkerhet

Omfattande säkerhetsvägledning, inklusive identitets- och åtkomsthantering, dataskydd, efterlevnad, styrning och säkerhetskopieringsstrategier, finns i Sekure din Azure Key Vault.

Ytterligare resurser

Key Vault begrepp

Hantering och drift

Community och support

  • Microsoft Q& A – Ställ frågor och få svar från communityn.
  • Stack Overflow for Key Vault - Teknisk Q&A från utvecklare.
  • Azure Feedback – Skicka funktionsförfrågningar och feedback.