Udostępnij za pośrednictwem


Autoryzacja dostępu do danych w usłudze Azure Storage

Za każdym razem, gdy uzyskujesz dostęp do danych na koncie magazynu, aplikacja kliencka wysyła żądanie za pośrednictwem protokołu HTTP/HTTPS do usługi Azure Storage. Domyślnie każdy zasób w usłudze Azure Storage jest zabezpieczony, a każde żądanie do bezpiecznego zasobu musi być autoryzowane. Autoryzacja gwarantuje, że aplikacja kliencka ma odpowiednie uprawnienia dostępu do określonego zasobu na koncie magazynu.

Ważne

Aby uzyskać optymalne zabezpieczenia, firma Microsoft zaleca używanie identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi w celu autoryzowania żądań względem danych obiektów blob, kolejek i tabel, jeśli to możliwe. Autoryzacja przy użyciu identyfikatora Entra firmy Microsoft i tożsamości zarządzanych zapewnia doskonałe zabezpieczenia i łatwość użycia w przypadku autoryzacji klucza współdzielonego. Aby dowiedzieć się więcej o tożsamościach zarządzanych, zobacz Co to są tożsamości zarządzane dla zasobów platformy Azure. Aby zapoznać się z przykładem włączania i używania tożsamości zarządzanej dla aplikacji platformy .NET, zobacz Authenticating Azure-hosted apps to Azure resources with .NET (Uwierzytelnianie aplikacji hostowanych na platformie Azure w zasobach platformy Azure przy użyciu platformy .NET).

W przypadku zasobów hostowanych poza platformą Azure, takich jak aplikacje lokalne, można używać tożsamości zarządzanych za pośrednictwem usługi Azure Arc. Na przykład aplikacje uruchomione na serwerach z obsługą usługi Azure Arc mogą używać tożsamości zarządzanych do łączenia się z usługami platformy Azure. Aby dowiedzieć się więcej, zobacz Uwierzytelnianie w odniesieniu do zasobów platformy Azure za pomocą serwerów z obsługą usługi Azure Arc.

W przypadku scenariuszy, w których są używane sygnatury dostępu współdzielonego (SAS), firma Microsoft zaleca używanie sygnatury dostępu współdzielonego delegowania użytkowników. Sygnatura dostępu współdzielonego delegowania użytkownika jest zabezpieczona przy użyciu poświadczeń usługi Microsoft Entra zamiast klucza konta. Aby dowiedzieć się więcej o sygnaturach dostępu współdzielonego, zobacz Udzielanie ograniczonego dostępu do danych za pomocą sygnatur dostępu współdzielonego. Aby zapoznać się z przykładem tworzenia i używania sygnatury dostępu współdzielonego delegowania użytkownika za pomocą platformy .NET, zobacz Tworzenie sygnatury dostępu współdzielonego delegowania użytkownika dla obiektu blob za pomocą platformy .NET.

Autoryzacja dla operacji na danych

W poniższej sekcji opisano obsługę autoryzacji i zalecenia dotyczące każdej usługi Azure Storage.

Poniższa tabela zawiera informacje o obsługiwanych opcjach autoryzacji dla obiektów blob:

Opcja autoryzacji Wskazówki Zalecenie
Microsoft Entra ID Autoryzowanie dostępu do danych usługi Azure Storage przy użyciu identyfikatora Entra firmy Microsoft Firma Microsoft zaleca używanie identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi w celu autoryzowania żądań do zasobów obiektów blob.
Klucz współużytkowany (klucz konta magazynu) Autoryzacja przy użyciu klucza wspólnego Firma Microsoft zaleca, aby nie zezwalać na autoryzację klucza współużytkowanego dla kont magazynu.
Sygnatura dostępu współdzielonego (SAS) Używanie sygnatury dostępu współdzielonego (SAS) Jeśli autoryzacja sygnatury dostępu współdzielonego jest niezbędna, firma Microsoft zaleca używanie sygnatury dostępu współdzielonego delegowania użytkowników w celu uzyskania ograniczonego dostępu delegowanego do zasobów obiektów blob.
Anonimowy dostęp do odczytu Omówienie: Korygowanie anonimowego dostępu do odczytu dla danych obiektów blob Firma Microsoft zaleca wyłączenie dostępu anonimowego dla wszystkich kont magazynu.
Użytkownicy lokalni magazynu Obsługiwane tylko w przypadku protokołu SFTP. Aby dowiedzieć się więcej, zobacz Autoryzowanie dostępu do usługi Blob Storage dla klienta SFTP Zobacz wskazówki dotyczące opcji.

