Zapobieganie autoryzacji opartej na kluczu wspólnym dla konta usługi Azure Storage
Każde zabezpieczone żądanie do konta usługi Azure Storage musi być autoryzowane. Domyślnie żądania mogą być autoryzowane przy użyciu poświadczeń usługi Microsoft Entra lub przy użyciu klucza dostępu do konta na potrzeby autoryzacji klucza współdzielonego. Spośród tych dwóch typów autoryzacji identyfikator Entra firmy Microsoft zapewnia lepsze zabezpieczenia i łatwość użycia za pośrednictwem klucza współużytkowanego i jest zalecana przez firmę Microsoft. Aby wymagać od klientów używania identyfikatora Entra firmy Microsoft do autoryzowania żądań, możesz nie zezwalać na żądania do konta magazynu, które są autoryzowane za pomocą klucza wspólnego.
Jeśli nie zezwalasz na autoryzację klucza wspólnego dla konta magazynu, usługa Azure Storage odrzuca wszystkie kolejne żądania do tego konta, które są autoryzowane przy użyciu kluczy dostępu do konta. Pomyślnie powiedzie się tylko zabezpieczone żądania autoryzowane za pomocą identyfikatora Entra firmy Microsoft. Aby uzyskać więcej informacji na temat korzystania z identyfikatora Entra firmy Microsoft, zobacz Autoryzowanie dostępu do danych w usłudze Azure Storage.
Właściwość AllowSharedKeyAccess konta magazynu nie jest domyślnie ustawiona i nie zwraca wartości, dopóki nie zostanie jawnie ustawiona. Konto magazynu zezwala na żądania autoryzowane za pomocą klucza współużytkowanego, gdy wartość właściwości ma wartość null lub wartość true.
W tym artykule opisano sposób używania struktury DRAG (Detection-Remediation-Audit-Governance) w celu ciągłego zarządzania autoryzacją klucza współdzielonego dla konta magazynu.
Wymagania wstępne
Przed zezwoleniem na dostęp do klucza współdzielonego na dowolnym koncie magazynu:
- Informacje o tym, jak zezwalanie na klucz współużytkowany wpływa na tokeny SAS
- Rozważ zgodność z innymi narzędziami i usługami platformy Azure
- Rozważ konieczność nie zezwalania na autoryzację klucza współdzielonego w celu korzystania z dostępu warunkowego firmy Microsoft Entra
- Autoryzowanie dostępu do danych plików lub przenoszenie obciążeń usługi Azure Files
Informacje o tym, jak zezwalanie na klucz współużytkowany wpływa na tokeny SAS
Gdy dostęp do klucza współdzielonego jest niedozwolony dla konta magazynu, usługa Azure Storage obsługuje tokeny SAS na podstawie typu sygnatury dostępu współdzielonego i usługi, która jest objęta żądaniem. W poniższej tabeli pokazano, jak każdy typ sygnatury dostępu współdzielonego jest autoryzowany i jak usługa Azure Storage będzie obsługiwać tę sygnaturę dostępu współdzielonego, gdy właściwość AllowSharedKeyAccess dla konta magazynu ma wartość false.
Typ sygnatury dostępu współdzielonego | Typ autoryzacji | Zachowanie, gdy parametr AllowSharedKeyAccess ma wartość false |
---|---|---|
Sygnatura dostępu współdzielonego delegowania użytkownika (tylko usługa Blob Storage) | Microsoft Entra ID | Żądanie jest dozwolone. Firma Microsoft zaleca używanie sygnatury dostępu współdzielonego delegowania użytkownika, jeśli jest to możliwe w celu uzyskania lepszych zabezpieczeń. |
Sygnatura dostępu współdzielonego usługi | Klucz wspólny | Żądanie jest odrzucane dla wszystkich usług Azure Storage. |
Sygnatura dostępu współdzielonego konta | Klucz wspólny | Żądanie jest odrzucane dla wszystkich usług Azure Storage. |
Metryki i rejestrowanie platformy Azure w usłudze Azure Monitor nie rozróżniają różnych typów sygnatur dostępu współdzielonego. Filtr sygnatury dostępu współdzielonego w Eksploratorze metryk platformy Azure i polu SYGNATURy dostępu współdzielonego w usłudze Azure Storage w usłudze Azure Monitor oba żądania raportów, które są autoryzowane przy użyciu dowolnego typu sygnatury dostępu współdzielonego. Jednak różne typy sygnatur dostępu współdzielonego są autoryzowane inaczej i zachowują się inaczej, gdy dostęp do klucza współdzielonego jest niedozwolony:
- Token SAS usługi lub token SAS konta jest autoryzowany za pomocą klucza współużytkowanego i nie będzie dozwolony na żądanie do usługi Blob Storage, gdy właściwość AllowSharedKeyAccess jest ustawiona na wartość false.
- Sygnatura dostępu współdzielonego delegowania użytkownika jest autoryzowana przy użyciu identyfikatora Entra firmy Microsoft i będzie dozwolona na żądanie do usługi Blob Storage, gdy właściwość AllowSharedKeyAccess jest ustawiona na wartość false.
Podczas oceniania ruchu na koncie magazynu należy pamiętać, że metryki i dzienniki zgodnie z opisem w temacie Wykrywanie typu autoryzacji używanej przez aplikacje klienckie mogą obejmować żądania wysyłane przy użyciu sygnatury dostępu współdzielonego delegowania użytkownika.
Aby uzyskać więcej informacji na temat sygnatur dostępu współdzielonego, zobacz Udzielanie ograniczonego dostępu do zasobów usługi Azure Storage przy użyciu sygnatur dostępu współdzielonego (SAS).
Rozważ zgodność z innymi narzędziami i usługami platformy Azure
Wiele usług platformy Azure używa autoryzacji klucza współdzielonego do komunikowania się z usługą Azure Storage. Jeśli nie zezwalasz na autoryzację klucza wspólnego dla konta magazynu, te usługi nie będą mogły uzyskać dostępu do danych na tym koncie, a Twoje aplikacje mogą nie działać zgodnie z oczekiwaniami.
Niektóre narzędzia platformy Azure oferują opcję używania autoryzacji firmy Microsoft Entra w celu uzyskania dostępu do usługi Azure Storage. W poniższej tabeli wymieniono niektóre popularne narzędzia platformy Azure i zauważa, czy mogą używać identyfikatora Entra firmy Microsoft do autoryzowania żądań do usługi Azure Storage.
Narzędzie platformy Azure | Autoryzacja firmy Microsoft w usłudze Azure Storage |
---|---|
Azure Portal | Obsługiwane. Aby uzyskać informacje na temat autoryzowania przy użyciu konta microsoft Entra w witrynie Azure Portal, zobacz Wybieranie sposobu autoryzowania dostępu do danych obiektów blob w witrynie Azure Portal. |
AzCopy | Obsługiwane w przypadku usługi Blob Storage. Aby uzyskać informacje na temat autoryzowania operacji narzędzia AzCopy, zobacz Wybieranie sposobu podawania poświadczeń autoryzacji w dokumentacji narzędzia AzCopy. |
Eksplorator magazynu Azure | Obsługiwane w przypadku usług Blob Storage, Queue Storage, Table Storage i Azure Data Lake Storage Gen2. Dostęp identyfikatora Entra firmy Microsoft do magazynu plików nie jest obsługiwany. Upewnij się, że wybrano poprawną dzierżawę firmy Microsoft Entra. Aby uzyskać więcej informacji, zobacz Wprowadzenie do Eksplorator usługi Storage |
Azure PowerShell | Obsługiwane. Aby uzyskać informacje na temat autoryzacji poleceń programu PowerShell dla operacji obiektów blob lub kolejek przy użyciu identyfikatora Entra firmy Microsoft, zobacz Uruchamianie poleceń programu PowerShell przy użyciu poświadczeń firmy Microsoft Entra w celu uzyskania dostępu do danych obiektów blob lub uruchom polecenia programu PowerShell przy użyciu poświadczeń firmy Microsoft Entra w celu uzyskania dostępu do danych kolejki. |
Interfejs wiersza polecenia platformy Azure | Obsługiwane. Aby uzyskać informacje o sposobie autoryzowania poleceń interfejsu wiersza polecenia platformy Azure za pomocą identyfikatora Microsoft Entra ID w celu uzyskania dostępu do danych obiektów blob i kolejek, zobacz Uruchamianie poleceń interfejsu wiersza polecenia platformy Azure przy użyciu poświadczeń usługi Microsoft Entra w celu uzyskania dostępu do danych obiektów blob lub kolejek. |
Azure IoT Hub | Obsługiwane. Aby uzyskać więcej informacji, zobacz Obsługa usługi IoT Hub dla sieci wirtualnych. |
Azure Cloud Shell | Usługa Azure Cloud Shell to zintegrowana powłoka w witrynie Azure Portal. Usługa Azure Cloud Shell hostuje pliki na potrzeby trwałości w udziale plików platformy Azure na koncie magazynu. Te pliki staną się niedostępne, jeśli autoryzacja klucza współdzielonego jest niedozwolona dla tego konta magazynu. Aby uzyskać więcej informacji, zobacz Utrwalanie plików w usłudze Azure Cloud Shell. Aby uruchomić polecenia w usłudze Azure Cloud Shell w celu zarządzania kontami magazynu, dla których dostęp do klucza współdzielonego jest niedozwolony, najpierw upewnij się, że udzielono ci niezbędnych uprawnień do tych kont za pośrednictwem kontroli dostępu opartej na rolach platformy Azure. Aby uzyskać więcej informacji, zobacz Co to jest kontrola dostępu oparta na rolach platformy Azure (Azure RBAC)?. |
Nie zezwalaj na autoryzację klucza współdzielonego do korzystania z dostępu warunkowego firmy Microsoft
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.
Autoryzowanie dostępu do danych plików lub przenoszenie obciążeń usługi Azure Files
Usługa Azure Storage obsługuje autoryzację firmy Microsoft dla żądań wysyłanych do usług Azure Files, Blob Storage, Queue Storage i Table Storage. Jednak domyślnie witryna Azure Portal używa autoryzacji klucza współdzielonego do uzyskiwania dostępu do udziałów plików platformy Azure. Jeśli nie zezwalasz na autoryzację klucza współdzielonego dla konta magazynu, które nie jest skonfigurowane przy użyciu odpowiednich przypisań RBAC, żądania do usługi Azure Files nie powiedzą się i nie będzie można uzyskać dostępu do udziałów plików platformy Azure w witrynie Azure Portal.
Aby temu zapobiec, zalecamy zastosowanie jednego z trzech podejść:
- Wykonaj następujące kroki , aby autoryzować dostęp do danych plików przy użyciu konta Microsoft Entra lub
- Migrowanie danych usługi Azure Files do oddzielnego konta magazynu przed uniemożliwienie dostępu do konta za pośrednictwem klucza współużytkowanego lub
- Nie stosuj tego ustawienia do kont magazynu, które obsługują obciążenia usługi Azure Files.
Identyfikowanie kont magazynu, które zezwalają na dostęp do klucza współdzielonego
Istnieją dwa sposoby identyfikowania kont magazynu, które umożliwiają dostęp do klucza współdzielonego:
- Sprawdź ustawienie dostępu do klucza współdzielonego dla wielu kont
- Konfigurowanie usługi Azure Policy pod kątem dostępu do klucza współdzielonego w trybie inspekcji
Sprawdź ustawienie dostępu do klucza współdzielonego dla wielu kont
Aby sprawdzić ustawienie dostępu do klucza współużytkowanego dla zestawu kont magazynu o optymalnej wydajności, możesz użyć Eksploratora usługi Azure Resource Graph w witrynie Azure Portal. Aby dowiedzieć się więcej na temat korzystania z Eksploratora usługi Resource Graph, zobacz Szybki start: uruchamianie pierwszego zapytania usługi Resource Graph przy użyciu Eksploratora usługi Azure Resource Graph.
Uruchomienie następującego zapytania w Eksploratorze usługi Resource Graph zwraca listę kont magazynu i wyświetla ustawienie dostępu klucz współużytkowany dla każdego konta:
resources
| where type =~ 'Microsoft.Storage/storageAccounts'
| extend allowSharedKeyAccess = parse_json(properties).allowSharedKeyAccess
| project subscriptionId, resourceGroup, name, allowSharedKeyAccess
Konfigurowanie usługi Azure Policy pod kątem dostępu do klucza współdzielonego w trybie inspekcji
Konta usługi Azure Policy Storage powinny uniemożliwić dostęp do klucza współużytkowanego, aby uniemożliwić użytkownikom odpowiednie uprawnienia do konfigurowania nowych lub istniejących kont magazynu w celu zezwolenia na autoryzację klucza współdzielonego. Skonfiguruj te zasady w trybie inspekcji, aby zidentyfikować konta magazynu, na których jest dozwolona autoryzacja klucza współdzielonego. Po zmianie aplikacji tak, aby korzystały z usługi Microsoft Entra, a nie klucza współużytkowanego do autoryzacji, można zaktualizować zasady, aby zapobiec zezwalaniu na dostęp do klucza współdzielonego.
Aby uzyskać więcej informacji na temat wbudowanych zasad, zobacz Konta magazynu powinny uniemożliwić dostęp do klucza współdzielonego na liście wbudowanych definicji zasad.
Przypisywanie wbudowanych zasad dla zakresu zasobów
Wykonaj następujące kroki, aby przypisać wbudowane zasady dla odpowiedniego zakresu w witrynie Azure Portal:
W witrynie Azure Portal wyszukaj pozycję Zasady , aby wyświetlić pulpit nawigacyjny usługi Azure Policy.
W sekcji Tworzenie wybierz pozycję Przypisania.
Wybierz pozycję Przypisz zasady.
Na karcie Podstawowe na stronie Przypisywanie zasad w sekcji Zakres określ zakres przypisania zasad. Wybierz przycisk Więcej (...), aby wybrać subskrypcję i opcjonalną grupę zasobów.
W polu Definicja zasad wybierz przycisk Więcej (...) i wprowadź dostęp do klucza współużytkowanego w polu Wyszukaj. Wybierz definicję zasad o nazwie Konta magazynu, aby uniemożliwić dostęp do klucza współdzielonego.
Wybierz pozycję Przejrzyj i utwórz.
Na karcie Przeglądanie + tworzenie przejrzyj przypisanie zasad, a następnie wybierz pozycję Utwórz, aby przypisać definicję zasad do określonego zakresu.
Monitorowanie zgodności z zasadami
Aby monitorować konta magazynu pod kątem zgodności z zasadami dostępu do klucza współdzielonego, wykonaj następujące kroki:
Na pulpicie nawigacyjnym usługi Azure Policy w obszarze Tworzenie wybierz pozycję Przypisania.
Znajdź i wybierz przypisanie zasad utworzone w poprzedniej sekcji.
Wybierz kartę Wyświetl zgodność .
Wszystkie konta magazynu w zakresie przypisania zasad, które nie spełniają wymagań zasad, są wyświetlane w raporcie zgodności.
Aby uzyskać więcej informacji o tym, dlaczego konto magazynu jest niezgodne, wybierz pozycję Szczegóły w obszarze Przyczyna zgodności.
Wykrywanie typu autoryzacji używanej przez aplikacje klienckie
Aby zrozumieć, jak uniemożliwienie autoryzacji klucza współdzielonego może mieć wpływ na aplikacje klienckie przed wprowadzeniem tej zmiany, włącz rejestrowanie i metryki dla konta magazynu. Następnie możesz analizować wzorce żądań na koncie w danym okresie, aby określić, w jaki sposób żądania są autoryzowane.
Użyj metryk, aby określić liczbę żądań odbieranych przez konto magazynu, które są autoryzowane za pomocą klucza współużytkowanego lub sygnatury dostępu współdzielonego (SAS). Użyj dzienników, aby określić, którzy klienci wysyłają te żądania.
Sygnatura dostępu współdzielonego może być autoryzowana za pomocą klucza wspólnego lub identyfikatora entra firmy Microsoft. Aby uzyskać więcej informacji na temat interpretowania żądań wysyłanych za pomocą sygnatury dostępu współdzielonego, zobacz Opis sposobu, w jaki zezwalanie na klucz współużytkowany wpływa na tokeny SAS.
Określanie liczby i częstotliwości żądań autoryzowanych za pomocą klucza wspólnego
Aby śledzić, jak żądania do konta magazynu są autoryzowane, użyj Eksploratora metryk platformy Azure w witrynie Azure Portal. Aby uzyskać więcej informacji na temat Eksploratora metryk, zobacz Analizowanie metryk za pomocą Eksploratora metryk usługi Azure Monitor.
Wykonaj następujące kroki, aby utworzyć metrykę, która śledzi żądania wysyłane za pomocą klucza współdzielonego lub sygnatury dostępu współdzielonego:
W witrynie Azure Portal przejdź do swojego konta magazynu. W sekcji Monitorowanie wybierz pozycję Metryki.
Powinno zostać wyświetlone nowe pole metryki:
Jeśli tak nie jest, wybierz pozycję Dodaj metryki.
W oknie dialogowym Metryka określ następujące wartości:
- Pozostaw pole Zakres ustawione na nazwę konta magazynu.
- Ustaw przestrzeń nazw metryki na konto. Ta metryka będzie raportować wszystkie żądania względem konta magazynu.
- Ustaw pole Metryka na Wartość Transakcje.
- W polu Agregacja ustaw wartość Suma.
Nowa metryka wyświetli sumę liczby transakcji względem konta magazynu w danym przedziale czasu. Wynikowa metryka zostanie wyświetlona, jak pokazano na poniższej ilustracji:
Następnie wybierz przycisk Dodaj filtr , aby utworzyć filtr dla metryki dla typu autoryzacji.
W oknie dialogowym Filtr określ następujące wartości:
- Ustaw wartość Właściwość na Wartość Uwierzytelnianie.
- Ustaw pole Operator na znak równości (=).
- W polu Wartości wybierz pozycję Klucz konta i sygnatura dostępu współdzielonego.
W prawym górnym rogu wybierz zakres czasu, dla którego chcesz wyświetlić metryki. Możesz również wskazać stopień szczegółowości agregacji żądań, określając interwały w dowolnym miejscu od 1 minuty do 1 miesiąca. Na przykład ustaw zakres czasu na 30 dni, a stopień szczegółowości czasu na 1 dzień, aby zobaczyć żądania zagregowane według dnia w ciągu ostatnich 30 dni.
Po skonfigurowaniu metryki żądania do konta magazynu zaczną pojawiać się na grafie. Na poniższej ilustracji przedstawiono żądania autoryzowane za pomocą klucza współużytkowanego lub wykonane przy użyciu tokenu SAS. Żądania są agregowane dziennie w ciągu ostatnich trzydziestu dni.
Możesz również skonfigurować regułę alertu, aby powiadomić Cię, gdy na koncie magazynu jest wysyłana określona liczba żądań autoryzowanych z kluczem udostępnionym. Aby uzyskać więcej informacji, zobacz Tworzenie, wyświetlanie alertów metryk i zarządzanie nimi przy użyciu usługi Azure Monitor.
Analizowanie dzienników w celu identyfikowania klientów, którzy autoryzują żądania za pomocą klucza współdzielonego lub sygnatury dostępu współdzielonego
Dzienniki usługi Azure Storage przechwytują szczegółowe informacje o żądaniach dotyczących konta magazynu, w tym o sposobie autoryzowania żądania. Dzienniki można analizować, aby określić, którzy klienci autoryzują żądania za pomocą klucza współdzielonego lub tokenu SYGNATURy dostępu współdzielonego.
Aby rejestrować żądania do konta usługi Azure Storage, aby ocenić, jak są autoryzowane, możesz użyć rejestrowania usługi Azure Storage w usłudze Azure Monitor. Aby uzyskać więcej informacji, zobacz Monitorowanie usługi Azure Storage.
Rejestrowanie usługi Azure Storage w usłudze Azure Monitor obsługuje używanie zapytań dzienników do analizowania danych dziennika. Aby wykonywać zapytania dotyczące dzienników, możesz użyć obszaru roboczego usługi Azure Log Analytics. Aby dowiedzieć się więcej na temat zapytań dzienników, zobacz Samouczek: rozpoczynanie pracy z zapytaniami usługi Log Analytics.
Tworzenie ustawienia diagnostycznego w witrynie Azure Portal
Aby rejestrować dane usługi Azure Storage za pomocą usługi Azure Monitor i analizować je za pomocą usługi Azure Log Analytics, należy najpierw utworzyć ustawienie diagnostyczne wskazujące typy żądań i usługi magazynu, dla których chcesz rejestrować dane. Aby utworzyć ustawienie diagnostyczne w Azure Portal, wykonaj następujące kroki:
Utwórz nowy obszar roboczy usługi Log Analytics w subskrypcji zawierającej konto usługi Azure Storage lub użyj istniejącego obszaru roboczego usługi Log Analytics. Po skonfigurowaniu rejestrowania dla konta magazynu dzienniki będą dostępne w obszarze roboczym usługi Log Analytics. Aby uzyskać więcej informacji, zobacz Tworzenie obszaru roboczego usługi Log Analytics w Azure Portal.
W witrynie Azure Portal przejdź do swojego konta magazynu.
W sekcji Monitorowanie wybierz pozycję Ustawienia diagnostyczne.
Wybierz usługę Azure Storage, dla której chcesz rejestrować żądania. Na przykład wybierz pozycję Blob , aby rejestrować żądania do usługi Blob Storage.
Wybierz pozycję Dodaj ustawienia diagnostyczne.
Podaj nazwę ustawień diagnostyki.
W obszarze Szczegóły kategorii w sekcji dziennika wybierz pozycję StorageRead, StorageWrite i StorageDelete , aby zarejestrować wszystkie żądania danych do wybranej usługi.
W obszarze Szczegóły miejsca docelowego wybierz pozycję Wyślij do usługi Log Analytics. Wybierz subskrypcję i utworzony wcześniej obszar roboczy usługi Log Analytics, jak pokazano na poniższej ilustracji.
Możesz utworzyć ustawienie diagnostyczne dla każdego typu zasobu usługi Azure Storage na koncie magazynu.
Po utworzeniu ustawienia diagnostycznego żądania do konta magazynu są następnie rejestrowane zgodnie z tym ustawieniem. Aby uzyskać więcej informacji, zobacz Tworzenie ustawienia diagnostycznego w celu zbierania dzienników zasobów i metryk na platformie Azure.
Aby uzyskać informacje o polach dostępnych w dziennikach usługi Azure Storage w usłudze Azure Monitor, zobacz Dzienniki zasobów.
Wykonywanie zapytań dotyczących żądań dotyczących klucza współużytkowanego lub sygnatury dostępu współdzielonego
Dzienniki usługi Azure Storage w usłudze Azure Monitor obejmują typ autoryzacji, który został użyty do wykonania żądania do konta magazynu. Aby pobrać dzienniki żądań wykonanych w ciągu ostatnich siedmiu dni, które zostały autoryzowane za pomocą klucza współużytkowanego lub sygnatury dostępu współdzielonego, otwórz obszar roboczy usługi Log Analytics. Następnie wklej następujące zapytanie do nowego zapytania dziennika i uruchom je. To zapytanie wyświetla dziesięć adresów IP, które najczęściej wysyłały żądania autoryzowane za pomocą klucza współdzielonego lub sygnatury dostępu współdzielonego:
StorageBlobLogs
| where AuthenticationType in ("AccountKey", "SAS") and TimeGenerated > ago(7d)
| summarize count() by CallerIpAddress, UserAgentHeader, AccountName
| top 10 by count_ desc
Możesz również skonfigurować regułę alertu na podstawie tego zapytania, aby powiadomić o żądaniach autoryzowanych za pomocą klucza współdzielonego lub sygnatury dostępu współdzielonego. Aby uzyskać więcej informacji, zobacz Tworzenie, wyświetlanie alertów dzienników i zarządzanie nimi przy użyciu usługi Azure Monitor.
Korygowanie autoryzacji za pomocą klucza wspólnego
Po przeanalizowaniu, jak żądania do konta magazynu są autoryzowane, możesz podjąć działania, aby zapobiec dostępowi za pośrednictwem klucza współdzielonego. Najpierw należy jednak zaktualizować wszystkie aplikacje korzystające z autoryzacji klucza współdzielonego, aby zamiast tego korzystały z identyfikatora Entra firmy Microsoft. Dzienniki i metryki można monitorować zgodnie z opisem w artykule Wykrywanie typu autoryzacji używanej przez aplikacje klienckie do śledzenia przejścia. Aby uzyskać więcej informacji na temat uzyskiwania dostępu do danych na koncie magazynu przy użyciu identyfikatora Entra firmy Microsoft, zobacz Autoryzowanie dostępu do danych w usłudze Azure Storage.
Jeśli masz pewność, że możesz bezpiecznie odrzucić żądania autoryzowane za pomocą klucza współużytkowanego, możesz ustawić właściwość AllowSharedKeyAccess dla konta magazynu na wartość false.
Ostrzeżenie
Jeśli klienci uzyskują obecnie dostęp do danych na koncie magazynu przy użyciu klucza współużytkowanego, firma Microsoft zaleca przeprowadzenie migracji tych klientów do identyfikatora Entra firmy Microsoft przed zezwoleniem na dostęp klucza współdzielonego do konta magazynu.
Uprawnienia do zezwalania na dostęp do klucza współużytkowanego lub go nie zezwalają
Aby ustawić właściwość AllowSharedKeyAccess dla konta magazynu, użytkownik musi mieć uprawnienia do tworzenia kont magazynu i zarządzania nimi. Role kontroli dostępu opartej na rolach (RBAC) platformy Azure, które zapewniają te uprawnienia, obejmują akcję Microsoft.Storage/storageAccounts/write lub Microsoft.Storage/storageAccounts/* . Wbudowane role z tą akcją obejmują:
- Rola właściciela w usłudze Azure Resource Manager
- Rola współautora w usłudze Azure Resource Manager
- Rola współautora konta magazynu
Te role nie zapewniają dostępu do danych na koncie magazynu za pośrednictwem identyfikatora Entra firmy Microsoft. Obejmują one jednak usługę Microsoft.Storage/storageAccounts/listkeys/action, która udziela dostępu do kluczy dostępu do konta. Za pomocą tego uprawnienia użytkownik może użyć kluczy dostępu do konta, aby uzyskać dostęp do wszystkich danych na koncie magazynu.
Przypisania ról muszą być ograniczone do poziomu konta magazynu lub wyższego, aby zezwolić użytkownikowi na dostęp do klucza współdzielonego lub nie zezwalać na dostęp do tego konta magazynu. Aby uzyskać więcej informacji na temat zakresu ról, zobacz Omówienie zakresu kontroli dostępu opartej na rolach platformy Azure.
Należy zachować ostrożność, aby ograniczyć przypisywanie tych ról tylko do tych, którzy wymagają możliwości utworzenia konta magazynu lub zaktualizowania jego właściwości. Użyj zasady najniższych uprawnień, aby upewnić się, że użytkownicy mają najmniejsze uprawnienia, których potrzebują do wykonania swoich zadań. Aby uzyskać więcej informacji na temat zarządzania dostępem za pomocą kontroli dostępu opartej na rolach platformy Azure, zobacz Najlepsze rozwiązania dotyczące kontroli dostępu opartej na rolach platformy Azure.
Uwaga
Role klasycznego administratora subskrypcji Service Administracja istrator i Współ-Administracja istrator obejmują odpowiednik roli właściciela usługi Azure Resource Manager. Rola Właściciel zawiera wszystkie akcje, więc użytkownik z jedną z tych ról administracyjnych może również tworzyć konta magazynu i zarządzać nimi. Aby uzyskać więcej informacji, zobacz Role platformy Azure, Role firmy Microsoft Entra i klasyczne role administratora subskrypcji.
Wyłączanie autoryzacji klucza współużytkowanego
Korzystając z konta z niezbędnymi uprawnieniami, wyłącz autoryzację klucza wspólnego w witrynie Azure Portal przy użyciu programu PowerShell lub interfejsu wiersza polecenia platformy Azure.
Aby uniemożliwić autoryzację klucza wspólnego dla konta magazynu w witrynie Azure Portal, wykonaj następujące kroki:
Po uniemożliwieniu autoryzacji klucza współużytkowanego wysyłanie żądania do konta magazynu z autoryzacją klucza współdzielonego zakończy się niepowodzeniem z kodem błędu 403 (Zabronione). Usługa Azure Storage zwraca błąd wskazujący, że autoryzacja oparta na kluczach nie jest dozwolona dla danego konta magazynu.
Właściwość AllowSharedKeyAccess jest obsługiwana w przypadku kont magazynu korzystających tylko z modelu wdrażania usługi Azure Resource Manager. Aby uzyskać informacje o tym, które konta magazynu korzystają z modelu wdrażania usługi Azure Resource Manager, zobacz Typy kont magazynu.
Sprawdź, czy dostęp do klucza współdzielonego jest niedozwolony
Aby sprawdzić, czy autoryzacja klucza współdzielonego nie jest już dozwolona, możesz wykonać zapytanie dotyczące ustawień konta usługi Azure Storage za pomocą następującego polecenia. Zastąp wartości symboli zastępczych w nawiasach własnymi wartościami.
az storage account show \
--name <storage-account-name> \
--resource-group <resource-group-name> \
--query "allowSharedKeyAccess"
Polecenie zwraca wartość false , jeśli autoryzacja klucza współdzielonego jest niedozwolona dla konta magazynu.
Uwaga
Żądania anonimowe nie są autoryzowane i będą kontynuowane, jeśli skonfigurowano konto magazynu i kontener na potrzeby anonimowego dostępu do odczytu. Aby uzyskać więcej informacji, zobacz Konfigurowanie anonimowego dostępu do odczytu dla kontenerów i obiektów blob.
Monitorowanie usługi Azure Policy pod kątem zgodności
Po uniemożliwieniu dostępu do klucza współdzielonego na żądanych kontach magazynu kontynuuj monitorowanie zasad utworzonych wcześniej w celu zapewnienia ciągłej zgodności. Na podstawie wyników monitorowania podejmij odpowiednie działania w razie potrzeby, w tym zmianę zakresu zasad, uniemożliwienie dostępu do klucza współdzielonego na większej liczbie kont lub zezwolenie na korzystanie z kont, w których potrzebny jest więcej czasu na korygowanie.
Zaktualizuj usługę Azure Policy, aby uniemożliwić dostęp do klucza współdzielonego
Aby rozpocząć wymuszanie przypisania usługi Azure Policy utworzonego wcześniej dla kont magazynu zasad , powinno uniemożliwić dostęp do klucza współużytkowanego, zmień efekt przypisania zasad na Odmów , aby uniemożliwić autoryzowanym użytkownikom zezwolenie na dostęp do klucza współdzielonego na kontach magazynu. Aby zmienić efekt zasad, wykonaj następujące kroki:
Na pulpicie nawigacyjnym usługi Azure Policy znajdź i wybierz utworzone wcześniej przypisanie zasad.
Wybierz pozycję Edytuj przypisanie.
Przejdź do karty Parametry .
Usuń zaznaczenie pola wyboru Pokaż tylko parametry, które wymagają wprowadzania lub przeglądania .
Na liście rozwijanej Efekt zmień pozycję Inspekcja na Odmów, a następnie wybierz pozycję Przejrzyj i zapisz.
Na karcie Przeglądanie i zapisywanie przejrzyj zmiany, a następnie wybierz pozycję Zapisz.
Uwaga
Zastosowanie zmiany zasad może potrwać do 30 minut.