Najlepsze rozwiązania dotyczące zabezpieczania aplikacji internetowych i mobilnych PaaS przy użyciu usługi Azure Storage
W tym artykule omówiono kolekcję najlepszych rozwiązań w zakresie zabezpieczeń usługi Azure Storage dotyczących zabezpieczania aplikacji internetowych i mobilnych typu "platforma jako usługa" (PaaS). Te najlepsze rozwiązania są oparte na naszym doświadczeniu z platformą Azure i doświadczeniach klientów, takich jak ty.
Platforma Azure umożliwia wdrażanie i używanie magazynu w sposób niemożliwy do osiągnięcia lokalnie. Dzięki usłudze Azure Storage można osiągnąć wysoki poziom skalowalności i dostępności przy stosunkowo niewielkim nakładzie pracy. Nie tylko usługa Azure Storage stanowi podstawę dla maszyn wirtualnych platformy Azure z systemami Windows i Linux, a także może obsługiwać duże aplikacje rozproszone.
Usługa Azure Storage oferuje następujące cztery usługi: Blob Storage, Table Storage, Queue Storage i File Storage. Aby dowiedzieć się więcej, 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żywanie sygnatury dostępu współdzielonego zamiast klucza konta magazynu
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. Poziom nadmiarowości kluczy umożliwia uniknięcie przerw w działaniu usługi podczas rutynowej rotacji kluczy.
Klucze dostępu do magazynu są kluczami tajnymi o wysokim priorytcie i powinny być dostępne tylko dla osób odpowiedzialnych za kontrolę dostępu do magazynu. Jeśli niewłaściwi użytkownicy uzyskują dostęp do tych kluczy, będą mieć pełną kontrolę nad magazynem i mogą zastąpić, usunąć lub dodać pliki do magazynu. Obejmuje to złośliwe oprogramowanie i inne typy zawartości, które mogą potencjalnie naruszyć bezpieczeństwo organizacji lub klientów.
Nadal potrzebujesz sposobu zapewnienia dostępu do obiektów w magazynie. Aby zapewnić bardziej szczegółowy dostęp, możesz skorzystać z sygnatury dostępu współdzielonego (SAS). Sygnatura dostępu współdzielonego umożliwia udostępnianie określonych obiektów w magazynie dla wstępnie zdefiniowanego interwału czasowego 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 sygnaturę dostępu współdzielonego. 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. Można na przykład określić zakres adresów IP należących do organizacji. Zapewnia to kolejną miarę zabezpieczeń dla sygnatury dostępu współdzielonego.
- Protokół, za pośrednictwem którego usługa Azure Storage akceptuje sygnaturę dostępu współdzielonego. Tego opcjonalnego parametru można użyć, aby ograniczyć dostęp do klientów przy użyciu protokołu HTTPS.
Sygnatura dostępu współdzielonego umożliwia udostępnianie zawartości w sposób, w jaki chcesz go udostępniać bez podawania kluczy konta magazynu. Zawsze używanie sygnatury dostępu współdzielonego w aplikacji to bezpieczny sposób udostępniania zasobów magazynu bez naruszania kluczy konta magazynu.
Aby dowiedzieć się więcej na temat sygnatur dostępu współdzielonego, zobacz Korzystanie z sygnatur dostępu współdzielonego.
Kontrola dostępu oparta na rolach platformy Azure
Innym sposobem zarządzania dostępem jest użycie kontroli dostępu opartej na rolach (RBAC) platformy Azure. Dzięki kontroli dostępu opartej na rolach na platformie Azure koncentrujesz się na zapewnianiu pracownikom dokładnych wymaganych uprawnień w oparciu o potrzebę znajomości i najniższych uprawnień zabezpieczeń. Zbyt wiele uprawnień może uwidocznić konto osobom atakującym. Zbyt mało uprawnień oznacza, że pracownicy nie mogą wydajnie wykonywać swojej pracy. Kontrola dostępu oparta na rolach platformy Azure 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 magazynu dla operatorów chmury, którzy muszą zarządzać kontami magazynu i rolą Współautor klasycznego konta magazynu, aby zarządzać klasycznymi kontami magazynu. W przypadku operatorów chmury, którzy muszą zarządzać maszynami wirtualnymi, ale nie z siecią wirtualną lub kontem magazynu, z którym są połączone, możesz dodać je do roli Współautor maszyny wirtualnej.
Organizacje, które nie wymuszają kontroli dostępu do danych przy użyciu funkcji, takich jak kontrola dostępu oparta na rolach platformy Azure, mogą mieć więcej uprawnień niż jest to konieczne dla użytkowników. 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 dowiedzieć się więcej na temat kontroli dostępu opartej na rolach platformy Azure, zobacz:
- Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal
- Role wbudowane platformy Azure
- Zalecenia dotyczące zabezpieczeń usługi Blob Storage
Używanie szyfrowania 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. Wykorzystuje technikę koperty, w której biblioteka klienta usługi Azure Storage generuje klucz szyfrowania zawartości (CEK), który jest następnie opakowany (zaszyfrowany) przy użyciu klucza szyfrowania klucza (KEK). Klucz KEK jest identyfikowany przez identyfikator klucza i może być parą kluczy asymetrycznych lub kluczem symetrycznym i może być zarządzany lokalnie lub przechowywany w usłudze Azure Key Vault.
Szyfrowanie po stronie klienta jest wbudowane w język Java i biblioteki klienta magazynu .NET. Zobacz Szyfrowanie po stronie klienta i usługa Azure Key Vault dla usługi Microsoft Azure Storage , aby uzyskać informacje na temat szyfrowania danych w aplikacjach klienckich oraz generowania własnych kluczy szyfrowania i zarządzania nimi.
Włączanie szyfrowania usługi Storage dla danych magazynowanych
Po włączeniu szyfrowania usługi Storage dla magazynu plików dane są szyfrowane automatycznie przy użyciu szyfrowania AES-256. Firma Microsoft obsługuje wszystkie operacje szyfrowania, odszyfrowywania i zarządzania kluczami. Ta funkcja jest dostępna dla typów nadmiarowości 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: