Azure Storage-kryptering av vilande data

Azure Storage använder kryptering på tjänstsidan (SSE) för att automatiskt kryptera dina data när de sparas i molnet. Azure Storage-kryptering skyddar dina data och hjälper dig att uppfylla organisationens säkerhets- och efterlevnadsåtaganden.

Microsoft rekommenderar att du använder kryptering på tjänstsidan för att skydda dina data i de flesta scenarier. Azure Storage-klientbiblioteken för Blob Storage och Queue Storage tillhandahåller dock även kryptering på klientsidan för kunder som behöver kryptera data på klienten. Mer information finns i Kryptering på klientsidan för blobar och köer.

Om kryptering på tjänstsidan i Azure Storage

Data i Azure Storage krypteras och dekrypteras transparent med 256-bitars AES-kryptering, en av de starkaste blockkrypteringarna som är tillgängliga och är FIPS 140-2-kompatibel. Azure Storage-kryptering liknar BitLocker-kryptering i Windows.

Azure Storage-kryptering är aktiverat för alla lagringskonton, inklusive både Resource Manager och klassiska lagringskonton. Azure Storage-kryptering kan inte inaktiveras. Eftersom dina data skyddas som standard behöver du inte ändra din kod eller dina program för att dra nytta av Azure Storage-kryptering.

Data i ett lagringskonto krypteras oavsett prestandanivå (standard eller premium), åtkomstnivå (frekvent eller lågfrekvent) eller distributionsmodell (Azure Resource Manager eller klassisk). Alla blobar på arkivnivån krypteras också. Alla redundansalternativ för Azure Storage stöder kryptering, och alla data i både de primära och sekundära regionerna krypteras när geo-replikering är aktiverad. Alla Azure Storage-resurser krypteras, inklusive blobar, diskar, filer, köer och tabeller. Alla objektmetadata krypteras också. Det finns ingen extra kostnad för Azure Storage-kryptering.

Varje blockblob, tilläggsblob eller sidblob som skrevs till Azure Storage efter den 20 oktober 2017 krypteras. Blobar som skapats före det här datumet fortsätter att krypteras av en bakgrundsprocess. Om du vill framtvinga kryptering av en blob som skapades före den 20 oktober 2017 kan du skriva om bloben. Information om hur du kontrollerar krypteringsstatusen för en blob finns i Kontrollera krypteringsstatus för en blob.

Mer information om de kryptografiska moduler som ligger till grund för Azure Storage-kryptering finns i Kryptografi-API: Nästa generation.

Information om kryptering och nyckelhantering för Azure-hanterade diskar finns i Kryptering på serversidan av Azure-hanterade diskar.

Om hantering av krypteringsnycklar

Data i ett nytt lagringskonto krypteras med Microsoft-hanterade nycklar som standard. Du kan fortsätta att förlita dig på Microsoft-hanterade nycklar för kryptering av dina data, eller så kan du hantera kryptering med dina egna nycklar. Om du väljer att hantera kryptering med egna nycklar har du två alternativ. Du kan använda antingen typ av nyckelhantering eller båda:

  • Du kan ange en kundhanterad nyckel som ska användas för kryptering och dekryptering av data i Blob Storage och i Azure Files. 1,2 Kundhanterade nycklar måste lagras i Azure Key Vault eller Azure Key Vault Managed Hardware Security Model (HSM) (förhandsversion). Mer information om kundhanterade nycklar finns i Använda kundhanterade nycklar för Azure Storage-kryptering.
  • Du kan ange en kundtilldelad nyckel för Blob Storage-åtgärder . En klient som gör en läs- eller skrivbegäran mot Blob Storage kan inkludera en krypteringsnyckel i begäran om detaljerad kontroll över hur blobdata krypteras och dekrypteras. Mer information om kundspecifika nycklar finns i Ange en krypteringsnyckel på en begäran till Blob Storage.

Som standard krypteras ett lagringskonto med en nyckel som är begränsad till hela lagringskontot. Med krypteringsomfång kan du hantera kryptering med en nyckel som är begränsad till en container eller en enskild blob. Du kan använda krypteringsomfång för att skapa säkra gränser mellan data som finns i samma lagringskonto men som tillhör olika kunder. Krypteringsomfång kan använda antingen Microsoft-hanterade nycklar eller kundhanterade nycklar. Mer information om krypteringsomfång finns i Krypteringsomfång för Blob Storage.

I följande tabell jämförs viktiga hanteringsalternativ för Azure Storage-kryptering.

Nyckelhanteringsparameter Microsoft-hanterade nycklar Kundhanterade nycklar Nycklar som tillhandahålls av kunden
Krypterings-/dekrypteringsåtgärder Azure Azure Azure
Azure Storage-tjänster stöds Alla Blob Storage, Azure Files 1,2 Blob Storage
Nyckellagring Microsoft Key Store Azure Key Vault eller Key Vault HSM Kundens eget nyckelarkiv
Ansvar för nyckelrotation Microsoft Kund Kund
Nyckelkontroll Microsoft Kund Kund
Nyckelomfång Konto (standard), container eller blob Konto (standard), container eller blob Ej tillämpligt

