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.

Omówienie autoryzacji dla operacji na danych

W poniższej tabeli opisano opcje, które oferuje usługa Azure Storage w celu autoryzowania dostępu do danych:

Artefakt platformy Azure Klucz współużytkowany (klucz konta magazynu) Sygnatura dostępu współdzielonego (SAS) Identyfikator usługi Microsoft Entra Lokalne usługi domena usługi Active Directory anonimowy dostęp do odczytu Użytkownicy lokalni magazynu
Obiekty blob platformy Azure Obsługiwane Obsługiwane Obsługiwane Nieobsługiwane Obsługiwane, ale niezalecane Obsługiwane tylko w przypadku protokołu SFTP
Azure Files (SMB) Obsługiwane Nieobsługiwane Obsługiwane tylko w przypadku usług Microsoft Entra Domain Services tylko w chmurze lub Microsoft Entra Kerberos dla tożsamości hybrydowych Obsługiwane, poświadczenia muszą być synchronizowane z identyfikatorem Entra firmy Microsoft Nieobsługiwane Nieobsługiwane
Azure Files (REST) Obsługiwane Obsługiwane Obsługiwane Nieobsługiwane Nieobsługiwane Nieobsługiwane
Azure Queues Obsługiwane Obsługiwane Obsługiwane Nieobsługiwane Nieobsługiwane Nieobsługiwane
Tabele Azure Obsługiwane Obsługiwane Obsługiwane Nieobsługiwane Nieobsługiwane Nieobsługiwane

Każda opcja autoryzacji jest krótko opisana poniżej:

  • Autoryzacja klucza współdzielonego dla 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.

    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 na potrzeby autoryzowania żądań do zasobów obiektów blob, kolejek i tabel. Firma Microsoft zaleca używanie poświadczeń firmy Microsoft 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 funkcji ABAC i jej stanu funkcji, zobacz:

    Co to jest kontrola dostępu oparta na atrybutach platformy Azure (Azure ABAC)?

    Stan funkcji warunku ABAC

    Stan funkcji warunku ABAC w usłudze Azure Storage

  • Uwierzytelnianie usług Microsoft Entra Domain Services dla 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.

  • Lokalne uwierzytelnianie usług domena usługi Active Directory Services (AD DS lub lokalnych usług AD DS) dla 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 dla danych obiektów blob jest obsługiwany, ale nie jest zalecany. 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 mogą służyć do uzyskiwania dostępu do obiektów blob za pomocą protokołu SFTP lub plików za pomocą protokołu SMB. Użytkownicy lokalni magazynu obsługują uprawnienia na poziomie kontenera do autoryzacji. Zobacz Połączenie do usługi Azure Blob Storage przy użyciu protokołu SSH File Transfer Protocol (SFTP), aby uzyskać więcej informacji na temat sposobu używania użytkowników lokalnych magazynu z protokołem SFTP.

Ochrona kluczy dostępu

Klucze dostępu do konta magazynu zapewniają pełny dostęp do konfiguracji konta magazynu, a także danych. 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 konfiguracji konta magazynu i jego danych. Dostęp do kluczy udostępnionych powinien być starannie ograniczony i monitorowany. Używaj tokenów SAS 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

Firma Microsoft zaleca używanie identyfikatora Entra firmy Microsoft do autoryzacji żądań względem danych obiektów blob, kolejek i tabel, jeśli to możliwe, zamiast używania kluczy konta (autoryzacja klucza współdzielonego). Autoryzacja za pomocą identyfikatora Entra firmy Microsoft zapewnia doskonałe zabezpieczenia i łatwość użycia w przypadku autoryzacji klucza współdzielonego. Aby uzyskać więcej informacji na temat korzystania z autoryzacji firmy Microsoft z aplikacji, zobacz Jak uwierzytelniać aplikacje platformy .NET za pomocą usług platformy Azure. W przypadku udziałów plików platformy Azure protokołu SMB firma Microsoft zaleca korzystanie z integracji usług lokalna usługa Active Directory Domain Services (AD DS) lub uwierzytelniania protokołu Kerberos firmy Microsoft Entra.

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 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 subskrypcji.

Następne kroki