Opcje autoryzacji dla usługi Azure Storage

Ukończone

Zanim rozszerzysz aplikację internetową obrazu diagnostycznego pacjentów w firmie, chcesz poznać wszystkie opcje bezpiecznego dostępu. Sygnatura dostępu współdzielonego (SAS) zapewnia bezpieczny sposób udzielania klientom dostępu do zasobów. Ale nie jest to jedyny sposób udzielania dostępu. W niektórych sytuacjach inne opcje mogą oferować lepsze opcje dla organizacji.

Twoja firma może wykorzystać nie tylko metodę uwierzytelniania SAS.

W tej lekcji zapoznasz się z różnymi sposobami uwierzytelniania dostępu do plików przechowywanych w usłudze Azure Storage.

Uzyskiwanie dostępu do usługi Azure Storage

Klienci uzyskują dostęp do plików przechowywanych w usłudze Azure Storage za pośrednictwem protokołu HTTP/HTTPS. Platforma Azure sprawdza każde żądanie klienta dotyczące autoryzacji w celu uzyskania dostępu do przechowywanych danych. Dostępne są cztery opcje uzyskiwania dostępu do magazynu obiektów blob:

  • Dostęp publiczny
  • Tożsamość Microsoft Entra
  • Klucz wspólny
  • Sygnatura dostępu współdzielonego (SAS)

Dostęp publiczny

Dostęp publiczny jest również nazywany anonimowym publicznym dostępem do odczytu dla kontenerów i obiektów blob.

Istnieją dwa oddzielne ustawienia wpływające na dostęp publiczny:

  • Konto magazynu. Skonfiguruj konto magazynu, aby zezwolić na dostęp publiczny, ustawiając właściwość AllowBlobPublicAccess . Po ustawieniu wartości true dane obiektów blob są dostępne dla dostępu publicznego tylko wtedy, gdy ustawienie dostępu publicznego kontenera jest również ustawione.

  • Kontener. Dostęp anonimowy można włączyć tylko wtedy, gdy dostęp anonimowy został dozwolony dla konta magazynu. Kontener ma dwa możliwe ustawienia dostępu publicznego: publiczny dostęp do odczytu dla obiektów blob lub publiczny dostęp do odczytu dla kontenera i jego obiektów blob. Dostęp anonimowy jest kontrolowany na poziomie kontenera, a nie dla pojedynczych obiektów blob. Dlatego jeśli chcesz zabezpieczyć niektóre pliki, musisz umieścić je w osobnym kontenerze, który nie zezwala na publiczny dostęp do odczytu.

Zarówno konto magazynu, jak i ustawienia kontenera są wymagane do włączenia anonimowego dostępu publicznego. Zaletą tego podejścia jest to, że nie trzeba udostępniać kluczy klientom, którzy potrzebują dostępu do plików. Nie trzeba również zarządzać sygnaturami dostępu współdzielonego.

Tożsamość Microsoft Entra

Użyj opcji Microsoft Entra, aby bezpiecznie uzyskać dostęp do usługi Azure Storage bez przechowywania poświadczeń w kodzie. Autoryzacja usługi AD przyjmuje podejście dwuetapowe. Najpierw należy uwierzytelnić podmiot zabezpieczeń, który w przypadku powodzenia zwraca token OAuth 2.0. Ten token jest następnie przekazywany do usługi Azure Storage w celu umożliwienia autoryzacji dla żądanego zasobu.

Użyj tej formy uwierzytelniania, jeśli używasz aplikacji z tożsamościami zarządzanymi lub używasz podmiotów zabezpieczeń.

Klucz wspólny

Usługa Azure Storage tworzy dwa 512-bitowe klucze dostępu dla każdego utworzonego konta magazynu. Te klucze należy udostępnić w celu udzielenia klientom dostępu do konta magazynu. Te klucze przydzielają każdemu uprawnionemu użytkownikowi dostęp na poziomie głównym do magazynu.

Zalecamy zarządzanie kluczami magazynu za pomocą usługi Azure Key Vault, ponieważ łatwe jest obracanie kluczy zgodnie z regularnym harmonogramem w celu zapewnienia bezpieczeństwa konta magazynu.

Sygnatura dostępu współdzielonego

Sygnatura dostępu współdzielonego umożliwia udzielanie szczegółowego dostępu do plików w usłudze Azure Storage, takich jak dostęp tylko do odczytu lub do odczytu i zapisu, czas wygaśnięcia, po którym sygnatura dostępu współdzielonego nie umożliwia już klientowi uzyskiwania dostępu do wybranych zasobów. Sygnatura dostępu współdzielonego to klucz, który udziela uprawnień do zasobu magazynu i powinien być chroniony w taki sam sposób jak klucz konta.

Usługa Azure Storage obsługuje trzy typy sygnatur dostępu współdzielonego:

  • Sygnatura dostępu współdzielonego delegowania użytkownika: może być używana tylko dla usługi Blob Storage i jest zabezpieczona przy użyciu poświadczeń firmy Microsoft Entra.
  • Sygnatura dostępu współdzielonego usługi: sygnatura dostępu współdzielonego usługi jest zabezpieczona przy użyciu klucza konta magazynu. Sygnatura dostępu współdzielonego usługi deleguje dostęp do zasobu w dowolnej z czterech usług Azure Storage: Blob, Queue, Table lub File.
  • Sygnatura dostępu współdzielonego konta: sygnatura dostępu współdzielonego konta konta jest zabezpieczona przy użyciu klucza konta magazynu. Sygnatura dostępu współdzielonego konta ma takie same kontrolki jak sygnatura dostępu współdzielonego usługi, ale może również kontrolować dostęp do operacji na poziomie usług, takich jak Pobieranie statystyk usługi.

Możesz utworzyć ad hoc sygnatury dostępu współdzielonego, określając wszystkie opcje, które należy kontrolować, w tym czas rozpoczęcia, czas wygaśnięcia i uprawnienia.

Jeśli planujesz utworzyć sygnaturę dostępu współdzielonego usługi, istnieje również opcja skojarzenia jej z zapisanymi zasadami dostępu. Przechowywane zasady dostępu można skojarzyć z maksymalnie pięcioma aktywnymi usługami SAS. Dostęp i wygaśnięcie można kontrolować na poziomie przechowywanych zasad dostępu. Takie podejście jest dobre, jeśli musisz mieć szczegółową kontrolę, aby zmienić wygaśnięcie lub odwołać sygnaturę dostępu współdzielonego. Jedynym sposobem odwołania lub zmiany sygnatury SAS ad-hoc jest zmiana kluczy konta magazynu.

Sprawdź swoją wiedzę

1.

Organizacja ma wewnętrzny system do udostępniania notatek i informacji o terminach wizyt pacjentów. Dostęp użytkownika można zabezpieczyć na podstawie członkostwa w grupie Microsoft Entra. Jakiego rodzaju autoryzacja obsługuje ten scenariusz najlepiej i dlaczego?

2.

Twoja publiczna, statyczna witryna internetowa przechowuje wszystkie swoje publiczne obrazy interfejsu użytkownika w magazynie obiektów blob. Witryna musi wyświetlać grafikę bez żadnej autoryzacji. Jaka jest najlepsza opcja?