Es gibt verschiedene Möglichkeiten, den Zugriff auf Ressourcen in Azure zu delegieren. Eine Möglichkeit besteht darin, über ein Shared Access Signature (SAS)-Token zu delegieren. Ein SAS-Token ermöglicht eine granulare Kontrolle darüber, wie ein Client auf Azure-Daten zugreifen kann. Sie können viele Dinge kontrollieren, wie z.B. auf welche Ressourcen der Client zugreifen kann, welche Berechtigungen der Client hat, wie lange das Token gültig ist und vieles mehr.
Eine häufige Verwendung von SAS-Token besteht darin, Azure-Speicherkonten durch die Verwendung eines KontoSAS abzusichern.
In diesem Artikel erfahren Sie, wie Sie ein Azure SAS-Token sowohl über das Azure-Portal als auch über PowerShell erstellen können. Am Ende haben Sie ein SAS-Token, das Sie dann verschiedenen Client-Befehlen übergeben können, um die Verwaltung von Azure-Speicher zu authentifizieren und zu autorisieren.
Voraussetzungen
In diesem Artikel lernen Sie praktisch, wie Sie verschiedene Aufgaben durchführen können. Wenn Sie mitmachen möchten, stellen Sie bitte sicher, dass Sie die folgenden Voraussetzungen erfüllen.
- Ein Azure-Abonnement. Wenn Sie dies noch nicht haben, können Sie eine Testversion beantragen.
- Ein Azure-Speicherkonto. Bitte lesen Sie Erstellen eines Speicherkontos, um mehr zu erfahren.
- Das Az PowerShell-Modul (optional). Dies ist nur erforderlich, wenn Sie Shared Access Signature-Tokens mit PowerShell generieren möchten.
- Windows PowerShell 5.1 oder PowerShell Core 6+, wenn Sie ein SAS-Token über PowerShell generieren
Generieren eines SAS-Tokens mit dem Azure-Portal
Der einfachste Weg, ein SAS-Token zu generieren, besteht darin, das Azure-Portal zu verwenden. Mit dem Azure-Portal können Sie die verschiedenen Optionen grafisch navigieren.
Um ein Token über das Azure-Portal zu erstellen, navigieren Sie zunächst zum Speicherkonto, auf das Sie zugreifen möchten, unter dem Abschnitt Einstellungen und klicken Sie dann auf Shared Access Signature. Ein Beispiel dafür finden Sie unten.
Es gibt viele Berechtigungen, die Sie SAS-Tokens gewähren können, sowie Start-/Endzeiten. In diesem Artikel werden Ihnen Vollzugriffsberechtigungen zugewiesen und die Standardablaufzeit von acht Stunden belassen. Wenn Sie eine Aufschlüsselung und Erklärung jeder Berechtigung wünschen, schauen Sie sich die Microsoft-Dokumentation an.
Lassen Sie alle Standardkontrollkästchen aktiviert und klicken Sie auf die Schaltfläche SAS und Verbindungszeichenfolge generieren, wie unten gezeigt.

Sobald das Token generiert wurde, wird es in den Feldern unter der Schaltfläche SAS und Verbindungszeichenfolge generieren angezeigt, wie unten gezeigt.

An diesem Punkt können Sie das SAS-Token kopieren und seinen Wert überall dort einfügen, wo Sie es verwenden möchten.
Generierung eines SAS-Tokens mit PowerShell
Um zu verhindern, dass Sie sich im Azure-Portal anmelden müssen oder möglicherweise, wenn Sie gleichzeitig SAS-Tokens für viele Speicherkonten generieren, können Sie PowerShell verwenden. PowerShell verwendet die REST-API von Azure, um Anfragen an Azure zu stellen und das Token zu generieren.
Um ein SAS-Token über PowerShell zu erstellen, öffnen Sie zuerst eine PowerShell-Konsole und melden Sie sich mit Connect-AzAccount an. Sobald Sie authentifiziert sind, suchen Sie das Speicherkonto, auf das Sie zugreifen möchten. Unten sehen Sie ein Beispiel für die Abfrage eines Speicherkontos namens demo_account in der Ressourcengruppe demo_rg. Verwenden Sie den Wert von $context
und übergeben Sie ihn dann an den Befehl zur Token-Generierung.
Sobald der Kontext des Speicherkontos gefunden ist, erstellen Sie ein SAS-Token mit dem Befehl New-AzStorageAccountSASToken
. Das folgende Beispiel zeigt die Generierung eines SAS-Tokens mit voller Berechtigung für das Speicherkonto und alle Unterkomponenten.
Beim Erstellen von SAS-Tokens über
New-AzStorageAccountSASToken
ist das Token eine Stunde lang gültig. Wenn Sie diese Zeit verlängern möchten, können Sie den ParameterExpiryTime
verwenden.
Einschränkung der Berechtigungen eines SAS-Tokens
Ein Grund, ein SAS-Token zu verwenden, besteht darin, anderen Parteien für eine begrenzte Zeit und einen begrenzten Satz von Berechtigungen Zugriff zu gewähren. Das vorherige Beispiel hat ein SAS-Token mit vollständigen Zugriffsberechtigungen generiert. Den vollständigen Zugriff zu gewähren ist nicht immer die beste Lösung.
Der Service
-Parameter definiert den Zugriff auf einen oder mehrere Dienste. Verwenden Sie beispielsweise blob
, um den Zugriff nur auf den Azure Blob Storage-Dienst zu erlauben. Andere Dienste umfassen File, Table und Queue.
Der ResourceType
-Parameter beschränkt den Zugriff auf bestimmte Arten von Ressourcen. Wenn Sie beispielsweise den Wert container
verwenden, ist der Zugriff nur auf Container-Ressourcen möglich. Andere gültige Ressourcentypen sind Service und Object.
Der Permission
-Parameter ermöglicht es Ihnen, erlaubte Berechtigungen festzulegen. Geben Sie je nach Bedarf eine oder mehrere Berechtigungen an. Der Wert rwd
entspricht den Berechtigungen read, write und delete. Andere gültige Berechtigungswerte sind (l)ist, (a)dd, (u)pdate und (p)rocess.
Verwendung des SAS-Tokens
Es gibt viele Möglichkeiten, das generierte SAS-Token zu verwenden. Eine der häufigsten Methoden besteht darin, es in einem Speicherkontext zu verwenden. Ein Speicherkontext ist eine Art, Anmeldeinformationen zu „verpacken“ und sie dann an verschiedene Befehle weiterzugeben.
A common way to use the SAS token is via PowerShell. Using the New-AzStorageContext
command that’s part of the Az PowerShell module. You can see an example below using the SAS token to upload a file to an existing storage container.
Zusammenfassung
Das Erstellen eines SAS-Tokens kann auf verschiedene Arten erfolgen. In diesem Artikel haben Sie einige der häufigsten Möglichkeiten kennengelernt. Einmal erstellt, kann ein SAS-Token auf viele verschiedene Arten verwendet werden, aber die Entscheidung darüber liegt bei Ihnen.