Tworzenie sygnatury dostępu współdzielonego konta
Ważny
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.
W przypadku scenariuszy, w których są używane sygnatury dostępu współdzielonego (SAS), firma Microsoft zaleca używanie sygnatury dostępu współdzielonego delegowania użytkowników. Sygnatura dostępu współdzielonego delegowania użytkownika jest zabezpieczona przy użyciu poświadczeń usługi Microsoft Entra zamiast klucza konta. Aby dowiedzieć się więcej o sygnaturach dostępu współdzielonego, zobacz Tworzenie sygnatur dostępu współdzielonego delegowania użytkownika.
Od wersji 2015-04-05 usługa Azure Storage obsługuje tworzenie nowego typu sygnatury dostępu współdzielonego (SAS) na poziomie konta magazynu. Tworząc sygnaturę dostępu współdzielonego konta, możesz wykonywać następujące czynności:
Deleguj dostęp do operacji na poziomie usług, które nie są obecnie dostępne w ramach sygnatury dostępu współdzielonego specyficznej dla usługi, takich jak operacje
Get/Set Service Properties
iGet Service Stats
.Delegowanie dostępu do więcej niż jednej usługi na koncie magazynu jednocześnie. Na przykład można delegować dostęp do zasobów zarówno w usłudze Azure Blob Storage, jak i w usłudze Azure Files przy użyciu sygnatury dostępu współdzielonego konta.
Delegowanie dostępu do operacji zapisu i usuwania dla kontenerów, kolejek, tabel i udziałów plików, które nie są dostępne dla sygnatury dostępu współdzielonego specyficznego dla obiektu.
Określ adres IP lub zakres adresów IP, z których mają być akceptowane żądania.
Określ protokół HTTP, z którego mają być akceptowane żądania (HTTPS lub HTTP/HTTPS).
Przechowywane zasady dostępu nie są obecnie obsługiwane dla sygnatury dostępu współdzielonego konta.
Ostrożność
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 sygnatur dostępu współdzielonego powinny być dystrybuowane tylko w bezpiecznym połączeniu, takim jak HTTPS.
Autoryzowanie sygnatury dostępu współdzielonego konta
Sygnatura dostępu współdzielonego konta jest zabezpieczana przy użyciu klucza konta magazynu. Podczas tworzenia sygnatury dostępu współdzielonego konta aplikacja kliencka musi mieć klucz konta.
Aby zabezpieczyć sygnaturę dostępu współdzielonego dla kontenera lub obiektu blob przy użyciu poświadczeń firmy Microsoft Entra, utworzyć sygnaturę dostępu współdzielonego delegowania użytkownika.
Konstruowanie identyfikatora URI sygnatury dostępu współdzielonego konta
Identyfikator URI sygnatury dostępu współdzielonego konta składa się z identyfikatora URI zasobu, dla którego sygnatura dostępu współdzielonego deleguje dostęp, a następnie token SAS. Token sygnatury dostępu współdzielonego to ciąg zapytania zawierający wszystkie informacje wymagane do autoryzowania żądania do zasobu. Określa usługę, zasób i uprawnienia, które są dostępne do uzyskania dostępu, oraz okres, w którym podpis jest prawidłowy.
Określanie parametrów sygnatury dostępu współdzielonego konta
Wymagane i opcjonalne parametry tokenu SAS zostały opisane w poniższej tabeli:
Parametr zapytania sygnatury dostępu współdzielonego | Opis |
---|---|
api-version |
Fakultatywny. Określa wersję usługi magazynu do użycia do wykonania żądania, które zostało wykonane przy użyciu identyfikatora URI sygnatury dostępu współdzielonego konta. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań przy użyciu sygnatury dostępu współdzielonego. |
SignedVersion (sv) |
Wymagane. Określa podpisaną wersję usługi magazynu, która ma być używana do autoryzacji żądań wysyłanych przy użyciu tej sygnatury dostępu współdzielonego konta. Musi być ustawiona na wersję 2015-04-05 lub nowszą. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań przy użyciu sygnatury dostępu współdzielonego. |
SignedServices (ss) |
Wymagane. Określa podpisane usługi, które są dostępne dla sygnatury dostępu współdzielonego konta. Możliwe wartości to: - Obiekt blob ( b )- Kolejka ( q )- Tabela ( t )- Plik ( f )Możesz połączyć wartości, aby zapewnić dostęp do więcej niż jednej usługi. Na przykład ss=bf określa dostęp do punktów końcowych usługi Blob Storage i Azure Files. |
SignedResourceTypes (srt) |
Wymagane. Określa podpisane typy zasobów, które są dostępne dla sygnatury dostępu współdzielonego konta. - Service ( s ): Access to service-level APIs (na przykład Get/Set Service Properties, Get Service Stats, List Containers/Queues/Tables/Shares).- Container ( c ): Access to container-level APIs (na przykład Create/Delete Container, Create/Delete Queue, Create/Delete Table, Create/Delete Table, Create/Delete Share, List Blobs/Files and Directories).- Object ( o ): Access to object-level APIs for blobs, queue messages, table entities, and files (na przykład Put Blob, Query Entity, Get Messages, Create File).Możesz połączyć wartości, aby zapewnić dostęp do więcej niż jednego typu zasobu. Na przykład srt=sc określa dostęp do zasobów usługi i kontenera. |
SignedPermissions (sp) |
Wymagane. Określa podpisane uprawnienia dla sygnatury dostępu współdzielonego konta. Uprawnienia są prawidłowe tylko wtedy, gdy są zgodne z określonym typem zasobu podpisanego. Jeśli nie są one zgodne, są ignorowane. - Odczyt ( r ): Prawidłowe dla wszystkich podpisanych typów zasobów (usługa, kontener i obiekt). Zezwala na uprawnienia odczytu do określonego typu zasobu.- Write ( w ): Valid for all signed resources types (Service, Container, and Object). Zezwala na dostęp do zapisu dla określonego typu zasobu, co umożliwia użytkownikowi tworzenie i aktualizowanie zasobów.- Usuń ( d ): Prawidłowe dla typów zasobów kontenera i obiektu, z wyjątkiem komunikatów w kolejce.- Usuń wersję ( x ): Prawidłowa dla typu zasobu obiektu tylko obiektu blob.- Trwałe usuwanie ( y ): Prawidłowe dla typu zasobu obiektu blob tylko.- Lista ( l ): prawidłowa tylko dla typów zasobów usługi i kontenera.- Dodaj ( a ): Prawidłowe tylko dla następujących typów zasobów obiektów: komunikaty kolejki, jednostki tabeli i uzupełnialne obiekty blob.- Create ( c ): Valid for Container resource types and the following Object resource types: blobs and files (Prawidłowe dla typów zasobów kontenera i następujących typów zasobów obiektów: obiekty blob i pliki). Użytkownicy mogą tworzyć nowe zasoby, ale mogą nie zastępować istniejących zasobów.- Update ( u ): Prawidłowe tylko dla następujących typów zasobów obiektów: komunikaty kolejki i jednostki tabeli.- Proces ( p ): Prawidłowy tylko dla następującego typu zasobu obiektu: komunikaty kolejki.- Tag ( t ): Prawidłowy tylko dla następującego typu zasobu obiektu: obiekty blob. Zezwala na operacje tagów obiektów blob.- Filter ( f ): Valid for the following Object resource type only: blob(Filtr (f ): Valid for the following Object resource type only: blob.( Filtr (f ): Valid for the following Object resource type only: blob (Prawidłowy dla następujące Zezwala na filtrowanie według tagu obiektu blob.- Ustaw zasady niezmienności ( i ): Prawidłowe tylko dla następującego typu zasobu obiektu: blob. Zezwala na ustawianie/usuwanie zasad niezmienności i archiwizację ze względów prawnych dla obiektu blob. |
SignedStart (st) |
Fakultatywny. Czas ważności sygnatury dostępu współdzielonego wyrażony w jednym z akceptowanych formatów ISO 8601 UTC. Jeśli zostanie pominięty, zakłada się, że czas rozpoczęcia będzie czasem odebrania żądania przez usługę magazynu. Aby uzyskać więcej informacji na temat akceptowanych formatów UTC, zobacz Formatowanie wartości daty/godziny. |
SignedExpiry (se) |
Wymagane. 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 Formatowanie wartości daty/godziny. |
SignedIP (sip) |
Fakultatywny. Określa adres IP lub zakres adresów IP, z których 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) |
Fakultatywny. Określa protokół dozwolony dla żądania złożonego z sygnaturą dostępu współdzielonego konta. Możliwe wartości to zarówno HTTPS, jak i HTTP (https,http ) lub TYLKO HTTPS (https ). Wartość domyślna to https,http .Należy pamiętać, że tylko protokół HTTP nie jest dozwoloną wartością. |
SignedEncryptionScope (ses) |
Fakultatywny. Wskazuje zakres szyfrowania używany do szyfrowania zawartości żądania. To pole jest obsługiwane w wersji 2020-12-06 lub nowszej. |
Signature (sig) |
Wymagane. Część podpisu identyfikatora URI służy do autoryzowania żądania utworzonego przy użyciu sygnatury dostępu współdzielonego. Ciąg-znak to unikatowy ciąg skonstruowany z pól, które należy zweryfikować, aby autoryzować żądanie. 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. |
Określanie pola signedVersion
Pole signedVersion
(sv
) zawiera wersję usługi sygnatury dostępu współdzielonego. Ta wartość określa wersję autoryzacji klucza współdzielonego, która jest używana przez ten sygnatura dostępu współdzielonego (w polu signature
). Wartość określa również wersję usługi dla żądań wysyłanych za pomocą tego sygnatury dostępu współdzielonego.
Aby uzyskać informacje o wersji używanej podczas wykonywania żądań za pośrednictwem sygnatury dostępu współdzielonego, zobacz Przechowywanie wersji dla usług Azure Storage.
Aby uzyskać informacje na temat wpływu tego parametru na autoryzację żądań wysyłanych za pomocą sygnatury dostępu współdzielonego, zobacz Delegowanie dostępu za pomocą sygnatury dostępu współdzielonego.
Nazwa pola | Parametr zapytania | Opis |
---|---|---|
signedVersion |
sv |
Wymagane. Obsługiwane w wersji 2015-04-05 lub nowszej. Wersja usługi magazynu do użycia do autoryzowania i obsługi żądań wysyłanych za pomocą tego sygnatury dostępu współdzielonego. Aby uzyskać więcej informacji, zobacz Versioning for Azure Storage services. |
Określanie adresu IP lub zakresu adresów IP
Od wersji 2015-04-05 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.
Podczas określania zakresu adresów IP należy pamiętać, że zakres jest inkluzywny. 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 określonego 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, które używają sygnatury dostępu współdzielonego z określonym wychodzącym adresem IP, zakończy 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 Configure Azure Storage firewalls and virtual networks (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 . Żądanie z sygnaturą dostępu współdzielonego musi 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 . Żądanie z sygnaturą dostępu współdzielonego musi 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
Począwszy od wersji 2015-04-05, opcjonalne pole signedProtocol
(spr
) określa protokół dozwolony dla żądania złożonego z sygnaturą dostępu współdzielonego. Możliwe wartości to zarówno HTTPS, jak i HTTP (https,http
) lub TYLKO HTTPS (https
). Wartość domyślna to https,http
. Należy pamiętać, że tylko protokół HTTP nie jest dozwoloną wartością.
Określanie zakresu szyfrowania
Używając pola signedEncryptionScope
w identyfikatorze URI, można określić zakres szyfrowania, którego może używać aplikacja kliencka. Wymusza szyfrowanie po stronie serwera z określonym zakresem szyfrowania podczas przekazywania obiektów blob (PUT) przy użyciu tokenu SAS. Get i HEAD nie będą ograniczone i wykonywane tak jak wcześniej.
W poniższej tabeli opisano sposób odwoływania się do podpisanego zakresu szyfrowania w identyfikatorze URI:
Nazwa pola | Parametr zapytania | Opis |
---|---|---|
signedEncryptionScope |
ses |
Fakultatywny. Wskazuje zakres szyfrowania używany do szyfrowania zawartości żądania. |
To pole jest obsługiwane w wersji 2020-12-06 lub nowszej. Jeśli dodasz ses
przed obsługiwaną wersją, usługa zwróci kod odpowiedzi błędu 403 (Zabronione).
Jeśli ustawisz domyślny zakres szyfrowania dla kontenera lub systemu plików, ses
parametr zapytania 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).
Po podaniu nagłówka x-ms-encryption-scope
i parametru zapytania ses
w żądaniu PUT usługa zwraca kod odpowiedzi błędu 400 (nieprawidłowe żądanie), jeśli występuje niezgodność.
Konstruowanie ciągu podpisu
Aby skonstruować ciąg podpisu dla sygnatury dostępu współdzielonego konta, najpierw skonstruuj ciąg do podpisania z pól tworzących żądanie, a następnie zakoduj ciąg jako UTF-8 i oblicz podpis przy użyciu algorytmu HMAC-SHA256.
Nuta
Pola zawarte w znaku ciągu muszą być zdekodowane pod adresem URL.
Aby utworzyć ciąg do podpisania dla sygnatury dostępu współdzielonego konta, użyj następującego formatu:
StringToSign = accountname + "\n" +
signedpermissions + "\n" +
signedservice + "\n" +
signedresourcetype + "\n" +
signedstart + "\n" +
signedexpiry + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedversion + "\n"
Wersja 2020-12-06 dodaje obsługę podpisanego pola zakresu szyfrowania. Aby utworzyć ciąg do podpisania dla sygnatury dostępu współdzielonego konta, użyj następującego formatu:
StringToSign = accountname + "\n" +
signedpermissions + "\n" +
signedservice + "\n" +
signedresourcetype + "\n" +
signedstart + "\n" +
signedexpiry + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedversion + "\n" +
signedEncryptionScope + "\n"
Uprawnienia sygnatury dostępu współdzielonego konta według operacji
Tabele w poniższych sekcjach zawierają listę różnych interfejsów API dla każdej usługi oraz podpisanych typów zasobów i podpisanych uprawnień, które są obsługiwane dla każdej operacji.
Usługa obiektów blob
W poniższej tabeli wymieniono operacje usługi Blob Service i wskazuje, który podpisany typ zasobu i podpisane uprawnienia do określenia podczas delegowania dostępu do tych operacji.
Operacja | Podpisana usługa | Typ zasobu z podpisem | Podpisane uprawnienie |
---|---|---|---|
Wyświetlanie listy kontenerów | Obiekt blob (b) | Usługi (s) | Lista (l) |
Pobieranie właściwości usługi Blob Service | Obiekt blob (b) | Usługi (s) | Odczyt (r) |
Ustawianie właściwości usługi Blob Service | Obiekt blob (b) | Usługi (s) | Zapis (w) |
Pobieranie statystyk usługi Blob Service | Obiekt blob (b) | Usługi (s) | Odczyt (r) |
Tworzenie kontenera | Obiekt blob (b) | Kontener (c) | Create(c) lub Write (w) |
Pobieranie właściwości kontenera | Obiekt blob (b) | Kontener (c) | Odczyt (r) |
Pobieranie metadanych kontenera | Obiekt blob (b) | Kontener (c) | Odczyt (r) |
Ustawianie metadanych kontenera | Obiekt blob (b) | Kontener (c) | Zapis (w) |
Kontener dzierżawy | Obiekt blob (b) | Kontener (c) | Zapis (w) lub usuwanie (d)1 |
Usuwanie kontenera | Obiekt blob (b) | Kontener (c) | Usuwanie (d)1 |
Znajdowanie obiektów blob według tagów w kontenerze | Obiekt blob (b) | Kontener (c) | Filtr (f) |
Wyświetlanie listy obiektów blob | Obiekt blob (b) | Kontener (c) | Lista (l) |
Umieść obiekt blob (utwórz nowy blokowy obiekt blob) | Obiekt blob (b) | Obiekt (o) | Tworzenie (c) lub zapis (w) |
Umieść obiekt blob (zastąp istniejący blokowy obiekt blob) | Obiekt blob (b) | Obiekt (o) | Zapis (w) |
Umieść obiekt blob (utwórz nowy stronicowy obiekt blob) | Obiekt blob (b) | Obiekt (o) | Tworzenie (c) lub zapis (w) |
Umieść obiekt blob (zastąp istniejący stronicowy obiekt blob) | Obiekt blob (b) | Obiekt (o) | Zapis (w) |
Uzyskiwanie obiektu blob | Obiekt blob (b) | Obiekt (o) | Odczyt (r) |
Pobieranie właściwości obiektu blob | Obiekt blob (b) | Obiekt (o) | Odczyt (r) |
Ustawianie właściwości obiektu blob | Obiekt blob (b) | Obiekt (o) | Zapis (w) |
Pobieranie metadanych obiektu blob | Obiekt blob (b) | Obiekt (o) | Odczyt (r) |
Ustawianie metadanych obiektu blob | Obiekt blob (b) | Obiekt (o) | Zapis (w) |
Pobieranie tagów obiektów blob | Obiekt blob (b) | Obiekt (o) | Tagi (t) |
Ustawianie tagów obiektów blob | Obiekt blob (b) | Obiekt (o) | Tagi (t) |
Znajdowanie obiektów blob według tagów | Obiekt blob (b) | Obiekt (o) | Filtr (f) |
Usuwanie obiektu blob | Obiekt blob (b) | Obiekt (o) | Usuwanie (d)1 |
Usuwanie wersji obiektu blob | Obiekt blob (b) | Obiekt (o) | Usuwanie wersji (x)2 |
Trwałe usuwanie migawki/wersji | Obiekt blob (b) | Obiekt (o) | Trwałe usuwanie (y)3 |
Dzierżawa obiektu blob | Obiekt blob (b) | Obiekt (o) | Zapis (w) lub usuwanie (d)1 |
Migawka obiektu blob | Obiekt blob (b) | Obiekt (o) | Tworzenie (c) lub zapis (w) |
Kopiowanie obiektu blob (miejsce docelowe to nowy obiekt blob) | Obiekt blob (b) | Obiekt (o) | Tworzenie (c) lub zapis (w) |
Kopiowanie obiektu blob (miejsce docelowe jest istniejącym obiektem blob) | Obiekt blob (b) | Obiekt (o) | Zapis (w) |
Kopiowanie przyrostowe | Obiekt blob (b) | Obiekt (o) | Tworzenie (c) lub zapis (w) |
Przerwanie kopiowania obiektu blob | Obiekt blob (b) | Obiekt (o) | Zapis (w) |
Umieść blok | Obiekt blob (b) | Obiekt (o) | Zapis (w) |
Umieść listę bloków (utwórz nowy obiekt blob) | Obiekt blob (b) | Obiekt (o) | Zapis (w) |
Umieść listę bloków (zaktualizuj istniejący obiekt blob) | Obiekt blob (b) | Obiekt (o) | Zapis (w) |
Pobieranie listy zablokowanych | Obiekt blob (b) | Obiekt (o) | Odczyt (r) |
Umieść stronę | Obiekt blob (b) | Obiekt (o) | Zapis (w) |
Pobieranie zakresów stron | Obiekt blob (b) | Obiekt (o) | Odczyt (r) |
Blok dołączania | Obiekt blob (b) | Obiekt (o) | Dodawanie (a) lub zapis (w) |
Wyczyść stronę | Obiekt blob (b) | Obiekt (o) | Zapis (w) |
1 Uprawnienie Delete
zezwala na przerywanie dzierżawy obiektu blob lub kontenera w wersji 2017-07-29 lub nowszej.
2 Uprawnienie Delete Version
umożliwia usunięcie wersji obiektów blob w wersji 2019-12-12 lub nowszej.
3 Uprawnienie Permanent Delete
umożliwia trwałe usunięcie migawki obiektu blob lub wersji w wersji 2020-02-10 lub nowszej.
Usługa kolejkowania
W poniższej tabeli wymieniono operacje usługi Kolejki i wskazuje, który podpisany typ zasobu i podpisane uprawnienia do określenia podczas delegowania dostępu do tych operacji.
Operacja | Podpisana usługa | Typ zasobu z podpisem | Podpisane uprawnienie |
---|---|---|---|
Pobieranie właściwości usługi kolejki | Kolejka (q) | Usługi (s) | Odczyt (r) |
Ustawianie właściwości usługi kolejki | Kolejka (q) | Usługi (s) | Zapis (w) |
Kolejki listy | Kolejka (q) | Usługi (s) | Lista (l) |
Pobieranie statystyk usługi kolejki | Kolejka (q) | Usługi (s) | Odczyt (r) |
Tworzenie kolejki | Kolejka (q) | Kontener (c) | Create(c) lub Write (w) |
Usuwanie kolejki | Kolejka (q) | Kontener (c) | Usuń (d) |
Pobieranie metadanych kolejki | Kolejka (q) | Kontener (c) | Odczyt (r) |
Ustawianie metadanych kolejki | Kolejka (q) | Kontener (c) | Zapis (w) |
Umieść wiadomość | Kolejka (q) | Obiekt (o) | Dodaj (a) |
Pobieranie komunikatów | Kolejka (q) | Obiekt (o) | Proces (p) |
Zobacz wiadomości | Kolejka (q) | Obiekt (o) | Odczyt (r) |
Usuń wiadomość | Kolejka (q) | Obiekt (o) | Proces (p) |
Wyczyść komunikaty | Kolejka (q) | Obiekt (o) | Usuń (d) |
Aktualizuj komunikat | Kolejka (q) | Obiekt (o) | Aktualizacja (u) |
Usługa tabel
W poniższej tabeli wymieniono operacje usługi Table Service i wskazuje, który podpisany typ zasobu i podpisane uprawnienia do określenia podczas delegowania dostępu do tych operacji.
Operacja | Podpisana usługa | Typ zasobu z podpisem | Podpisane uprawnienie |
---|---|---|---|
Pobieranie właściwości usługi Table Service | Tabela (t) | Usługi (s) | Odczyt (r) |
Ustawianie właściwości usługi Table Service | Tabela (t) | Usługi (s) | Zapis (w) |
Pobieranie statystyk usługi Table Service | Tabela (t) | Usługi (s) | Odczyt (r) |
Tabele zapytań | Tabela (t) | Kontener (c) | Lista (l) |
Tworzenie tabeli | Tabela (t) | Kontener (c) | Tworzenie (c) lub zapis (w) |
Usuń tabelę | Tabela (t) | Kontener (c) | Usuń (d) |
Wykonywanie zapytań o jednostki | Tabela (t) | Obiekt (o) | Odczyt (r) |
Wstaw jednostkę | Tabela (t) | Obiekt (o) | Dodaj (a) |
Wstawianie lub scalanie jednostki | Tabela (t) | Obiekt (o) | Dodawanie (a) i aktualizowanie (u)1 |
Wstawianie lub zastępowanie jednostki | Tabela (t) | Obiekt (o) | Dodawanie (a) i aktualizowanie (u)1 |
Aktualizowanie jednostki | Tabela (t) | Obiekt (o) | Aktualizacja (u) |
Scal jednostkę | Tabela (t) | Obiekt (o) | Aktualizacja (u) |
Usuń jednostkę | Tabela (t) | Obiekt (o) | Usuń (d) |
1 Uprawnienia dodawania i aktualizowania są wymagane w przypadku operacji upsert w usłudze Table Service.
Usługa plików
W poniższej tabeli wymieniono operacje usługi plików i wskazuje, który podpisany typ zasobu i podpisane uprawnienia do określenia podczas delegowania dostępu do tych operacji.
Operacja | Podpisana usługa | Typ zasobu z podpisem | Podpisane uprawnienie |
---|---|---|---|
Wyświetlanie listy udziałów | Plik (f) | Usługi (s) | Lista (l) |
Pobieranie właściwości usługi plików | Plik (f) | Usługi (s) | Odczyt (r) |
Ustawianie właściwości usługi plików | Plik (f) | Usługi (s) | Zapis (w) |
Pobieranie statystyk udziału | Plik (f) | Kontener (c) | Odczyt (r) |
Tworzenie udziału | Plik (f) | Kontener (c) | Tworzenie (c) lub zapis (w) |
Udział migawek | Plik (f) | Kontener (c) | Tworzenie (c) lub zapis (w) |
Pobieranie właściwości udziału | Plik (f) | Kontener (c) | Odczyt (r) |
Ustawianie właściwości udziału | Plik (f) | Kontener (c) | Zapis (w) |
Pobieranie metadanych udziału | Plik (f) | Kontener (c) | Odczyt (r) |
Ustawianie metadanych udziału | Plik (f) | Kontener (c) | Zapis (w) |
Usuń udział | Plik (f) | Kontener (c) | Usuń (d) |
Wyświetlanie listy katalogów i plików | Plik (f) | Kontener (c) | Lista (l) |
Utwórz katalog | Plik (f) | Obiekt (o) | Tworzenie (c) lub zapis (w) |
Pobieranie właściwości katalogu | Plik (f) | Obiekt (o) | Odczyt (r) |
Pobieranie metadanych katalogu | Plik (f) | Obiekt (o) | Odczyt (r) |
Ustawianie metadanych katalogu | Plik (f) | Obiekt (o) | Zapis (w) |
Usuń katalog | Plik (f) | Obiekt (o) | Usuń (d) |
Utwórz plik (utwórz nowy) | Plik (f) | Obiekt (o) | Tworzenie (c) lub zapis (w) |
Tworzenie pliku (zastępowanie istniejącego) | Plik (f) | Obiekt (o) | Zapis (w) |
Pobieranie pliku | Plik (f) | Obiekt (o) | Odczyt (r) |
Pobieranie właściwości pliku | Plik (f) | Obiekt (o) | Odczyt (r) |
Pobieranie metadanych pliku | Plik (f) | Obiekt (o) | Odczyt (r) |
Ustawianie metadanych pliku | Plik (f) | Obiekt (o) | Zapis (w) |
Usuń plik | Plik (f) | Obiekt (o) | Usuń (d) |
Zmienianie nazwy pliku | Plik (f) | Obiekt (o) | Usuwanie (d) lub zapis (w) |
Umieść zakres | Plik (f) | Obiekt (o) | Zapis (w) |
Zakresy list | Plik (f) | Obiekt (o) | Odczyt (r) |
Przerwanie kopiowania pliku | Plik (f) | Obiekt (o) | Zapis (w) |
Kopiuj plik | Plik (f) | Obiekt (o) | Zapis (w) |
Wyczyść zakres | Plik (f) | Obiekt (o) | Zapis (w) |
Przykład identyfikatora URI sygnatury dostępu współdzielonego konta
W poniższym przykładzie przedstawiono identyfikator URI usługi Blob Service z dołączonym do niego tokenem SAS konta. Token SAS konta zapewnia uprawnienia do usługi, kontenera i obiektów. Tabela dzieli każdą część identyfikatora URI:
https://blobsamples.blob.core.windows.net/?sv=2022-11-02&ss=b&srt=sco&sp=rwlc&se=2023-05-24T09:51:36Z&st=2023-05-24T01:51:36Z&spr=https&sig=<signature>
Nazwa | Część sygnatury dostępu współdzielonego | Opis |
---|---|---|
Identyfikator URI zasobu | https://myaccount.blob.core.windows.net/?restype=service&comp=properties |
Punkt końcowy usługi z parametrami pobierania właściwości usługi (po wywołaniu polecenia GET) lub ustawiania właściwości usługi (po wywołaniu polecenia SET). Na podstawie wartości pola podpisanych usług (ss ) ten sygnatura dostępu współdzielonego może być używana z usługą Blob Storage lub Azure Files. |
Ogranicznik | ? |
Ogranicznik poprzedzający ciąg zapytania. Ogranicznik nie jest częścią tokenu SAS. |
Wersja usług magazynu | sv=2022-11-02 |
W przypadku usług Azure Storage w wersji 2012-02-12 lub nowszej ten parametr wskazuje, która wersja ma być używana. |
Usługi | ss=b |
Sygnatura dostępu współdzielonego dotyczy usług obiektów blob. |
Typy zasobów | srt=sco |
Sygnatura dostępu współdzielonego ma zastosowanie do operacji na poziomie usługi, na poziomie kontenera i na poziomie obiektu. |
Uprawnienia | sp=rwlc |
Uprawnienia udzielają dostępu do operacji odczytu, zapisu, listy i tworzenia. |
Godzina rozpoczęcia | st=2019-08-01T22%3A18%3A26Z |
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=2019-08-10T02%3A23%3A26Z |
Określony w czasie UTC. |
Protokół | spr=https |
Dozwolone są tylko żądania używające protokołu HTTPS. |
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. |
Ponieważ uprawnienia są ograniczone do poziomu usługi, dostępne operacje z tą sygnaturą dostępu współdzielonego są Pobierz właściwości usługi Blob Service (odczyt) i Ustaw właściwości usługi Blob Service (zapis). Jednak przy użyciu innego identyfikatora URI zasobu ten sam token SAS może być również używany do delegowania dostępu do Uzyskiwanie statystyk usługi Blob Service (odczyt).
Zobacz też
- Delegowanie dostępu za pomocą sygnatury dostępu współdzielonego
- Tworzenie sygnatury dostępu współdzielonego delegowania użytkownika
- Tworzenie sygnatury dostępu współdzielonego usługi
- kody błędów sygnatury dostępu współdzielonego