Tworzenie sygnatury dostępu współdzielonego do delegowania użytkowników
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, zobacz
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 przy użyciu serwerów z obsługą usługi Azure Arc.
Token sygnatury dostępu współdzielonego (SAS) można zabezpieczyć w celu uzyskania dostępu do kontenera, katalogu lub obiektu blob przy użyciu poświadczeń usługi Microsoft Entra lub klucza konta. Sygnatura dostępu współdzielonego zabezpieczona przy użyciu poświadczeń usługi Microsoft Entra jest nazywana delegowaniem użytkownika SAS. Najlepszym rozwiązaniem w zakresie zabezpieczeń jest użycie poświadczeń firmy Microsoft Entra, jeśli jest to możliwe, a nie klucza konta, co może być łatwiejsze w przypadku naruszenia zabezpieczeń. Gdy projekt aplikacji wymaga sygnatur dostępu współdzielonego, użyj poświadczeń firmy Microsoft Entra, aby utworzyć sygnaturę dostępu współdzielonego delegowania użytkownika, aby zapewnić lepsze zabezpieczenia.
Każda sygnatura dostępu współdzielonego jest podpisana przy użyciu klucza. Aby utworzyć sygnaturę dostępu współdzielonego delegowania użytkownika, należy najpierw zażądać klucza delegowania użytkownika, którego następnie używasz do podpisywania sygnatury dostępu współdzielonego. Klucz delegowania użytkownika jest analogiczny do klucza konta używanego do podpisywania sygnatury dostępu współdzielonego usługi lub sygnatury dostępu współdzielonego konta, z tą różnicą, że opiera się na poświadczeniach firmy Microsoft Entra. Aby zażądać klucza delegowania użytkownika, wywołaj operację Pobierz klucz delegowania użytkownika. Następnie możesz użyć klucza delegowania użytkownika, aby utworzyć sygnaturę dostępu współdzielonego.
Sygnatura dostępu współdzielonego delegowania użytkowników jest obsługiwana w przypadku usług Azure Blob Storage i Azure Data Lake Storage. Przechowywane zasady dostępu nie są obsługiwane w przypadku sygnatury dostępu współdzielonego delegowania użytkowników.
Przestroga
Sygnatury dostępu współdzielonego to klucze, które udzielają uprawnień do zasobów magazynu, i należy je chronić tak samo, jak w przypadku ochrony klucza konta. Ważne jest, aby chronić sygnaturę dostępu współdzielonego przed złośliwym lub niezamierzonym użyciem. Użyj uznania w dystrybucji sygnatury dostępu współdzielonego i zaplanuj odwołanie naruszonej sygnatury dostępu współdzielonego. Operacje korzystające z sygnatur dostępu współdzielonego powinny być wykonywane tylko za pośrednictwem połączenia HTTPS, a identyfikatory URI sygnatury dostępu współdzielonego powinny być dystrybuowane tylko w bezpiecznym połączeniu, takim jak HTTPS.
Aby uzyskać informacje na temat zabezpieczania sygnatury dostępu współdzielonego przy użyciu klucza konta, zobacz Tworzenie sygnatury dostępu współdzielonego usługi i Tworzeniesygnatury dostępu współdzielonego konta.
Obsługa sygnatury dostępu współdzielonego delegowania użytkowników na potrzeby dostępu w zakresie katalogu
Sygnatura dostępu współdzielonego delegowania użytkownika obsługuje zakres katalogu (sr=d
), gdy jest włączona wersja autoryzacji (sv
) to 2020-02-10 lub nowsza, a hierarchiczna przestrzeń nazw (HNS). Semantyka zakresu katalogu (sr=d
) jest podobna do zakresu kontenera (sr=c
), z wyjątkiem tego, że dostęp jest ograniczony do katalogu i wszystkich plików i podkatalogów w nim. Po określeniu sr=d
wymagany jest również parametr zapytania sdd
.
Format ciągu do podpisania dla autoryzacji w wersji 2020-02-10 jest niezmieniony.
Obsługa sygnatury dostępu współdzielonego delegowania użytkownika dla identyfikatora OID użytkownika
Sygnatura dostępu współdzielonego delegowania użytkownika obsługuje opcjonalny identyfikator obiektu użytkownika (OID), który jest przenoszony w parametrze saoid
lub suoid
, gdy wersja autoryzacji (sv
) to 2020-02-10 lub nowsza. Parametry saoid
i suoid
odpowiadają jednostce zabezpieczeń dla użytkownika końcowego korzystającego z sygnatury dostępu współdzielonego i zapewniają rozszerzony model autoryzacji dla obciążeń klastra wieloużywcowego, takich jak Hadoop i Spark.
Tokeny SYGNATURy dostępu współdzielonego mogą być ograniczone do określonej operacji systemu plików i użytkownika, która zapewnia mniej narażony token dostępu, który jest bezpieczniejszy do dystrybucji w klastrze z wieloma użytkownikami. Jednym z przypadków użycia tych funkcji jest integracja sterownika Hadoop ABFS z platformą Apache Ranger.
Aby dowiedzieć się więcej na temat opcjonalnych parametrów saoid
i suoid
, zobacz Określanie podpisanego identyfikatora obiektu użytkownika.
Autoryzowanie sygnatury dostępu współdzielonego delegowania użytkownika
Gdy klient uzyskuje dostęp do zasobu usługi Blob Storage przy użyciu sygnatury dostępu współdzielonego delegowania użytkownika, żądanie do usługi Azure Storage jest autoryzowane przy użyciu poświadczeń usługi Microsoft Entra, które zostały użyte do utworzenia sygnatury dostępu współdzielonego. Dostęp klienta do zasobu jest określany przez następujące uprawnienia:
- Uprawnienia kontroli dostępu opartej na rolach (RBAC) przyznane podmiotowi zabezpieczeń firmy Microsoft, który zażądał klucza delegowania użytkownika.
- Uprawnienia listy kontroli dostępu (ACL) POSIX, które są przyznawane podmiotowi zabezpieczeń, który zażądał klucza delegowania użytkownika. Ta dodatkowa kontrola odbywa się tylko wtedy, gdy uprawnienia RBAC nie mogą udzielić dostępu i tylko wtedy, gdy hierarchiczna przestrzeń nazw jest włączona na koncie magazynu.
- Uprawnienia, które są jawnie przyznawane na tokenie SYGNATURY dostępu współdzielonego.
Takie podejście zapewnia dodatkowy poziom zabezpieczeń i pomaga uniknąć konieczności przechowywania klucza dostępu do konta przy użyciu kodu aplikacji. Z tych powodów utworzenie sygnatury dostępu współdzielonego przy użyciu poświadczeń firmy Microsoft Entra jest najlepszym rozwiązaniem w zakresie zabezpieczeń.
Uprawnienia przyznane klientowi, który posiada sygnaturę dostępu współdzielonego, są skrzyżowaniem uprawnień, które zostały przyznane podmiotowi zabezpieczeń, który zażądał klucza delegowania użytkownika i uprawnieniami przyznanymi zasobowi w tokenie SAS przy użyciu pola signedPermissions
(sp
). Jeśli uprawnienie udzielone podmiotowi zabezpieczeń za pośrednictwem kontroli dostępu opartej na rolach lub list ACL POSIX nie zostanie również przyznane na token SAS, to uprawnienie nie zostanie przyznane klientowi, który próbuje użyć sygnatury dostępu współdzielonego w celu uzyskania dostępu do zasobu. Podczas tworzenia sygnatury dostępu współdzielonego delegowania użytkownika upewnij się, że uprawnienia przyznane za pośrednictwem list ACL RBAC i POSIX oraz uprawnienia przyznane za pośrednictwem tokenu SAS są zgodne z poziomem dostępu wymaganym przez klienta.
Aby utworzyć sygnaturę dostępu współdzielonego delegowania użytkownika, wykonaj następujące czynności:
- Użyj list ACL RBAC lub POSIX, aby udzielić żądanych uprawnień podmiotowi zabezpieczeń, który zażąda klucza delegowania użytkownika.
- Uzyskaj token OAuth 2.0 z identyfikatora Entra firmy Microsoft.
- Użyj tokenu, aby zażądać klucza delegowania użytkownika, wywołując operację uzyskiwania klucza delegowania użytkownika
. - Użyj klucza delegowania użytkownika, aby skonstruować token SAS z odpowiednimi polami.
Przypisywanie uprawnień przy użyciu kontroli dostępu opartej na rolach
Podmiot zabezpieczeń, który żąda klucza delegowania użytkownika, musi mieć odpowiednie uprawnienia. Podmiot zabezpieczeń Microsoft Entra ID może być użytkownikiem, grupą, jednostką usługi lub tożsamością zarządzaną.
Aby zażądać klucza delegowania użytkownika, musisz przypisać do podmiotu zabezpieczeń akcję Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey. Następujące wbudowane role RBAC obejmują Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey akcji jawnie lub w ramach definicji symboli wieloznacznych:
- Współautor
- Współautor konta magazynu
- Współautor danych w usłudze Blob Storage
- Właściciel danych obiektu blob usługi Storage
- Czytelnik danych obiektu blob usługi Storage
-
Storage Blob Delegator
Ponieważ operacja pobierania klucza delegowania użytkownika
Jeśli podmiot zabezpieczeń ma przypisaną rolę, która zezwala na dostęp do danych, ale jest ograniczona do poziomu kontenera, możesz dodatkowo przypisać rolę Storage Blob Delegator do podmiotu zabezpieczeń na poziomie konta magazynu, grupy zasobów lub subskrypcji. Rola delegowania obiektów blob usługi
Aby uzyskać więcej informacji na temat ról RBAC dla usługi Azure Storage, zobacz
Uzyskiwanie tokenu OAuth 2.0
Aby uzyskać klucz delegowania użytkownika, najpierw zażądaj tokenu OAuth 2.0 z identyfikatora Entra firmy Microsoft. Podaj token ze schematem elementu nośnego, aby autoryzować wywołanie operacji Pobierz klucz delegowania użytkownika. Aby uzyskać więcej informacji na temat żądania tokenu OAuth z identyfikatora Entra firmy Microsoft, zobacz Przepływy uwierzytelniania i scenariusze aplikacji.
Żądanie klucza delegowania użytkownika
Wywołanie operacji Pobierz klucz delegowania użytkownika zwraca klucz jako zestaw wartości, które są używane jako parametry tokenu SAS delegowania użytkownika. Te parametry opisano w Uzyskiwanie klucza delegowania użytkownika odwołania i w następnej sekcji "Konstruowanie sygnatury dostępu współdzielonego delegowania użytkownika."
Gdy klient żąda klucza delegowania użytkownika przy użyciu tokenu OAuth 2.0, usługa Azure Storage zwraca klucz delegowania użytkownika w imieniu podmiotu zabezpieczeń. Sygnatura dostępu współdzielonego utworzona przy użyciu klucza delegowania użytkownika ma przyznane uprawnienia podmiotowi zabezpieczeń.
Po utworzeniu klucza delegowania użytkownika można go użyć do utworzenia dowolnej liczby sygnatur dostępu współdzielonego delegowania użytkownika w okresie istnienia klucza. Klucz delegowania użytkownika jest niezależny od tokenu OAuth 2.0 używanego do jego uzyskania, dlatego token nie musi być odnawiany tak długo, jak klucz jest nadal prawidłowy. Można określić, że klucz jest ważny przez okres do siedmiu dni.
Konstruowanie sygnatury dostępu współdzielonego delegowania użytkownika
Poniższa tabela zawiera podsumowanie pól obsługiwanych dla tokenu SAS delegowania użytkownika. Kolejne sekcje zawierają dodatkowe szczegóły dotyczące sposobu określania tych parametrów.
Nazwa pola sygnatury dostępu współdzielonego | Parametr tokenu sygnatury dostępu współdzielonego | Wymagane lub opcjonalne | Obsługa wersji | Opis |
---|---|---|---|---|
signedVersion |
sv |
Wymagane | 2018-11-09 i nowsze | Wskazuje wersję usługi używanej do konstruowania pola podpisu. Określa również wersję usługi, która obsługuje żądania wysyłane za pomocą tej sygnatury dostępu współdzielonego. |
signedResource |
sr |
Wymagane | wszystkie | Określa, które zasoby obiektów blob są dostępne za pośrednictwem sygnatury dostępu współdzielonego. |
signedStart |
st |
Opcjonalnie | wszystkie | Opcjonalny. Czas ważności sygnatury dostępu współdzielonego wyrażony w jednym z akceptowanych formatów ISO 8601 UTC. Jeśli ta wartość zostanie pominięta, bieżąca godzina UTC jest używana jako godzina rozpoczęcia. Aby uzyskać więcej informacji na temat akceptowanych formatów UTC, zobacz Format DateTime values. |
signedExpiry |
se |
Wymagane | wszystkie | Czas, gdy sygnatura dostępu współdzielonego stanie się nieprawidłowa, wyrażona w jednym z akceptowanych formatów ISO 8601 UTC. Aby uzyskać więcej informacji na temat akceptowanych formatów UTC, zobacz Format DateTime values. |
signedPermissions |
sp |
Wymagane | wszystkie | Wskazuje operacje wykonywane przez klienta, który posiada sygnaturę dostępu współdzielonego na zasobie. Uprawnienia mogą być łączone. |
signedIp |
sip |
Opcjonalnie | 2015-04-05 i nowsze | Określa adres IP lub inkluzywny zakres adresów IP, z którego mają być akceptowane żądania. Podczas określania zakresu należy pamiętać, że zakres jest inkluzywny. Obsługiwane są tylko adresy IPv4. Na przykład: sip=198.51.100.0 lub sip=198.51.100.10-198.51.100.20 . |
signedProtocol |
spr |
Opcjonalnie | 2015-04-05 i nowsze | Określa protokół dozwolony dla żądania złożonego z sygnaturą dostępu współdzielonego. Dołącz to pole, aby wymagać, aby żądania wysyłane przy użyciu tokenu SAS używały protokołu HTTPS. |
signedObjectId |
skoid |
Wymagane | 2018-11-09 i nowsze | Określa identyfikator obiektu podmiotu zabezpieczeń firmy Microsoft Entra. Ten identyfikator obiektu odpowiada jednostce zabezpieczeń, która zażądała klucza delegowania użytkownika. Przed autoryzowaniem operacji usługa Azure Storage sprawdza uprawnienia RBAC względem identyfikatora obiektu. Jeśli uprawnienia RBAC nie mogą udzielić dostępu, usługa Azure Storage sprawdza uprawnienia listy ACL poSIX względem identyfikatora obiektu. |
signedTenantId |
sktid |
Wymagane | 2018-11-09 i nowsze | Określa dzierżawę firmy Microsoft Entra, w której zdefiniowano podmiot zabezpieczeń. |
signedKeyStartTime |
skt |
Wymagane. | 2018-11-09 i nowsze | Wartość jest zwracana przez operację Pobierz klucz delegowania użytkownika. Wskazuje początek okresu istnienia klucza delegowania użytkownika wyrażony w jednym z akceptowanych formatów ISO 8601 UTC. Aby uzyskać więcej informacji na temat akceptowanych formatów UTC, zobacz Format DateTime values. |
signedKeyExpiryTime |
ske |
Wymagane | 2018-11-09 i nowsze | Wartość jest zwracana przez operację Pobierz klucz delegowania użytkownika. Wskazuje koniec okresu istnienia klucza delegowania użytkownika wyrażony w jednym z akceptowanych formatów ISO 8601 UTC. Aby uzyskać więcej informacji na temat akceptowanych formatów UTC, zobacz Format DateTime values. |
signedKeyVersion |
skv |
Wymagane | 2018-11-09 i nowsze | Wartość jest zwracana przez operację Pobierz klucz delegowania użytkownika. Określa wersję usługi magazynu, która została użyta do pobrania klucza delegowania użytkownika. To pole musi określać wersję 2018-11-09 lub nowszą. |
signedKeyService |
sks |
Wymagane | 2018-11-09 i nowsze | Wskazuje usługę, dla której klucz delegowania użytkownika jest prawidłowy. Obecnie obsługiwana jest tylko usługa Blob Storage. |
signedAuthorizedObjectId |
saoid |
Opcjonalnie | 2020-02-10 i nowsze | Określa identyfikator obiektu podmiotu zabezpieczeń firmy Microsoft entra autoryzowanego przez właściciela klucza delegowania użytkownika w celu wykonania akcji przyznanej przez token SAS. Ten identyfikator obiektu odpowiada podmiotowi zabezpieczeń użytkownikowi końcowemu sygnatury dostępu współdzielonego. Nie jest przeprowadzane żadne dodatkowe sprawdzanie uprawnień na listach kontroli dostępu (ACL) POSIX. |
signedUnauthorizedObjectId |
suoid |
Opcjonalnie | 2020-02-10 i nowsze | Określa identyfikator obiektu dla podmiotu zabezpieczeń firmy Microsoft Entra, gdy włączono hierarchiczną przestrzeń nazw. Ten identyfikator obiektu odpowiada podmiotowi zabezpieczeń użytkownikowi końcowemu sygnatury dostępu współdzielonego. Usługa Azure Storage wykonuje sprawdzanie listy ACL POSIX względem identyfikatora obiektu, zanim autoryzuje operację. |
signedCorrelationId |
scid |
Opcjonalnie | 2020-02-10 i nowsze | Skoreluj dzienniki inspekcji magazynu z dziennikami inspekcji używanymi przez podmiot zabezpieczeń, który generuje i dystrybuuje sygnaturę dostępu współdzielonego. |
signedDirectoryDepth |
sdd |
Wymagane w przypadku sr=d |
2020-02-10 i nowsze | Wskazuje liczbę katalogów w folderze głównym katalogu określonym w polu canonicalizedResource ciągu do znaku. |
signedEncryptionScope |
ses |
Opcjonalnie | 2020-12-06 i nowsze | Wskazuje zakres szyfrowania używany do szyfrowania zawartości żądania. |
signature |
sig |
Wymagane | wszystkie | Podpis to kod uwierzytelniania komunikatów oparty na skrótach (HMAC), który jest obliczany na podstawie ciągu do podpisania i klucza przy użyciu algorytmu SHA256, a następnie zakodowany przy użyciu kodowania Base64. |
nagłówek odpowiedzi Cache-Control |
rscc |
Opcjonalnie | 2013-08-15 i nowsze | Usługa Azure Storage ustawia nagłówek odpowiedzi Cache-Control na wartość określoną w tokenie SAS. |
nagłówek odpowiedzi Content-Disposition |
rscd |
Opcjonalnie | 2013-08-15 i nowsze | Usługa Azure Storage ustawia nagłówek odpowiedzi Content-Disposition na wartość określoną w tokenie SAS. |
nagłówek odpowiedzi Content-Encoding |
rsce |
Opcjonalnie | 2013-08-15 i nowsze | Usługa Azure Storage ustawia nagłówek odpowiedzi Content-Encoding na wartość określoną w tokenie SAS. |
nagłówek odpowiedzi Content-Language |
rscl |
Opcjonalnie | 2013-08-15 i nowsze | Usługa Azure Storage ustawia nagłówek odpowiedzi Content-Language na wartość określoną w tokenie SAS. |
nagłówek odpowiedzi Content-Type |
rsct |
Opcjonalnie | 2013-08-15 i nowsze | Usługa Azure Storage ustawia nagłówek odpowiedzi Content-Type na wartość określoną w tokenie SAS. |
Określanie pola podpisanej wersji
Wymagane pole signedVersion
(sv
) określa wersję usługi dla sygnatury dostępu współdzielonego. Ta wartość wskazuje wersję usługi używanej do konstruowania pola signature
i określa wersję usługi, która obsługuje żądanie wykonane za pomocą tego sygnatury dostępu współdzielonego. Wartość pola sv
musi być w wersji 2018-11-09 lub nowszej.
Określanie pola podpisanego zasobu
Wymagane pole signedResource
(sr
) określa, które zasoby są dostępne za pośrednictwem sygnatury dostępu współdzielonego. W poniższej tabeli opisano sposób odwoływania się do zasobu obiektu blob, kontenera lub katalogu w tokenie SAS:
Zasób | Wartość parametru | Obsługiwane wersje | Opis |
---|---|---|---|
Obiekt blob | b | wszystkie | Przyznaje dostęp do zawartości i metadanych obiektu blob. |
Wersja obiektu blob | Bv | 2018-11-09 i nowsze | Przyznaje dostęp do zawartości i metadanych wersji obiektu blob, ale nie podstawowego obiektu blob. |
Migawka obiektu blob | B | 2018-11-09 i nowsze | Udziela dostępu do zawartości i metadanych migawki obiektu blob, ale nie podstawowego obiektu blob. |
Kontener | c | wszystkie | Przyznaje dostęp do zawartości i metadanych dowolnego obiektu blob w kontenerze oraz do listy obiektów blob w kontenerze. |
Katalog | d | 2020-02-10 i nowsze | Przyznaje dostęp do zawartości i metadanych dowolnego obiektu blob w katalogu oraz do listy obiektów blob w katalogu na koncie magazynu z włączoną hierarchiczną przestrzenią nazw. Jeśli dla pola signedResource określono katalog, wymagany jest również parametr signedDirectoryDepth (sdd ). Katalog jest zawsze w kontenerze. |
Określanie czasu trwania ważności podpisu
Pola signedStart
(st
) i signedExpiry
(se
) wskazują czas rozpoczęcia i wygaśnięcia sygnatury dostępu współdzielonego. Pole signedExpiry
jest wymagane. Pole signedStart
jest opcjonalne. Jeśli zostanie pominięty, bieżąca godzina UTC jest używana jako godzina rozpoczęcia.
W przypadku sygnatury dostępu współdzielonego delegowania użytkownika czas rozpoczęcia i wygaśnięcia sygnatury dostępu współdzielonego powinien mieścić się w przedziale czasu zdefiniowanym dla klucza delegowania użytkownika. Jeśli klient spróbuje użyć sygnatury dostępu współdzielonego po wygaśnięciu klucza delegowania użytkownika, sygnatura dostępu współdzielonego zakończy się niepowodzeniem z powodu błędu autoryzacji, niezależnie od tego, czy sam sygnatura dostępu współdzielonego jest nadal prawidłowa.
Aby uzyskać więcej informacji na temat akceptowanych formatów UTC, zobacz Format DateTime values.
Określanie uprawnień
Uprawnienia określone dla pola signedPermissions
(sp
) na tokenie SAS wskazują, które operacje klient posiadający sygnaturę dostępu współdzielonego może wykonywać na zasobie.
Uprawnienia można połączyć, aby umożliwić klientowi wykonywanie wielu operacji przy użyciu tej samej sygnatury dostępu współdzielonego. Podczas konstruowania sygnatury dostępu współdzielonego należy uwzględnić uprawnienia w następującej kolejności:
racwdxltmeop
Przykłady prawidłowych ustawień uprawnień dla kontenera obejmują rw
, rd
, rl
, wd
, wl
i rl
. Przykłady nieprawidłowych ustawień obejmują wr
, dr
, lr
i dw
. Określanie oznaczenia uprawnień więcej niż raz nie jest dozwolone.
Sygnatura dostępu współdzielonego delegowania użytkownika nie może udzielić dostępu do niektórych operacji:
- Nie można tworzyć, usuwać ani wyświetlać kontenerów.
- Nie można odczytać ani zapisać metadanych i właściwości kontenera.
- Nie można dzierżawić kontenerów.
Aby utworzyć sygnaturę dostępu współdzielonego, która udziela dostępu do tych operacji, użyj sygnatury dostępu współdzielonego konta. Aby uzyskać więcej informacji, zobacz Tworzenie konta sygnatury dostępu współdzielonego.
Uprawnienia obsługiwane dla każdego typu zasobu opisano w poniższej tabeli:
Uprawnienie | Symbol identyfikatora URI | Zasób | Obsługa wersji | Dozwolone operacje |
---|---|---|---|---|
Read | r | Kontener Katalog Obiekt blob |
wszystkie | Odczytaj zawartość, listę bloków, właściwości i metadane dowolnego obiektu blob w kontenerze lub katalogu. Użyj obiektu blob jako źródła operacji kopiowania. |
Dodaj | a | Kontener Katalog Obiekt blob |
wszystkie | Dodaj blok do uzupełnialnych obiektów blob. |
Utwórz | c | Kontener Katalog Obiekt blob |
wszystkie | Napisz nowy obiekt blob, utwórz migawkę obiektu blob lub skopiuj obiekt blob do nowego obiektu blob. |
Write | w | Kontener Katalog Obiekt blob |
wszystkie | Tworzenie lub zapisywanie zawartości, właściwości, metadanych lub listy zablokowanych. Migawka lub dzierżawa obiektu blob. Zmień rozmiar obiektu blob (tylko stronicowy obiekt blob). Użyj obiektu blob jako miejsca docelowego operacji kopiowania. |
Usuń | d | Kontener Katalog Obiekt blob |
wszystkie | Usuwanie obiektu blob. W przypadku wersji 2017-07-29 lub nowszej uprawnienie Usuwanie umożliwia również przerwanie dzierżawy obiektu blob. Aby uzyskać więcej informacji, zobacz operację dzierżawy obiektu blob. |
Usuń wersję | x | Kontener Obiekt blob |
2019-12-12 i nowsze | Usuń wersję obiektu blob. |
Trwałe usuwanie | t | Obiekt blob | 2020-02-10 i nowsze | Trwałe usuwanie migawki lub wersji obiektu blob. |
List | l | Kontener Katalog |
wszystkie | Wyświetlanie listy obiektów blob niecyklicznie. |
Tagi | t | Obiekt blob | 2019-12-12 i nowsze | Odczytywanie lub zapisywanie tagów w obiekcie blob. |
Przesuń | m | Kontener Katalog Obiekt blob |
2020-02-10 i nowsze | Przenieś obiekt blob lub katalog i jego zawartość do nowej lokalizacji. Ta operacja może być opcjonalnie ograniczona do właściciela podrzędnego obiektu blob, katalogu lub katalogu nadrzędnego, jeśli parametr saoid jest dołączony do tokenu SYGNATURy dostępu współdzielonego, a bit sticky jest ustawiony w katalogu nadrzędnym. |
Wykonywanie | e | Kontener Katalog Obiekt blob |
2020-02-10 i nowsze | Pobierz właściwości systemu i, jeśli hierarchiczna przestrzeń nazw jest włączona dla konta magazynu, pobierz listę ACL POSIX obiektu blob. Jeśli hierarchiczna przestrzeń nazw jest włączona, a obiekt wywołujący jest właścicielem obiektu blob, to uprawnienie przyznaje możliwość ustawiania grupy właściciela, uprawnień POSIX i listy ACL POSIX obiektu blob. Obiekt wywołujący nie zezwala na odczytywanie metadanych zdefiniowanych przez użytkownika. |
Własność | o | Kontener Katalog Obiekt blob |
2020-02-10 i nowsze | Gdy hierarchiczna przestrzeń nazw jest włączona, to uprawnienie umożliwia obiektowi wywołującym ustawienie właściciela lub grupy będącej właścicielem albo działanie jako właściciel, gdy obiekt wywołujący zmieni nazwę lub usunie katalog lub obiekt blob w katalogu, który ma ustawiony bit sticky. |
Uprawnienia | p | Kontener Katalog Obiekt blob |
2020-02-10 i nowsze | Gdy hierarchiczna przestrzeń nazw jest włączona, to uprawnienie umożliwia wywołującym ustawianie uprawnień i list ACL POSIX w katalogach i obiektach blob. |
Ustawianie zasad niezmienności | i | Kontener Obiekt blob |
2020-06-12 i nowsze | Ustaw lub usuń zasady niezmienności lub archiwizację ze względów prawnych dla obiektu blob. |
Określanie adresu IP lub zakresu adresów IP
Opcjonalne pole signedIp
(sip
) określa publiczny adres IP lub zakres publicznych adresów IP, z których mają być akceptowane żądania. Jeśli adres IP, z którego pochodzi żądanie, nie jest zgodny z adresem IP lub zakresem adresów określonym w tokenie SAS, żądanie nie jest autoryzowane. Obsługiwane są tylko adresy IPv4.
Po określeniu zakresu adresów IP zakres jest włącznie. Na przykład określenie sip=198.51.100.0
lub sip=198.51.100.10-198.51.100.20
sygnatury dostępu współdzielonego ogranicza żądanie do tych adresów IP.
W poniższej tabeli opisano, czy należy uwzględnić pole signedIp
w tokenie SAS dla danego scenariusza na podstawie środowiska klienta i lokalizacji konta magazynu.
Środowisko klienta | Lokalizacja konta magazynu | Zalecenie |
---|---|---|
Klient uruchomiony na platformie Azure | W tym samym regionie co klient | Sygnatura dostępu współdzielonego udostępniona klientowi w tym scenariuszu nie powinna zawierać wychodzącego adresu IP dla pola signedIp . Żądania wysyłane z tego samego regionu przy użyciu sygnatury dostępu współdzielonego z określonym wychodzącym adresem IP kończą się niepowodzeniem.Zamiast tego użyj sieci wirtualnej platformy Azure do zarządzania ograniczeniami zabezpieczeń sieci. Żądania do usługi Azure Storage z tego samego regionu zawsze odbywają się za pośrednictwem prywatnego adresu IP. Aby uzyskać więcej informacji, zobacz Konfigurowanie zapór i sieci wirtualnych usługi Azure Storage. |
Klient uruchomiony na platformie Azure | W innym regionie od klienta | Sygnatura dostępu współdzielonego udostępniona klientowi w tym scenariuszu może zawierać publiczny adres IP lub zakres adresów dla pola signedIp . Żądania wysyłane za pomocą sygnatury dostępu współdzielonego muszą pochodzić z określonego adresu IP lub zakresu adresów. |
Klient działający lokalnie lub w innym środowisku chmury | W dowolnym regionie świadczenia usługi Azure | Sygnatura dostępu współdzielonego udostępniona klientowi w tym scenariuszu może zawierać publiczny adres IP lub zakres adresów dla pola signedIp . Żądania wysyłane za pomocą sygnatury dostępu współdzielonego muszą pochodzić z określonego adresu IP lub zakresu adresów.Jeśli żądanie przechodzi przez serwer proxy lub bramę, podaj publiczny wychodzący adres IP tego serwera proxy lub bramy dla pola signedIp . |
Określanie protokołu HTTP
Opcjonalne pole signedProtocol
(spr
) określa protokół dozwolony dla żądań wysyłanych za pomocą sygnatury dostępu współdzielonego. Możliwe wartości to zarówno HTTPS, jak i HTTP (https,http
) lub TYLKO HTTPS (https
). Domyślna wartość to https,http
.
Uwaga
Nie można określić protokołu HTTP dla pola spr
.
Określanie identyfikatora podpisanego obiektu
Pole signedObjectId
(skoid
) jest wymagane dla sygnatury dostępu współdzielonego delegowania użytkownika. Operacja Pobierz klucz delegowania użytkownika zwraca tę wartość w ramach odpowiedzi. Podpisany identyfikator obiektu to wartość identyfikatora GUID, która obsługuje niezmienny identyfikator podmiotu zabezpieczeń na platformie tożsamości firmy Microsoft.
Określanie podpisanego identyfikatora dzierżawy
Pole signedTenantId
(sktid
) jest wymagane dla sygnatury dostępu współdzielonego delegowania użytkownika. Operacja Pobierz klucz delegowania użytkownika zwraca tę wartość w ramach odpowiedzi. Podpisany identyfikator dzierżawy to wartość identyfikatora GUID reprezentująca dzierżawę firmy Microsoft Entra, w której zdefiniowano podmiot zabezpieczeń.
Określanie czasu rozpoczęcia klucza podpisanego
Wymagane pole signedKeyStartTime
(skt
) wskazuje początek okresu istnienia klucza delegowania użytkownika w formacie daty ISO. Operacja Pobierz klucz delegowania użytkownika zwraca tę wartość w ramach odpowiedzi.
Określ czas wygaśnięcia podpisanego klucza
Pole signedKeyExpiryTime
(ske
) jest wymagane dla sygnatury dostępu współdzielonego delegowania użytkownika w formacie DATY ISO. Operacja Pobierz klucz delegowania użytkownika zwraca tę wartość w ramach odpowiedzi. Czas wygaśnięcia podpisanego klucza wskazuje koniec okresu istnienia klucza delegowania użytkownika. Wartość czasu wygaśnięcia może wynosić maksymalnie siedem dni od momentu rozpoczęcia sygnatury dostępu współdzielonego.
Określanie podpisanej usługi klucza
Pole signedKeyService
(sks
) jest wymagane dla sygnatury dostępu współdzielonego delegowania użytkownika. Operacja Pobierz klucz delegowania użytkownika zwraca tę wartość w ramach odpowiedzi. Pole usługi klucza podpisanego wskazuje usługę, dla której klucz delegowania użytkownika jest prawidłowy. Wartość pola usługi podpisanego klucza dla usługi Blob Storage to b
.
Określanie podpisanej wersji klucza
Pole signedkeyversion
(skv
) jest wymagane dla sygnatury dostępu współdzielonego delegowania użytkownika. Operacja Pobierz klucz delegowania użytkownika zwraca tę wartość w ramach odpowiedzi. Pole signedkeyversion
określa wersję usługi magazynu używaną do pobierania klucza delegowania użytkownika. To pole musi określać wersję 2018-11-09 lub nowszą.
Określanie podpisanego identyfikatora obiektu użytkownika dla podmiotu zabezpieczeń
Opcjonalne pola signedAuthorizedObjectId
(saoid
) i signedUnauthorizedObjectId
(suoid
) umożliwiają integrację z obciążeniami usług Apache Hadoop i Apache Ranger dla usługi Azure Data Lake Storage. Użyj jednego z tych pól w tokenie SAS, aby określić identyfikator obiektu dla podmiotu zabezpieczeń:
- Pole
saoid
określa identyfikator obiektu podmiotu zabezpieczeń firmy Microsoft Entra, który jest autoryzowany przez właściciela klucza delegowania użytkownika w celu wykonania akcji przyznanej przez token SAS. Usługa Azure Storage weryfikuje token SAS i zapewnia, że właściciel klucza delegowania użytkownika ma wymagane uprawnienia, zanim usługa Azure Storage udzieli dostępu. Nie jest wykonywane dodatkowe sprawdzanie uprawnień dla list ACL POSIX. - Pole
suoid
określa identyfikator obiektu podmiotu zabezpieczeń firmy Microsoft Entra, gdy hierarchiczna przestrzeń nazw jest włączona dla konta magazynu. Polesuoid
jest prawidłowe tylko dla kont, które mają hierarchiczną przestrzeń nazw. Gdy polesuoid
jest uwzględnione w tokenie SAS, usługa Azure Storage wykonuje sprawdzanie listy ACL POSIX względem identyfikatora obiektu, zanim autoryzuje operację. Jeśli sprawdzanie listy ACL nie powiedzie się, operacja zakończy się niepowodzeniem. Hierarchiczna przestrzeń nazw musi być włączona dla konta magazynu, jeśli polesuoid
jest uwzględnione w tokenie SAS. W przeciwnym razie sprawdzanie uprawnień zakończy się niepowodzeniem z powodu błędu autoryzacji.
Identyfikator obiektu podmiotu zabezpieczeń, który żąda klucza delegowania użytkownika, jest przechwytywany w wymaganym polu skoid
. Aby określić identyfikator obiektu w tokenie SAS z polem saoid
lub suoid
, podmiot zabezpieczeń zidentyfikowany w polu skoid
musi mieć przypisaną rolę RBAC obejmującą Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action lub Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/action. Aby uzyskać więcej informacji na temat tych akcji, zobacz operacje dostawcy zasobów platformy Azure.
Określając identyfikator obiektu w polu saoid
lub suoid
, można również ograniczyć operacje powiązane z własnością katalogu lub obiektu blob w następujący sposób:
- Jeśli operacja tworzy katalog lub obiekt blob, usługa Azure Storage ustawia właściciela katalogu lub obiektu blob na wartość określoną przez identyfikator obiektu. Jeśli identyfikator obiektu nie jest określony, usługa Azure Storage ustawia właściciela katalogu lub obiektu blob na wartość określoną przez parametr
skoid
. - Jeśli bit sticky jest ustawiony w katalogu nadrzędnym i operacja usuwa lub zmienia nazwę katalogu lub obiektu blob, identyfikator obiektu właściciela katalogu nadrzędnego lub właściciel zasobu musi być zgodny z wartością określoną przez identyfikator obiektu.
- Jeśli operacja ustawia właściciela katalogu lub obiektu blob, a nagłówek
x-ms-owner
jest określony, wartość określona przez identyfikator obiektu musi być zgodna z wartością określoną przez nagłówekx-ms-owner
. - Jeśli operacja ustawia grupę dla katalogu lub obiektu blob, a nagłówek
x-ms-group
jest określony, wartość określona przez identyfikator obiektu musi być członkiem grupy określonej przez nagłówekx-ms-group
. - Jeśli operacja ustawia uprawnienia lub listę ACL dla katalogu lub obiektu blob, należy również spełnić jeden z następujących dwóch warunków:
- Wartość określona dla identyfikatora obiektu musi być właścicielem katalogu lub obiektu blob.
- Wartość pola
signedPermissions
(sp
) musi zawierać uprawnienieOwnership
(o
) oprócz uprawnieniaPermissions
(p
).
Identyfikator obiektu określony w polu saoid
lub suoid
jest uwzględniany w dziennikach diagnostycznych podczas wykonywania żądań przy użyciu tokenu SAS.
Pole saoid
lub suoid
jest obsługiwane tylko wtedy, gdy pole signedVersion
(sv
) jest ustawione na wersję 2020-02-10 lub nowszą. Token SAS może zawierać tylko jedno z tych pól.
Określanie identyfikatora korelacji
Pole signedCorrelationId
(scid
) określa identyfikator korelacji, który może służyć do korelowania dzienników inspekcji magazynu z dziennikami inspekcji używanymi przez podmiot zabezpieczeń, który generuje i dystrybuuje sygnaturę dostępu współdzielonego. Na przykład zaufana usługa autoryzacji zwykle ma tożsamość zarządzaną, która uwierzytelnia i autoryzuje użytkowników, generuje sygnaturę dostępu współdzielonego, dodaje wpis do lokalnego dziennika inspekcji i zwraca sygnaturę dostępu współdzielonego do użytkownika, który może następnie używać sygnatury dostępu współdzielonego do uzyskiwania dostępu do zasobów usługi Azure Storage. Po uwzględnieniu identyfikatora korelacji w lokalnym dzienniku inspekcji i dzienniku inspekcji magazynu można je skorelować później. Wartość jest identyfikatorem GUID bez nawiasów klamrowych i małymi literami.
To pole jest obsługiwane w wersji 2020-02-10 lub nowszej.
Określanie głębokości katalogu
Jeśli pole signedResource
określa katalog (sr=d
), należy również określić pole signedDirectoryDepth
(sdd
), aby wskazać liczbę podkatalogów w katalogu głównym. Wartość pola sdd
musi być nieujemną liczbą całkowitą.
Na przykład katalog główny https://{account}.blob.core.windows.net/{container}/
ma głębokość 0. Każdy podkatalog w katalogu głównym dodaje do głębokości o 1.
https://{account}.blob.core.windows.net/{container}/d1/d2
katalogu ma głębokość 2.
To pole jest obsługiwane w wersji 2020-02-10 lub nowszej.
Określanie parametrów zapytania w celu zastąpienia nagłówków odpowiedzi
Aby zdefiniować wartości dla niektórych nagłówków odpowiedzi, które mają być zwracane, gdy sygnatura dostępu współdzielonego jest używana w żądaniu, można określić nagłówki odpowiedzi w parametrach zapytania. Nagłówki odpowiedzi i odpowiednie parametry zapytania są następujące:
Nazwa nagłówka odpowiedzi | Odpowiadający parametr zapytania SYGNATURY dostępu współdzielonego |
---|---|
Cache-Control |
rscc |
Content-Disposition |
rscd |
Content-Encoding |
rsce |
Content-Language |
rscl |
Content-Type |
rsct |
Jeśli na przykład określisz parametr zapytania rsct=binary
w tokenie SAS, nagłówek odpowiedzi Content-Type
zostanie ustawiony na binary
. Ta wartość zastępuje wartość nagłówka Content-Type
przechowywaną dla obiektu blob dla żądania tylko przy użyciu tego sygnatury dostępu współdzielonego.
Jeśli tworzysz sygnaturę dostępu współdzielonego, która określa nagłówki odpowiedzi jako parametry zapytania, musisz dołączyć te nagłówki odpowiedzi do znaku ciągu używanego do konstruowania ciągu podpisu. Aby uzyskać więcej informacji, zobacz sekcję "Określaniepodpisu".
Określanie zakresu szyfrowania
Pole signed encryption scope
(ses
) określa zakres szyfrowania używany przez aplikację kliencą podczas przekazywania obiektów blob przy użyciu tokenu SAS za pośrednictwem operacji Put Blob. Pole signed encryption scope
jest obsługiwane, gdy pole podpisanej wersji (sv
) na tokenie SAS jest w wersji 2020-12-06 lub nowszej. Jeśli pole podpisanej wersji określa wersję starszą niż obsługiwana wersja, usługa zwraca kod odpowiedzi błędu 403 (Zabronione).
Jeśli domyślny zakres szyfrowania jest ustawiony dla kontenera lub systemu plików, pole ses
uwzględnia zasady szyfrowania kontenera. Jeśli między parametrem zapytania ses
a nagłówkiem x-ms-default-encryption-scope
występuje niezgodność, a nagłówek x-ms-deny-encryption-scope-override
ma wartość true
, usługa zwraca kod odpowiedzi błędu 403 (Zabronione).
Jeśli nagłówek x-ms-encryption-scope
i parametr zapytania ses
są podane w żądaniu PUT i występuje niezgodność, usługa zwraca kod odpowiedzi błędu 400 (Nieprawidłowe żądanie).
Określanie podpisu
Pole signature
(sig
) służy do autoryzowania żądania złożonego przez klienta z sygnaturą dostępu współdzielonego. Ciąg-znak to unikatowy ciąg skonstruowany z pól, które należy zweryfikować, aby autoryzować żądanie. Podpis jest algorytmem HMAC, który jest obliczany na podstawie ciągu do podpisania i klucza przy użyciu algorytmu SHA256, a następnie zakodowany przy użyciu kodowania Base64.
Aby utworzyć ciąg podpisu sygnatury dostępu współdzielonego delegowania użytkownika, utwórz ciąg do podpisania z pól tworzących żądanie, zakoduj ciąg jako UTF-8, a następnie oblicz podpis przy użyciu algorytmu HMAC-SHA256. Pola zawarte w znaku ciągu muszą być zdekodowane pod adresem URL.
Pola wymagane w ciągu do podpisania zależą od wersji usługi używanej do autoryzacji (polesv
). W poniższych sekcjach opisano konfigurację typu ciąg-znak dla wersji, które obsługują sygnaturę dostępu współdzielonego delegowania użytkownika.
Wersja 2020-12-06 lub nowsza
Ciąg do podpisania dla autoryzacji w wersji 2020-12-06 i nowszej ma następujący format:
StringToSign = signedPermissions + "\n" +
signedStart + "\n" +
signedExpiry + "\n" +
canonicalizedResource + "\n" +
signedKeyObjectId + "\n" +
signedKeyTenantId + "\n" +
signedKeyStart + "\n" +
signedKeyExpiry + "\n" +
signedKeyService + "\n" +
signedKeyVersion + "\n" +
signedAuthorizedUserObjectId + "\n" +
signedUnauthorizedUserObjectId + "\n" +
signedCorrelationId + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedVersion + "\n" +
signedResource + "\n" +
signedSnapshotTime + "\n" +
signedEncryptionScope + "\n" +
rscc + "\n" +
rscd + "\n" +
rsce + "\n" +
rscl + "\n" +
rsct
Wersja 2020-02-10
Znak ciągu do autoryzacji w wersji 2020-02-10 ma następujący format:
StringToSign = signedPermissions + "\n" +
signedStart + "\n" +
signedExpiry + "\n" +
canonicalizedResource + "\n" +
signedKeyObjectId + "\n" +
signedKeyTenantId + "\n" +
signedKeyStart + "\n" +
signedKeyExpiry + "\n" +
signedKeyService + "\n" +
signedKeyVersion + "\n" +
signedAuthorizedUserObjectId + "\n" +
signedUnauthorizedUserObjectId + "\n" +
signedCorrelationId + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedVersion + "\n" +
signedResource + "\n" +
signedSnapshotTime + "\n" +
rscc + "\n" +
rscd + "\n" +
rsce + "\n" +
rscl + "\n" +
rsct
Wersje starsze niż 2020-02-10
Ciąg do podpisania dla wersji autoryzacji, które są starsze niż 2020-02-10, ma następujący format:
StringToSign = signedPermissions + "\n" +
signedStart + "\n" +
signedExpiry + "\n" +
canonicalizedResource + "\n" +
signedKeyObjectId + "\n" +
signedKeyTenantId + "\n" +
signedKeyStart + "\n" +
signedKeyExpiry + "\n" +
signedKeyService + "\n" +
signedKeyVersion + "\n" +
signedAuthorizedUserObjectId + "\n" +
signedUnauthorizedUserObjectId + "\n" +
signedCorrelationId + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedVersion + "\n" +
signedResource + "\n" +
rscc + "\n" +
rscd + "\n" +
rsce + "\n" +
rscl + "\n" +
rsct
Zasób kanoniczny
Część canonicalizedResource
ciągu jest ścieżką kanoniczną do podpisanego zasobu. Musi zawierać punkt końcowy usługi Blob Storage i nazwę zasobu i musi być zdekodowany pod adresem URL. Ścieżka obiektu blob musi zawierać kontener. Ścieżka katalogu musi zawierać liczbę podkatalogów odpowiadających parametrowi sdd
.
Kanoniczny ciąg zasobu dla kontenera musi pominąć końcowy ukośnik (/) dla sygnatury dostępu współdzielonego, która zapewnia dostęp do tego kontenera.
W poniższych przykładach pokazano, jak skonstruować część canonicalizedResource
ciągu w zależności od typu zasobu.
Przykład kontenera (Azure Blob Storage)
URL = https://myaccount.blob.core.windows.net/music
canonicalizedResource = "/blob/myaccount/music"
Przykład obiektu blob (Azure Blob Storage)
URL = https://myaccount.blob.core.windows.net/music/intro.mp3
canonicalizedResource = "/blob/myaccount/music/intro.mp3"
Przykład kontenera (Azure Data Lake Storage)
URL = https://myaccount.dfs.core.windows.net/music
canonicalizedResource = "/blob/myaccount/music"
Przykład katalogu (Azure Data Lake Storage)
URL = https://myaccount.dfs.core.windows.net/music/instruments/guitar/
canonicalizedResource = "/blob/myaccount/music/instruments/guitar/"
Przykład obiektu blob (Azure Data Lake Storage)
URL = https://myaccount.dfs.core.windows.net/music/intro.mp3
canonicalizedResource = "/blob/myaccount/music/intro.mp3"
Pola opcjonalne
Jeśli pole jest opcjonalne i nie podano go jako części tokenu SAS, określ pusty ciąg dla pola. Pamiętaj, aby po pustym ciągu uwzględnić znak nowego wiersza (\n).
Przykład sygnatury dostępu współdzielonego delegowania użytkownika
W poniższym przykładzie pokazano identyfikator URI obiektu blob z dołączonym tokenem SAS delegowania użytkownika. Token SAS delegowania użytkownika zapewnia uprawnienia odczytu i zapisu do obiektu blob.
https://myaccount.blob.core.windows.net/sascontainer/blob1.txt?sp=rw&st=2023-05-24T01:13:55Z&se=2023-05-24T09:13:55Z&skoid=<object-id>&sktid=<tenant-id>&skt=2023-05-24T01:13:55Z&ske=2023-05-24T09:13:55Z&sks=b&skv=2022-11-02&sip=198.51.100.10-198.51.100.20&spr=https&sv=2022-11-02&sr=b&sig=<signature>
Każda część identyfikatora URI jest opisana w poniższej tabeli:
Nazwisko | Część sygnatury dostępu współdzielonego | Opis |
---|---|---|
Adres URI zasobu | https://myaccount.blob.core.windows.net/sascontainer/blob1.txt |
Adres obiektu blob. Zdecydowanie zalecamy korzystanie z protokołu HTTPS. |
Ogranicznik | ? |
Ogranicznik poprzedzający ciąg zapytania. Ogranicznik nie jest częścią tokenu SAS. |
Uprawnienia | sp=rw |
Uprawnienia przyznane przez sygnaturę dostępu współdzielonego obejmują odczyt (r) i zapis (w). |
Godzina rozpoczęcia | st=2023-05-24T01:13:55Z |
Określony w czasie UTC. Jeśli sygnatura dostępu współdzielonego ma być prawidłowa natychmiast, pomiń godzinę rozpoczęcia. |
Czas wygaśnięcia | se=2023-05-24T09:13:55Z |
Określony w czasie UTC. |
Identyfikator obiektu | skoid=<object-id> |
Podmiot zabezpieczeń firmy Microsoft Entra. |
Identyfikator dzierżawy | sktid=<tenant-id> |
Dzierżawa firmy Microsoft Entra, w której zarejestrowano podmiot zabezpieczeń. |
Czas rozpoczęcia klucza | skt=2023-05-24T01:13:55Z |
Początek okresu istnienia klucza delegowania użytkownika. |
Czas wygaśnięcia klucza | ske=2023-05-24T09:13:55Z |
Koniec okresu istnienia klucza delegowania użytkownika. |
Usługa kluczy | sks=b |
Wartość usługi jest obsługiwana tylko przez usługę Blob Service. |
Wersja klucza | skv=2022-11-02 |
Wersja usługi magazynu, która została użyta do pobrania klucza delegowania użytkownika. |
Zakres adresów IP | sip=198.51.100.10-198.51.100.20 |
Zakres adresów IP, z których zostanie zaakceptowane żądanie. |
Protokół | spr=https |
Dozwolone są tylko żądania używające protokołu HTTPS. |
Wersja usługi Blob Service | sv=2022-11-02 |
W przypadku usługi Azure Storage w wersji 2012-02-12 lub nowszej ten parametr wskazuje wersję do użycia. |
Zasób | sr=b |
Zasób jest obiektem blob. |
Podpis | sig=<signature> |
Służy do autoryzowania dostępu do obiektu blob. Podpis jest algorytmem HMAC obliczanym za pomocą ciągu do podpisania i klucza przy użyciu algorytmu SHA256, a następnie zakodowanego przy użyciu kodowania Base64. |
Odwoływanie sygnatury dostępu współdzielonego delegowania użytkownika
Jeśli uważasz, że naruszenie zabezpieczeń sygnatury dostępu współdzielonego zostało naruszone, należy je odwołać. Sygnaturę dostępu współdzielonego delegowania użytkownika można odwołać, odwołując klucz delegowania użytkownika lub zmieniając lub usuwając przypisania ról RBAC i listy ACL POSIX dla podmiotu zabezpieczeń używanego do tworzenia sygnatury dostępu współdzielonego.
Ważne
Zarówno klucz delegowania użytkownika, jak i przypisania ról RBAC są buforowane przez usługę Azure Storage, dlatego może wystąpić opóźnienie między zainicjowaniem procesu odwołania i nieprawidłową sygnaturą dostępu współdzielonego delegowania użytkownika.
Odwoływanie klucza delegowania użytkownika
Klucz delegowania użytkownika można odwołać, wywołując operację Odwołaj klucze delegowania użytkownika. Po odwołaniu klucza delegowania użytkownika wszelkie sygnatury dostępu współdzielonego korzystające z tego klucza stają się nieprawidłowe. Następnie możesz ponownie wywołać operację Pobierz klucz delegowania użytkownika i użyć klucza do utworzenia nowych sygnatur dostępu współdzielonego. Jest to najszybszy sposób odwołania sygnatury dostępu współdzielonego delegowania użytkownika.
Zmienianie lub usuwanie przypisań ról lub list ACL
Możesz zmienić lub usunąć przypisanie roli RBAC i listy ACL POSIX dla podmiotu zabezpieczeń używanego do tworzenia sygnatury dostępu współdzielonego. Gdy klient używa sygnatury dostępu współdzielonego do uzyskiwania dostępu do zasobu, usługa Azure Storage sprawdza, czy podmiot zabezpieczeń, którego poświadczenia zostały użyte do zabezpieczenia sygnatury dostępu współdzielonego, ma wymagane uprawnienia do zasobu.
Zobacz też
- Delegowanie dostępu za pomocą sygnatury dostępu współdzielonego
- Tworzenie sygnatury dostępu współdzielonego usługi
- Tworzenie sygnatury dostępu współdzielonego konta
- kody błędów sygnatury dostępu współdzielonego