Grundlegendes zu Shared Access Signatures
Es wird empfohlen, Speicherkontoschlüssel nicht für Drittanbieteranwendungen freizugeben. Wenn diese Apps auf Ihre Daten zugreifen müssen, müssen Sie deren Verbindungen ohne Speicherkontoschlüssel sichern.
Verwenden Sie eine Shared Access Signature (SAS) für nicht vertrauenswürdige Clients. Eine SAS ist eine Zeichenfolge, die ein Sicherheitstoken enthält, das einem URI angefügt werden kann. Sie können eine SAS verwenden, um den Zugriff auf ein Speicherobjekt zu delegieren und Einschränkungen festzulegen, z. B. Berechtigungen und den Zeitraum des Zugriffs.
Sie können einem Kunden ein SAS-Token geben, damit er z. B. Bilder in ein Dateisystem in Azure Blob Storage hochladen kann. Sie können einer Web-App separat die Leseberechtigung für diese Bilder gewähren. In beiden Fällen gewähren Sie der Anwendung nur den nötigen Zugriff für den Task.
Arten von Shared Access Signatures
Sie können eine SAS auf Dienstebene verwenden, um den Zugriff auf bestimmte Ressourcen in einem Speicherkonto zu gewähren. Diese Art SAS können Sie z. B. verwenden, um zuzulassen, dass eine App eine Liste von Dateien in einem Dateisystem abrufen oder eine Datei herunterladen kann.
Verwenden Sie eine SAS auf Kontoebene, um den Zugriff auf alle Ressourcen zu gewähren, auf die auch mit einer SAS auf Dienstebene zugegriffen werden kann, sowie auf zusätzliche Ressourcen und Funktionen. Sie können eine SAS auf Kontoebene z. B. verwenden, um zuzulassen, dass Dateisysteme erstellt werden können.
SAS sind für einen Dienst ideal, bei dem Benutzer ihre Daten in Ihr Speicherkonto schreiben und dort lesen. Konten, in denen Benutzerdaten gespeichert werden, können in die folgenden zwei Kategorien aufgeteilt werden:
- Clients laden Daten über einen Front-End-Proxydienst hoch und herunter, der die Authentifizierung übernimmt. Dieser Front-End-Proxydienst hat den Vorteil, dass er die Überprüfung von Geschäftsregeln zulässt. Wenn der Dienst jedoch große Mengen an Daten oder viele Transaktionen verarbeiten muss, ist es u. U. recht kompliziert oder kostenaufwändig, den Dienst dem Bedarf entsprechend zu skalieren.
- Ein einfacher Dienst authentifiziert den Client nach Bedarf. Anschließend generiert er eine SAS. Sobald der Client die SAS empfangen hat, kann er direkt auf die Ressourcen des Speicherkontos zugreifen. Die SAS definiert die Berechtigungen und den Zugriffszeitraum des Clients. Sie bewirkt, dass nicht alle Daten über den Front-End-Proxydienst geleitet werden müssen.