W poniższej sekcji krótko opisano opcje autoryzacji dla usługi Azure Storage:

  • Autoryzacja klucza współdzielonego: dotyczy obiektów blob, plików, kolejek i tabel. Klient korzystający z klucza współużytkowanego przekazuje nagłówek z każdym żądaniem podpisanym przy użyciu klucza dostępu do konta magazynu. Aby uzyskać więcej informacji, zobacz Autoryzowanie za pomocą klucza wspólnego.

    Należy zachować ostrożność przy użyciu klucza dostępu do konta magazynu. Każdy, kto ma klucz dostępu, może autoryzować żądania względem konta magazynu i efektywnie ma dostęp do wszystkich danych. Firma Microsoft zaleca, aby nie zezwalać na autoryzację klucza wspólnego dla konta magazynu. Gdy autoryzacja klucza współdzielonego jest niedozwolona, klienci muszą użyć identyfikatora Entra firmy Microsoft lub sygnatury dostępu współdzielonego delegowania użytkownika, aby autoryzować żądania dotyczące danych na tym koncie magazynu. Aby uzyskać więcej informacji, zobacz Zapobieganie autoryzacji klucza współdzielonego dla konta usługi Azure Storage.

  • Sygnatury dostępu współdzielonego dla obiektów blob, plików, kolejek i tabel. Sygnatury dostępu współdzielonego (SAS) zapewniają ograniczony delegowany dostęp do zasobów na koncie magazynu za pośrednictwem podpisanego adresu URL. Podpisany adres URL określa uprawnienia przyznane zasobowi oraz interwał, w którym podpis jest prawidłowy. Sygnatura dostępu współdzielonego usługi lub sygnatura dostępu współdzielonego konta jest podpisana przy użyciu klucza konta, podczas gdy sygnatura dostępu współdzielonego delegowania użytkownika jest podpisana przy użyciu poświadczeń usługi Microsoft Entra i ma zastosowanie tylko do obiektów blob. Aby uzyskać więcej informacji, zobacz Używanie sygnatur dostępu współdzielonego (SAS) .

  • Integracja z firmą Microsoft Entra: dotyczy zasobów obiektów blob, kolejek i tabel. Firma Microsoft zaleca używanie poświadczeń entra firmy Microsoft z tożsamościami zarządzanymi w celu autoryzowania żądań do danych, gdy jest to możliwe w celu uzyskania optymalnego bezpieczeństwa i łatwości użycia. Aby uzyskać więcej informacji na temat integracji z firmą Microsoft Entra, zobacz artykuły dotyczące zasobów obiektów blob, kolejek lub tabel .

    Kontrola dostępu oparta na rolach (RBAC) platformy Azure umożliwia zarządzanie uprawnieniami podmiotu zabezpieczeń do zasobów obiektów blob, kolejek i tabel na koncie magazynu. Możesz również użyć kontroli dostępu opartej na atrybutach (ABAC) platformy Azure, aby dodać warunki do przypisań ról platformy Azure dla zasobów obiektów blob.

    Aby uzyskać więcej informacji na temat kontroli dostępu na podstawie ról, zobacz Co to jest kontrola dostępu oparta na rolach platformy Azure (Azure RBAC)?.

    Aby uzyskać więcej informacji na temat kontroli dostępu ABAC, zobacz Co to jest kontrola dostępu oparta na atrybutach platformy Azure (Azure ABAC)?. Aby dowiedzieć się więcej o stanie funkcji ABAC, zobacz Status of ABAC condition features in Azure Storage (Stan funkcji warunku ABAC w usłudze Azure Storage).

  • Uwierzytelnianie usług Microsoft Entra Domain Services: dotyczy usługi Azure Files. Usługa Azure Files obsługuje autoryzację opartą na tożsamościach za pośrednictwem protokołu SMB (Server Message Block) za pośrednictwem usług Microsoft Entra Domain Services. Kontrola dostępu na podstawie ról platformy Azure umożliwia szczegółową kontrolę nad dostępem klienta do zasobów usługi Azure Files na koncie magazynu. Aby uzyskać więcej informacji na temat uwierzytelniania usługi Azure Files przy użyciu usług domenowych, zobacz Omówienie opcji uwierzytelniania opartego na tożsamościach usługi Azure Files na potrzeby dostępu za pomocą protokołu SMB.

  • Lokalne uwierzytelnianie usług domena usługi Active Directory (AD DS lub lokalnych usług AD DS): dotyczy usługi Azure Files. Usługa Azure Files obsługuje autoryzację opartą na tożsamościach za pośrednictwem protokołu SMB za pośrednictwem usług AD DS. Środowisko usług AD DS może być hostowane na maszynach lokalnych lub na maszynach wirtualnych platformy Azure. Dostęp SMB do usługi Files jest obsługiwany przy użyciu poświadczeń usług AD DS z maszyn przyłączonych do domeny, lokalnych lub na platformie Azure. Możesz użyć kombinacji kontroli dostępu na poziomie udziału platformy Azure i list kontroli dostępu na poziomie systemu plików NTFS na potrzeby wymuszania uprawnień na poziomie katalogu/pliku. Aby uzyskać więcej informacji na temat uwierzytelniania usługi Azure Files przy użyciu usług domenowych, zobacz omówienie.

  • Anonimowy dostęp do odczytu: dotyczy zasobów obiektów blob. Ta opcja nie jest zalecana. Po skonfigurowaniu dostępu anonimowego klienci mogą odczytywać dane obiektów blob bez autoryzacji. Zalecamy wyłączenie dostępu anonimowego dla wszystkich kont magazynu. Aby uzyskać więcej informacji, zobacz Omówienie: korygowanie anonimowego dostępu do odczytu dla danych obiektów blob.

  • Użytkownicy lokalni magazynu: dotyczy obiektów blob z sfTP lub plikami za pomocą protokołu SMB. Użytkownicy lokalni magazynu obsługują uprawnienia na poziomie kontenera do autoryzacji. Aby uzyskać więcej informacji na temat sposobu używania protokołu SFTP (Storage Local Users) magazynu lokalnego, zobacz Connect to Azure Blob Storage by using the SSH File Transfer Protocol (SFTP) (Nawiązywanie połączenia z usługą Azure Blob Storage przy użyciu protokołu SFTP).

