Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule omówiono zbiór najlepszych praktyk dotyczących zabezpieczania usługi Azure Storage na potrzeby aplikacji internetowych i mobilnych działających w modelu platformy jako usługi (PaaS). Microsoft opracował te najlepsze praktyki na podstawie doświadczeń z platformą Azure oraz z klientami platformy Azure.
Platforma Azure umożliwia wdrażanie i używanie magazynu w sposób niemożliwy do osiągnięcia lokalnie. Dzięki Azure Storage możesz osiągnąć wysoki poziom skalowalności i dostępności przy stosunkowo niewielkim wysiłku. Azure Storage jest podstawą Azure Virtual Machines na Windows i Linuks, a także może obsługiwać duże, rozproszone aplikacje.
Azure Storage oferuje cztery usługi: przechowywanie tablic, przechowywanie tabel, przechowywanie kolejek oraz przechowywanie plików. Aby uzyskać więcej informacji, zobacz Wprowadzenie do usługi Microsoft Azure Storage.
W tym artykule przedstawiono następujące najlepsze rozwiązania:
- Sygnatury dostępu współdzielonego (SAS)
- Kontrola dostępu na podstawie ról na platformie Azure (Azure RBAC)
- Szyfrowanie po stronie klienta dla danych o wysokiej wartości
- Szyfrowanie usługi Storage
Użyj sygnatury dostępu współdzielonego zamiast klucza konta magazynowania
Kontrola dostępu jest krytyczna. Aby ułatwić kontrolowanie dostępu do usługi Azure Storage, platforma Azure generuje dwa 512-bitowe klucze konta magazynu (SAK) podczas tworzenia konta magazynu. Ta redundancja klucza pomaga uniknąć przerw w obsłudze podczas rutynowej rotacji klucza.
Klucze dostępu do pamięci są sekretami o wysokim priorytecie i powinny być dostępne tylko dla osób odpowiedzialnych za kontrolę dostępu do pamięci masowej. Jeśli niewłaściwe osoby uzyskają dostęp do tych kluczy, zyskują pełną kontrolę nad pamięcią i mogą je wymieniać, usuwać lub dodawać do pamięci. Atakujący mogą przesyłać złośliwe oprogramowanie i inne rodzaje treści, które mogą zagrozić Twojej organizacji lub Twoim klientom.
Nadal potrzebujesz sposobu zapewnienia dostępu do obiektów w magazynie. Aby zapewnić bardziej szczegółowy dostęp, skorzystaj z sygnatury współdzielonego dostępu (SAS). SAS pozwala na udostępnianie określonych obiektów w pamięci przez określony czas i z określonymi uprawnieniami. Sygnatura dostępu współdzielonego umożliwia zdefiniowanie:
- Interwał, przez który sygnatura dostępu współdzielonego jest prawidłowy, w tym czas rozpoczęcia i czas wygaśnięcia.
- Uprawnienia przyznane przez SAS. Na przykład sygnatura dostępu współdzielonego w obiekcie blob może przyznać użytkownikowi uprawnienia do odczytu i zapisu do tego obiektu blob, ale nie usuwać uprawnień.
- Opcjonalny adres IP lub zakres adresów IP, z których usługa Azure Storage akceptuje sygnaturę dostępu współdzielonego (SAS). Można na przykład określić zakres adresów IP należących do organizacji. Ta opcja zapewnia kolejny środek bezpieczeństwa dla twojego SAS.
- Protokół, za pośrednictwem którego usługa Azure Storage akceptuje sygnaturę dostępu współdzielonego. Możesz użyć tego opcjonalnego parametru, aby ograniczyć dostęp klientom korzystającym z HTTPS.
Sygnatura dostępu współdzielonego (SAS) pozwala udzielać dostępu do zasobów w sposób, który wybierzesz, bez ujawniania kluczy dostępu do konta przechowywania. Zawsze korzystaj z SAS w aplikacji, aby bezpiecznie udostępniać zasoby magazynu bez ujawniania kluczy dostępu do konta magazynu.
Więcej informacji o podpisie współdzielonego dostępu można znaleźć w artykule Używanie podpisów współdzielonego dostępu.
Użyj kontroli dostępu opartej na rolach platformy Azure
Innym sposobem zarządzania dostępem jest użycie kontroli dostępu opartej na rolach (RBAC) platformy Azure. Dzięki Azure RBAC koncentrujesz się na zapewnianiu pracownikom dokładnych wymaganych uprawnień w oparciu o zasadę konieczności posiadania wiedzy i zasadzie najmniejszego uprzywilejowania. Zbyt wiele uprawnień może uwidocznić konto osobom atakującym. Zbyt mało uprawnień oznacza, że pracownicy nie mogą wydajnie wykonywać swojej pracy. Azure RBAC pomaga rozwiązać ten problem, oferując szczegółowe zarządzanie dostępem dla platformy Azure. Kontrola dostępu jest niezbędna dla organizacji, które chcą wymuszać zasady zabezpieczeń na potrzeby dostępu do danych.
Wbudowane role platformy Azure można użyć na platformie Azure, aby przypisać uprawnienia do użytkowników. Na przykład użyj współautora konta usługi magazynu dla operatorów chmury, którzy muszą zarządzać kontami usługi magazynu, oraz rolę Współautora klasycznego konta usługi magazynu, aby zarządzać klasycznymi kontami usługi magazynu. W przypadku operatorów chmury, którzy muszą zarządzać maszynami wirtualnymi, ale nie zarządzać siecią wirtualną ani kontem magazynu, do którego są przyłączone, możesz dodać je do roli współautora maszyn wirtualnych.
Organizacje, które nie egzekwują kontroli dostępu do danych poprzez takie możliwości jak Azure RBAC, mogą przyznawać użytkownikom więcej uprawnień niż to konieczne. Więcej uprawnień, niż to konieczne, może prowadzić do naruszenia bezpieczeństwa danych, umożliwiając niektórym użytkownikom dostęp do danych, których nie powinni mieć w pierwszej kolejności.
Aby uzyskać więcej informacji o Azure RBAC, zobacz:
- Przypisywanie ról Azure przy użyciu portalu Azure
- Role wbudowane platformy Azure
- Zalecenia dotyczące zabezpieczeń usługi Blob Storage
Wykorzystaj szyfrowanie po stronie klienta dla danych o wysokiej wartości
Szyfrowanie po stronie klienta umożliwia programowe szyfrowanie danych przesyłanych przed przekazaniem do usługi Azure Storage i programowe odszyfrowywanie danych podczas pobierania. Szyfrowanie po stronie klienta zapewnia szyfrowanie przesyłanych danych, ale także szyfrowanie danych magazynowanych. Szyfrowanie po stronie klienta to najbezpieczniejsza metoda szyfrowania danych, ale wymaga wprowadzania programowych zmian w aplikacji i umieszczania procesów zarządzania kluczami.
Szyfrowanie po stronie klienta umożliwia również wyłączną kontrolę nad kluczami szyfrowania. Możesz wygenerować własne klucze szyfrowania i zarządzać nimi. Ten proces wykorzystuje technikę kopertową, w której biblioteka kliencka usługi Azure Storage generuje klucz szyfrowania zawartości (CEK), a następnie opakowuje go (szyfruje) przy użyciu klucza szyfrującego klucz (KEK). Identyfikator klucza identyfikuje KEK. KEK może być asymetryczną parą kluczy lub kluczem symetrycznym, a możesz nim zarządzać lokalnie lub przechowywać w Azure Key Vault.
Biblioteki klienta do magazynowania oferujące szyfrowanie po stronie klienta są wbudowane w biblioteki Java i .NET. Zobacz Client-side encryption for blobs , aby uzyskać informacje o szyfrowaniu danych w aplikacjach klienckich oraz generowaniu i zarządzaniu własnymi kluczami szyfrowania.
Włącz szyfrowanie usługi przechowywania danych w spoczynku
Gdy włączysz szyfrowanie usługi przechowywania plików (Storage Service) dla przechowywania plików, Azure Storage automatycznie szyfruje dane za pomocą szyfrowania AES-256. Firma Microsoft obsługuje wszystkie operacje szyfrowania, odszyfrowywania i zarządzania kluczami. Funkcja ta jest dostępna dla typów redundancji LRS i GRS.
Następne kroki
W tym artykule przedstawiono kolekcję najlepszych rozwiązań w zakresie zabezpieczeń usługi Azure Storage dotyczących zabezpieczania aplikacji internetowych i mobilnych PaaS. Aby dowiedzieć się więcej na temat zabezpieczania wdrożeń paaS, zobacz: