Wybierz, kiedy używać sygnatur dostępu współdzielonego
Użyj sygnatury dostępu współdzielonego, jeśli chcesz zapewnić bezpieczny dostęp do zasobów na koncie magazynu do dowolnego klienta, który w przeciwnym razie nie ma uprawnień do tych zasobów.
Typowy scenariusz, w którym sygnatura dostępu współdzielonego jest przydatna, to usługa, w której użytkownicy odczytują i zapisują własne dane na koncie magazynu. W scenariuszu, w którym dane użytkowników są przechowywane na koncie magazynu, zwykle występują dwa wzorce projektowe:
Klienci przekazują i pobierają dane za pośrednictwem usługi serwera proxy frontonu, która przeprowadza uwierzytelnianie. Ta usługa serwera proxy frontonu ma zaletę zezwalania na walidację reguł biznesowych, ale w przypadku dużych ilości danych lub transakcji o dużej ilości danych tworzenie usługi, która może być skalowana w celu dopasowania do zapotrzebowania, może być kosztowna lub trudna.
Uproszczona usługa uwierzytelnia klienta zgodnie z potrzebami, a następnie generuje sygnaturę dostępu współdzielonego. Gdy aplikacja kliencka otrzyma sygnaturę dostępu współdzielonego, może uzyskać dostęp do zasobów konta magazynu bezpośrednio z uprawnieniami zdefiniowanymi przez sygnaturę dostępu współdzielonego i interwałem dozwolonym przez sygnaturę dostępu współdzielonego. Sygnatura dostępu współdzielonego zmniejsza konieczność kierowania wszystkich danych przez usługę serwera proxy frontonu.
Wiele rzeczywistych usług może używać hybrydowego z tych dwóch podejść. Na przykład niektóre dane mogą być przetwarzane i weryfikowane za pośrednictwem serwera proxy frontonu, podczas gdy inne dane są zapisywane i/lub odczytywane bezpośrednio przy użyciu sygnatury dostępu współdzielonego.
Ponadto sygnatura dostępu współdzielonego jest wymagana do autoryzowania dostępu do obiektu źródłowego w ramach operacji kopiowania w niektórych scenariuszach:
Podczas kopiowania obiektu blob do innego obiektu blob znajdującego się na innym koncie magazynu należy użyć sygnatury dostępu współdzielonego, aby autoryzować dostęp do źródłowego obiektu blob. Opcjonalnie możesz użyć sygnatury dostępu współdzielonego, aby autoryzować również dostęp do docelowego obiektu blob.
Podczas kopiowania pliku do innego pliku, który znajduje się na innym koncie magazynu, należy użyć sygnatury dostępu współdzielonego, aby autoryzować dostęp do pliku źródłowego. Opcjonalnie możesz użyć sygnatury dostępu współdzielonego, aby autoryzować również dostęp do pliku docelowego.
Podczas kopiowania obiektu blob do pliku lub pliku do obiektu blob należy użyć sygnatury dostępu współdzielonego, aby autoryzować dostęp do obiektu źródłowego, nawet jeśli obiekty źródłowe i docelowe znajdują się na tym samym koncie magazynu.