Ochrona kluczy dostępu

Klucze dostępu do konta magazynu zapewniają pełny dostęp do danych konta magazynu i możliwość generowania tokenów SAS. Zawsze należy zachować ostrożność, aby chronić klucze dostępu. Usługa Azure Key Vault umożliwia bezpieczne zarządzanie kluczami i obracanie ich. Dostęp do klucza współużytkowanego zapewnia użytkownikowi pełny dostęp do danych konta magazynu. Dostęp do kluczy udostępnionych powinien być starannie ograniczony i monitorowany. Używaj tokenów SAS delegowania użytkowników z ograniczonym zakresem dostępu w scenariuszach, w których nie można używać autoryzacji opartej na identyfikatorze Entra firmy Microsoft. Unikaj kodowania twardych kluczy dostępu lub zapisywania ich w dowolnym miejscu w postaci zwykłego tekstu, który jest dostępny dla innych osób. Obracanie kluczy, jeśli uważasz, że mogły zostać naruszone.

Ważne

Aby uniemożliwić użytkownikom dostęp do danych na koncie magazynu przy użyciu klucza współużytkowanego, możesz uniemożliwić autoryzację klucza współdzielonego dla konta magazynu. Najlepszym rozwiązaniem w zakresie zabezpieczeń jest szczegółowy dostęp do danych z najmniejszymi uprawnieniami wymaganymi. Autoryzacja oparta na identyfikatorze Entra firmy Microsoft korzystająca z tożsamości zarządzanych powinna być używana w scenariuszach obsługujących protokół OAuth. Protokół Kerberos lub SMTP powinien być używany dla usługi Azure Files za pośrednictwem protokołu SMB. W przypadku usługi Azure Files za pośrednictwem rest można używać tokenów SAS. Dostęp do klucza współużytkowanego powinien być wyłączony, jeśli nie jest wymagany, aby zapobiec jego nieumyślnemu użyciu. Aby uzyskać więcej informacji, zobacz Zapobieganie autoryzacji klucza współdzielonego dla konta usługi Azure Storage.

Aby chronić konto usługi Azure Storage przy użyciu zasad dostępu warunkowego firmy Microsoft Entra, musisz nie zezwalać na autoryzację klucza współdzielonego dla konta magazynu.

Jeśli wyłączono dostęp do klucza współużytkowanego i w dziennikach diagnostycznych jest widoczna autoryzacja klucza współużytkowanego, oznacza to, że zaufany dostęp jest używany do uzyskiwania dostępu do magazynu. Aby uzyskać więcej informacji, zobacz Zaufany dostęp do zasobów zarejestrowanych w dzierżawie firmy Microsoft Entra.

Następne kroki