Ange en krypteringsnyckel för en begäran till Blob Storage

Klienter som gör begäranden mot Azure Blob Storage kan tillhandahålla en AES-256-krypteringsnyckel för att kryptera blobben vid en skrivåtgärd. Efterföljande begäranden om att läsa eller skriva till bloben måste innehålla samma nyckel. Om du inkluderar krypteringsnyckeln på begäran får du detaljerad kontroll över krypteringsinställningarna för Blob Storage-åtgärder. Kundspecifika nycklar kan lagras i Azure Key Vault eller i ett annat nyckelarkiv.

Kryptera läs- och skrivåtgärder

När ett klientprogram tillhandahåller en krypteringsnyckel på begäran utför Azure Storage kryptering och dekryptering transparent vid läsning och skrivning av blobdata. Azure Storage skriver en SHA-256-hash av krypteringsnyckeln tillsammans med blobens innehåll. Hashen används för att verifiera att alla efterföljande åtgärder mot blobben använder samma krypteringsnyckel.

Azure Storage lagrar eller hanterar inte krypteringsnyckeln som klienten skickar med begäran. Nyckeln tas bort säkert så snart krypterings- eller dekrypteringsprocessen har slutförts.

När en klient skapar eller uppdaterar en blob med hjälp av en nyckel som tillhandahålls av kunden på begäran, måste efterföljande läs- och skrivbegäranden för den bloben också ange nyckeln. Om nyckeln inte tillhandahålls på en begäran om en blob som redan har krypterats med en kundbaserad nyckel misslyckas begäran med felkoden 409 (konflikt).

Om klientprogrammet skickar en krypteringsnyckel på begäran och lagringskontot också krypteras med hjälp av en Microsoft-hanterad nyckel eller en kundhanterad nyckel använder Azure Storage nyckeln som tillhandahålls på begäran om kryptering och dekryptering.

Om du vill skicka krypteringsnyckeln som en del av begäran måste en klient upprätta en säker anslutning till Azure Storage med HTTPS.

Varje blobögonblicksbild eller blobversion kan ha en egen krypteringsnyckel.

Objektreplikering stöds inte för blobar i källkontot som är krypterade med en kundbaserad nyckel.

Begärandehuvuden för att ange kundspecifika nycklar

För REST-anrop kan klienter använda följande rubriker för att på ett säkert sätt skicka krypteringsnyckelinformation på en begäran till Blob Storage:

Förfrågan, rubrik Description
x-ms-encryption-key Krävs för både skriv- och läsbegäranden. Ett Base64-kodat AES-256-krypteringsnyckelvärde.
x-ms-encryption-key-sha256 Krävs för både skriv- och läsbegäranden. Base64-kodad SHA256 för krypteringsnyckeln.
x-ms-encryption-algorithm Krävs för skrivbegäranden, valfritt för läsbegäranden. Anger den algoritm som ska användas vid kryptering av data med hjälp av den angivna nyckeln. Värdet för det här huvudet måste vara AES256.

Det är valfritt att ange krypteringsnycklar för begäran. Men om du anger ett av rubrikerna som anges ovan för en skrivåtgärd måste du ange alla.

Blob Storage-åtgärder som stöder kundspecifika nycklar

Följande Blob Storage-åtgärder stöder sändning av krypteringsnycklar som tillhandahålls av kunden på en begäran:

Rotera kundspecifika nycklar

Om du vill rotera en krypteringsnyckel som användes för att kryptera en blob laddar du ned blobben och laddar sedan upp den igen med den nya krypteringsnyckeln.

Viktigt!

Azure-portalen kan inte användas för att läsa från eller skriva till en container eller blob som är krypterad med en nyckel som anges i begäran.

Se till att skydda krypteringsnyckeln som du anger vid en begäran till Blob Storage i ett säkert nyckelarkiv som Azure Key Vault. Om du försöker utföra en skrivåtgärd på en container eller blob utan krypteringsnyckeln misslyckas åtgärden och du förlorar åtkomsten till objektet.

Funktionsstöd

Stöd för den här funktionen kan påverkas genom att aktivera Data Lake Storage Gen2, NFS 3.0-protokoll (Network File System) eller SSH File Transfer Protocol (SFTP). Om du har aktiverat någon av dessa funktioner kan du läsa Stöd för Blob Storage-funktioner i Azure Storage-konton för att utvärdera stödet för den här funktionen.

Nästa steg