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 zapewnia, że aplikacja kliencka ma odpowiednie uprawnienia do uzyskania dostępu do określonego zasobu na koncie przechowywania.

Ważne

Aby uzyskać optymalne zabezpieczenia, firma Microsoft zaleca użycie Microsoft Entra ID z tożsamościami zarządzanymi do autoryzowania żądań dotyczących danych blob, kolejek i tabel, gdy tylko jest 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 używane są podpisy dostępu współdzielonego (SAS), firma Microsoft zaleca stosowanie podpisów delegacji użytkownika SAS. Delegowana sygnatura dostępu użytkownika jest zabezpieczona przy użyciu poświadczeń 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życia sygnatury dostępu użytkownika z delegacją w .NET, zobacz Tworzenie sygnatury dostępu użytkownika z delegacją dla obiektu blob w .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 SAS jest niezbędna, firma Microsoft zaleca używanie delegacji użytkownika SAS w celu uzyskania ograniczonego dostępu do zasobów obiektów blob. Autoryzacja SAS jest obsługiwana w przypadku usług Blob Storage i Data Lake Storage i może być używana do wywołań punktów końcowych blob i dfs.
Anonimowy dostęp do odczytu Omówienie: Remediacja anonimowego dostępu do odczytu do danych BLOB Firma Microsoft zaleca wyłączenie dostępu anonimowego dla wszystkich kont magazynowania.
Lokalni użytkownicy pamięci masowej 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.
Zasady ochrony usługi Microsoft Purview Obsługiwane w przypadku usług Azure Blob Storage i Azure Data Lake Storage. Aby dowiedzieć się więcej, zobacz Tworzenie i publikowanie zasad ochrony dla źródeł platformy Azure (wersja zapoznawcza). Zobacz wskazówki dotyczące opcji.

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

  • Autoryzacja kluczem współdzielonym: dotyczy obiektów blob, plików, kolejek i tabel. Klient korzystający z klucza współużytkowanego dołącza nagłówek do każdego żądania, podpisany za pomocą klucza dostępu do konta magazynu. Aby uzyskać więcej informacji, zobacz Autoryzowanie za pomocą współdzielonego klucza.

    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 dotyczące konta magazynowego i praktycznie ma dostęp do wszystkich danych. Microsoft zaleca, aby nie zezwalać na autoryzację klucza wspólnego dla Twojego konta magazynowego. 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.

  • Współdzielone sygnatury dostępu dla zasobó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 (SAS) lub konta (SAS) jest podpisywana kluczem konta, podczas gdy sygnatura dostępu współdzielonego delegowana przez użytkownika jest podpisywana poświadczeniami Microsoft Entra i dotyczy wyłącznie 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 platformy Azure opartej na atrybutach (ABAC), aby dodać warunki do przypisań ról platformy Azure dla zasobów blokowych.

    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. Możesz użyć Azure RBAC (kontrola dostępu na podstawie ról w Azure) do szczegółowego kontrolowania dostępu klienta do zasobów 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.

  • Uwierzytelnianie w lokalnych usługach domenowych Active Directory (AD DS lub lokalne 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 przy użyciu 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żywać kombinacji Azure RBAC do kontroli dostępu na poziomie udziału oraz NTFS DACL do 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 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 danych: dotyczy obiektów blob z SFTP lub plików 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).

  • Integracja usługi Microsoft Purview Information Protection: dotyczy usług Azure Blob Storage i Azure Data Lake Storage. Usługa Microsoft Purview Information Protection oferuje zasady ochrony w celu ochrony poufnych danych w usługach Azure Blob Storage i Azure Data Lake Storage. Usługa Purview oferuje możliwość publikowania etykiet na podstawie poufności zawartości. Możesz utworzyć zasady ochrony na podstawie tych etykiet poufności, aby zezwolić na dostęp do niektórych użytkowników lub go zablokować, umożliwiając bardziej bezpieczny i szczegółowy dostęp do poufnych plików. Ta funkcja pomaga nie tylko zminimalizować ryzyko nieautoryzowanego dostępu i potencjalnych wycieków danych, ale także zwiększa ogólny poziom zabezpieczeń organizacji. Aby dowiedzieć się więcej, zobacz Tworzenie i publikowanie zasad ochrony dla źródeł platformy Azure (wersja zapoznawcza).

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ólnego zapewnia użytkownikowi pełny dostęp do danych konta magazynowego. Dostęp do kluczy udostępnionych powinien być starannie ograniczony i monitorowany. Używaj tokenów delegacji użytkowników SAS (Shared Access Signature) z ograniczonym zakresem dostępu w sytuacjach, gdy nie można użyć autoryzacji opartej na Microsoft Entra ID. 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 przez 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 Microsoft Entra, należy wyłączyć 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 Twojej dzierżawie Microsoft Entra.

Następne kroki