1 Information om hur du skapar ett konto som stöder användning av kundhanterade nycklar med Queue Storage finns i Skapa ett konto som stöder kundhanterade nycklar för köer.
2 Information om hur du skapar ett konto som stöder användning av kundhanterade nycklar med Table Storage finns i Skapa ett konto som stöder kundhanterade nycklar för tabeller.

Anteckning

Microsoft-hanterade nycklar roteras korrekt enligt efterlevnadskraven. Om du har specifika krav för nyckelrotation rekommenderar Microsoft att du flyttar till kundhanterade nycklar så att du kan hantera och granska rotationen själv.

Kryptera data dubbelt med infrastrukturkryptering

Kunder som kräver höga säkerhetsnivåer för att deras data är säkra kan också aktivera 256-bitars AES-kryptering på Azure Storage-infrastrukturnivå. När infrastrukturkryptering är aktiverat krypteras data i ett lagringskonto två gånger – en gång på tjänstnivå och en gång på infrastrukturnivå – med två olika krypteringsalgoritmer och två olika nycklar. Dubbel kryptering av Azure Storage-data skyddar mot ett scenario där en av krypteringsalgoritmerna eller nycklarna kan komprometteras. I det här scenariot fortsätter det ytterligare krypteringslagret att skydda dina data.

Kryptering på tjänstnivå stöder användning av antingen Microsoft-hanterade nycklar eller kundhanterade nycklar med Azure Key Vault. Kryptering på infrastrukturnivå förlitar sig på Microsoft-hanterade nycklar och använder alltid en separat nyckel.

Mer information om hur du skapar ett lagringskonto som aktiverar infrastrukturkryptering finns i Skapa ett lagringskonto med infrastrukturkryptering aktiverat för dubbel kryptering av data.

Kryptering på klientsidan för blobar och köer

De Azure Blob Storage klientbiblioteken för .NET, Java och Python stöder kryptering av data i klientprogram innan de laddas upp till Azure Storage och dekrypterar data vid nedladdning till klienten. Klientbiblioteken för Queue Storage för .NET och Python stöder också kryptering på klientsidan.

Anteckning

Överväg att använda krypteringsfunktionerna på tjänstsidan som tillhandahålls av Azure Storage för att skydda dina data i stället för kryptering på klientsidan.

Klientbiblioteken för Blob Storage och Queue Storage använder AES för att kryptera användardata. Det finns två versioner av kryptering på klientsidan som är tillgängliga i klientbiblioteken:

Varning

Användning av kryptering på klientsidan v1 rekommenderas inte längre på grund av en säkerhetsrisk i klientbibliotekets implementering av CBC-läge. Mer information om den här säkerhetsrisken finns i Azure Storage som uppdaterar kryptering på klientsidan i SDK för att åtgärda säkerhetsrisker. Om du för närvarande använder v1 rekommenderar vi att du uppdaterar programmet så att det använder kryptering på klientsidan v2 och migrerar dina data.

Azure Table Storage SDK stöder endast kryptering på klientsidan v1. Du rekommenderas inte att använda kryptering på klientsidan med Table Storage.

I följande tabell visas vilka klientbibliotek som stöder vilka versioner av kryptering på klientsidan och innehåller riktlinjer för migrering till kryptering på klientsidan v2.

Klientbibliotek Version av kryptering på klientsidan som stöds Rekommenderad migrering Mer information
Blob Storage-klientbibliotek för .NET (version 12.13.0 och senare), Java (version 12.18.0 och senare) och Python (version 12.13.0 och senare) 2.0

1.0 (endast för bakåtkompatibilitet)
Uppdatera koden så att den använder kryptering på klientsidan v2.

Ladda ned krypterade data för att dekryptera dem och kryptera sedan om dem med kryptering på klientsidan v2.
Kryptering på klientsidan för blobar
Blob Storage-klientbibliotek för .NET (version 12.12.0 och senare), Java (version 12.17.0 och senare) och Python (version 12.12.0 och senare) 1.0 (rekommenderas inte) Uppdatera ditt program så att det använder en version av Blob Storage SDK som stöder kryptering på klientsidan v2. Mer information finns i SDK-stödmatris för kryptering på klientsidan .

Uppdatera koden så att den använder kryptering på klientsidan v2.

Ladda ned krypterade data för att dekryptera dem och kryptera sedan om dem med kryptering på klientsidan v2.
Kryptering på klientsidan för blobar
Queue Storage-klientbibliotek för .NET (version 12.11.0 och senare) och Python (version 12.4 och senare) 2.0

1.0 (endast för bakåtkompatibilitet)
Uppdatera koden så att den använder kryptering på klientsidan v2. Kryptering på klientsidan för köer
Queue Storage-klientbibliotek för .NET (version 12.10.0 och senare) och Python (version 12.3.0 och senare) 1.0 (rekommenderas inte) Uppdatera ditt program så att det använder en version av Queue Storage SDK-versionen som stöder kryptering på klientsidan v2. Se SDK-stödmatris för kryptering på klientsidan

Uppdatera koden så att den använder kryptering på klientsidan v2.
Kryptering på klientsidan för köer
Table Storage-klientbibliotek för .NET, Java och Python 1.0 (rekommenderas inte) Inte tillgängligt. Ej tillämpligt

Nästa steg