Förstå signaturer för delad åtkomst

Slutförd

Du bör inte dela lagringskontonycklar med externa program från tredje part. Om de här apparna behöver åtkomst till dina data måste du skydda deras anslutningar utan att använda nycklarna för lagringskonton.

För obetrodda klienter använder du en signatur för delad åtkomst (SAS). En SAS är en sträng som innehåller en säkerhetstoken som kan kopplas till en URI. Du kan använda en SAS för att delegera åtkomst till lagringsobjekt och ange begränsningar, till exempel behörigheter och tidsintervall för åtkomst.

Du kan till exempel ge en kund en SAS-token så att de kan ladda upp bilder till ett filsystem i Blob Storage. Separat kan du ge en webbapp behörighet att läsa dessa bilder. I båda fallen tillåter du endast den åtkomst som programmet behöver för att kunna utföra åtgärden.

Typer av signaturer för delad åtkomst

Du kan använda en SAS på tjänstnivå för att tillåta åtkomst till specifika resurser i ett lagringskonto. Du skulle till exempel använda den här typen av SAS för att tillåta att en app hämtar en lista över filer i ett filsystem eller för att ladda ned en fil.

Använd en SAS på kontonivå för att tillåta åtkomst till allt som en SAS på servicenivå kan tillåta, plus ytterligare resurser och förmågor. Du kan till exempel använda en SAS på kontonivå för att tillåta möjligheten att skapa filsystem.

Du använder vanligtvis en SAS för en tjänst där användare läser och skriver sina data till ditt lagringskonto. Konton som lagrar användardata har två vanliga utformningar:

  • Klienterna laddar upp och laddar ned data via en proxytjänst i klientdelen, som utför autentiseringen. Fördelen med den här proxytjänsten i klientdelen är att den tillåter validering av affärsregler. Men om tjänsten måste hantera stora mängder data eller transaktioner med stora volymer kan det vara komplicerat eller dyrt att skala den här tjänsten för att matcha efterfrågan.

Diagram showing a client-side front-end proxy service operation.

  • En enkel tjänst autentiserar klienten efter behov. Därefter genererar den en SAS. När du har tagit emot SAS kan klienten komma åt lagringskontoresurser direkt. SAS definierar klientens behörigheter och åtkomstintervall. Det minskar behovet av att dirigera alla data via klientdelsproxytjänsten.

Diagram showing a server-side SAS operation.