Podawanie klucza szyfrowania w żądaniu do usługi Blob Storage

Klienci wysyłający żądania do usługi Azure Blob Storage mogą udostępnić klucz szyfrowania AES-256 w celu zaszyfrowania tego obiektu blob podczas operacji zapisu. Kolejne żądania odczytu lub zapisu w obiekcie blob muszą zawierać ten sam klucz. Dołączenie klucza szyfrowania do żądania zapewnia szczegółową kontrolę nad ustawieniami szyfrowania dla operacji usługi Blob Storage. Klucze dostarczone przez klienta mogą być przechowywane w usłudze Azure Key Vault lub w innym magazynie kluczy.

Szyfrowanie operacji odczytu i zapisu

Gdy aplikacja kliencka udostępnia klucz szyfrowania w żądaniu, usługa Azure Storage wykonuje szyfrowanie i odszyfrowywanie w sposób niewidoczny podczas odczytywania i zapisywania danych obiektów blob. Usługa Azure Storage zapisuje skrót SHA-256 klucza szyfrowania wraz z zawartością obiektu blob. Skrót służy do sprawdzania, czy wszystkie kolejne operacje względem obiektu blob używają tego samego klucza szyfrowania.

Usługa Azure Storage nie przechowuje klucza szyfrowania wysyłanego przez klienta z żądaniem ani nie zarządza nim. Klucz jest bezpiecznie odrzucany zaraz po zakończeniu procesu szyfrowania lub odszyfrowywania.

Gdy klient tworzy lub aktualizuje obiekt blob przy użyciu klucza dostarczonego przez klienta w żądaniu, kolejne żądania odczytu i zapisu dla tego obiektu blob muszą również podać klucz. Jeśli klucz nie został podany w żądaniu dla obiektu blob, który został już zaszyfrowany przy użyciu klucza dostarczonego przez klienta, żądanie kończy się niepowodzeniem z kodem błędu 409 (konflikt).

Jeśli aplikacja kliencka wysyła klucz szyfrowania na żądanie, a konto magazynu jest również szyfrowane przy użyciu klucza zarządzanego przez firmę Microsoft lub klucza zarządzanego przez klienta, usługa Azure Storage używa klucza podanego na żądanie szyfrowania i odszyfrowywania.

Aby wysłać klucz szyfrowania w ramach żądania, klient musi nawiązać bezpieczne połączenie z usługą Azure Storage przy użyciu protokołu HTTPS.

Każda migawka obiektu blob lub wersja obiektu blob może mieć własny klucz szyfrowania.

Replikacja obiektów nie jest obsługiwana w przypadku obiektów blob na koncie źródłowym, które są szyfrowane przy użyciu klucza dostarczonego przez klienta.

Nagłówki żądań określania kluczy dostarczonych przez klienta

W przypadku wywołań REST klienci mogą używać następujących nagłówków do bezpiecznego przekazywania informacji o kluczu szyfrowania w żądaniu do usługi Blob Storage:

Nagłówek żądania opis
x-ms-encryption-key Wymagane zarówno dla żądań zapisu, jak i odczytu. Wartość klucza szyfrowania AES-256 zakodowana w formacie Base64.
x-ms-encryption-key-sha256 Wymagane zarówno dla żądań zapisu, jak i odczytu. Algorytm SHA256 zakodowany w formacie Base64 klucza szyfrowania.
x-ms-encryption-algorithm Wymagane w przypadku żądań zapisu, opcjonalnie dla żądań odczytu. Określa algorytm używany podczas szyfrowania danych przy użyciu danego klucza. Wartość tego nagłówka musi mieć wartość AES256.

Określanie kluczy szyfrowania w żądaniu jest opcjonalne. Jeśli jednak określisz jeden z nagłówków wymienionych powyżej dla operacji zapisu, musisz określić wszystkie z nich.

Operacje magazynu obiektów blob obsługujące klucze dostarczone przez klienta

Następujące operacje usługi Blob Storage obsługują wysyłanie kluczy szyfrowania dostarczonych przez klienta na żądanie:

Rotacja kluczy dostarczonych przez klienta

Aby obrócić klucz szyfrowania używany do szyfrowania obiektu blob, pobierz obiekt blob, a następnie załaduj go ponownie przy użyciu nowego klucza szyfrowania.

Ważne

Nie można użyć witryny Azure Portal do odczytu z kontenera lub obiektu blob zaszyfrowanego przy użyciu klucza podanego w żądaniu.

Pamiętaj o ochronie klucza szyfrowania podanego w żądaniu do usługi Blob Storage w bezpiecznym magazynie kluczy, takim jak usługa Azure Key Vault. Jeśli spróbujesz wykonać operację zapisu w kontenerze lub obiekcie blob bez klucza szyfrowania, operacja zakończy się niepowodzeniem i utracisz dostęp do obiektu.

Obsługa funkcji

Może to mieć wpływ na obsługę tej funkcji przez włączenie protokołu Data Lake Storage Gen2, sieciowego systemu plików (NFS) 3.0 lub protokołu SSH File Transfer Protocol (SFTP). Jeśli włączono dowolną z tych funkcji, zobacz Obsługa funkcji usługi Blob Storage na kontach usługi Azure Storage, aby ocenić obsługę tej funkcji.

Następne kroki