Ich habe eine Webanwendung (ASP.NET MVC), die Azure Blob Storage zum Speichern von Dokumenten und Bildern verwendet. Jeder Benutzer verfügt über spezifische Zugriffsrechte auf die Blobs, und diese wird in der Webanwendungsdatenbank gespeichert.Azure Blob Speicherberechtigung mit SAS
Derzeit habe ich eine schnelle temporäre Lösung, die die Webanwendung als Mittelschicht verwendet, die die Autorisierung ausführt, und wenn der Client Lesezugriff auf den Blob hat, wird er zuerst von Azure abgerufen und dann an den Client übermittelt. Dies ist natürlich nicht der optimale Weg, dies aus vielen Gründen zu tun.
Ich habe begonnen, wachsen ein System diesen Teil neu zu erstellen mit SAS (Shared Access Signaturen), aber nicht finden kann, eine gute Quelle für die Einrichtung, die skaliert und die Anzahl der Benutzer und Dateien. Ich erwarte, dass die Anzahl der Benutzer um 100 und die Anzahl der Blobs um 100 000 sein wird.
Wie ich es sehe, habe ich zwei Möglichkeiten.
1) Alle Dateien haben eine Signatur, die in der Webanwendungsdatenbank gespeichert ist. Diese Datei wird für alle Benutzer verwendet, die Zugriff auf die Datei haben. Dies wäre der einfache Weg, es zu tun, aber wenn ein Benutzer aus irgendeinem Grund nicht immer noch Zugriff auf die Datei haben, können sie immer noch auf die Datei zugreifen, wenn sie die Verbindung von früheren Zugriff haben.
2) Alle Dateien haben spezifische Signaturen für jeden Benutzer, der Zugriff auf die Datei hat. Dies macht es einfach, den Zugriff auf Dateien zu widerrufen, aber die Anzahl der Signaturen wird massiv sein und wird dies irgendwelche Nebenwirkungen haben?
Gibt es noch weitere Optionen?
Alle Gedanken dazu werden sehr geschätzt!
Gibt es einen Grund, warum Sie nicht daran gedacht haben, SAS so zu erstellen, wie es benötigt wird? –
Ich denke, Sie meinen, dass die SAS erzeugt und der URL in der HTML an den Client geliefert werden würde? Dies ist natürlich eine Option, aber für Bilder werden sie mit Miniaturansichten aufgelistet (ebenfalls in Azure Blob Storage gespeichert). Wenn ich 20 Bilder auf einer Seite habe, würde das bedeuten, dass Azure 20 Roundtrips generiert, um Signaturen zu generieren, bevor der HTML-Code erstellt werden kann gerendert Recht? – moccasine
Sie können meine Antwort hier beziehen: http://stackoverflow.com/questions/39431608/limiting-account-sas-permission-to-specific-files-in-azure-storage/39432023#39432023 –