Erstellen eines Kontos SAS
Wichtig
Für eine optimale Sicherheit empfiehlt Microsoft die Verwendung der Microsoft Entra-ID mit verwalteten Identitäten, um Anforderungen für Blob-, Warteschlangen- und Tabellendaten zu autorisieren, wenn möglich. Die Autorisierung mit Microsoft Entra ID und verwalteten Identitäten bietet eine überlegene Sicherheit und Benutzerfreundlichkeit gegenüber der Shared Key-Autorisierung. Weitere Informationen finden Sie unter Autorisieren mit microsoft Entra ID. Weitere Informationen zu verwalteten Identitäten finden Sie unter Was sind verwaltete Identitäten für Azure-Ressourcen.
Für Ressourcen, die außerhalb von Azure gehostet werden, z. B. lokale Anwendungen, können Sie verwaltete Identitäten über Azure Arc verwenden. Beispielsweise können Apps, die auf Azure Arc-fähigen Servern ausgeführt werden, verwaltete Identitäten verwenden, um eine Verbindung mit Azure-Diensten herzustellen. Weitere Informationen finden Sie unter Authentifizieren von Azure-Ressourcen mit Azure Arc-fähigen Servern.
Für Szenarien, in denen freigegebene Zugriffssignaturen (SAS) verwendet werden, empfiehlt Microsoft die Verwendung einer Benutzerdelegierungs-SAS. Eine Benutzerdelegierungs-SAS ist anstelle des Kontoschlüssels mit Microsoft Entra-Anmeldeinformationen gesichert. Informationen zu freigegebenen Zugriffssignaturen finden Sie unter Erstellen einer Benutzerdelegierung SAS-.
Ab Version 2015-04-05 unterstützt Azure Storage das Erstellen eines neuen Typs der Freigegebenen Zugriffssignatur (SAS) auf der Ebene des Speicherkontos. Indem Sie ein Konto SAS erstellen, können Sie folgende Aktionen ausführen:
Delegieren Sie den Zugriff auf Vorgänge auf Serviceebene, die derzeit nicht mit einer dienstspezifischen SAS verfügbar sind, z. B. den
Get/Set Service Properties
- undGet Service Stats
-Vorgängen.Delegieren Sie gleichzeitig den Zugriff auf mehrere Dienste in einem Speicherkonto. Sie können beispielsweise den Zugriff auf Ressourcen in Azure Blob Storage und Azure Files mithilfe eines Kontos SAS delegieren.
Delegieren Sie den Zugriff auf Schreib- und Löschvorgänge für Container, Warteschlangen, Tabellen und Dateifreigaben, die mit einer objektspezifischen SAS nicht verfügbar sind.
Geben Sie eine IP-Adresse oder einen Bereich von IP-Adressen an, aus denen Anforderungen akzeptiert werden sollen.
Geben Sie das HTTP-Protokoll an, aus dem Anforderungen akzeptiert werden sollen (entweder HTTPS oder HTTP/HTTPS).
Gespeicherte Zugriffsrichtlinien werden derzeit für ein Konto SAS nicht unterstützt.
Vorsicht
Freigegebene Zugriffssignaturen sind Schlüssel, die Berechtigungen für Speicherressourcen gewähren, und Sie sollten diese genauso schützen, wie Sie einen Kontoschlüssel schützen würden. Es ist wichtig, ein SAS vor böswilliger oder unbeabsichtigter Verwendung zu schützen. Verwenden Sie die Diskretion bei der Verteilung einer SAS und haben Sie einen Plan zum Widerrufen einer kompromittierten SAS. Vorgänge, die freigegebene Zugriffssignaturen verwenden, sollten nur über eine HTTPS-Verbindung ausgeführt werden, und SAS-URIs sollten nur für eine sichere Verbindung wie HTTPS verteilt werden.
Autorisieren eines Kontos SAS
Sie sichern ein Konto SAS mithilfe eines Speicherkontoschlüssels. Wenn Sie ein Konto SAS erstellen, muss Ihre Clientanwendung über den Kontoschlüssel verfügen.
Um Microsoft Entra-Anmeldeinformationen zum Sichern einer SAS für einen Container oder Blob zu verwenden, eine Benutzerdelegierung SAS-erstellen.
Erstellen eines SAS-URI eines Kontos
Der SAS-URI des Kontos besteht aus dem URI für die Ressource, für die die SAS den Zugriff delegiert, gefolgt von einem SAS-Token. Das SAS-Token ist die Abfragezeichenfolge, die alle Informationen enthält, die zum Autorisieren einer Anforderung an die Ressource erforderlich sind. Er gibt den Dienst, die Ressource und die Berechtigungen an, die für den Zugriff verfügbar sind, und den Zeitraum, in dem die Signatur gültig ist.
Angeben der Konto-SAS-Parameter
Die erforderlichen und optionalen Parameter für das SAS-Token werden in der folgenden Tabelle beschrieben:
SAS-Abfrageparameter | Beschreibung |
---|---|
api-version |
Wahlfrei. Gibt die Speicherdienstversion an, die zum Ausführen der Anforderung verwendet werden soll, die mithilfe des SAS-URI des Kontos erfolgt. Weitere Informationen finden Sie unter Autorisieren von Anforderungen mithilfe einer freigegebenen Zugriffssignatur. |
SignedVersion (sv) |
Erforderlich. Gibt die signierte Speicherdienstversion an, die verwendet werden soll, um Anforderungen zu autorisieren, die mit diesem Konto SAS vorgenommen werden. Er muss auf Version 2015-04-05 oder höher festgelegt werden. Weitere Informationen finden Sie unter Autorisieren von Anforderungen mithilfe einer freigegebenen Zugriffssignatur. |
SignedServices (ss) |
Erforderlich. Gibt die signierten Dienste an, auf die mit dem Konto SAS zugegriffen werden kann. Mögliche Werte sind: - Blob ( b )- Warteschlange ( q )- Tabelle ( t )- Datei ( f )Sie können Werte kombinieren, um Zugriff auf mehrere Dienste bereitzustellen. Beispielsweise gibt ss=bf den Zugriff auf die Blob Storage- und Azure Files-Endpunkte an. |
SignedResourceTypes (srt) |
Erforderlich. Gibt die signierten Ressourcentypen an, auf die mit dem Konto SAS zugegriffen werden kann. - Dienst ( s ): Zugriff auf APIs auf Dienstebene (z. B. Get/Set Service Properties, Get Service Stats, List Containers/Queues/Tables/Shares).- Container ( c ): Zugriff auf APIs auf Containerebene (z. B. Create/Delete Container, Create/Delete Queue, Create/Delete Table, Create/Delete Share, List Blobs/Files and Directories).- Objekt ( o ): Zugriff auf APIs auf Objektebene für Blobs, Warteschlangennachrichten, Tabellenentitäten und Dateien (z. B. Put Blob, Query Entity, Get Messages, Create File).Sie können Werte kombinieren, um Zugriff auf mehrere Ressourcentypen zu ermöglichen. Beispielsweise gibt srt=sc den Zugriff auf Dienst- und Containerressourcen an. |
SignedPermissions (sp) |
Erforderlich. Gibt die signierten Berechtigungen für das Konto SAS an. Berechtigungen sind nur gültig, wenn sie mit dem angegebenen signierten Ressourcentyp übereinstimmen. Wenn sie nicht übereinstimmen, werden sie ignoriert. - Read ( r ): Gültig für alle signierten Ressourcentypen (Dienst, Container und Objekt). Ermöglicht Leseberechtigungen für den angegebenen Ressourcentyp.- Write ( w ): Gültig für alle signierten Ressourcentypen (Dienst, Container und Objekt). Ermöglicht schreibgeschützten Zugriff für den angegebenen Ressourcentyp, sodass ein Benutzer Ressourcen erstellen und aktualisieren kann.- Delete ( d ): Gültig für Container- und Objektressourcentypen, mit Ausnahme von Warteschlangenmeldungen.- Version löschen ( x ): Gilt nur für den Objektressourcentyp des BLOB.- Permanent Delete ( y ): Nur gültig für den Objektressourcentyp des BLOB.- Liste ( l ): Gilt nur für Dienst- und Containerressourcentypen.- Add ( a ): Gilt nur für die folgenden Objektressourcentypen: Warteschlangenmeldungen, Tabellenentitäten und Anfügen von Blobs.- Create ( c ): Gültig für Containerressourcentypen und die folgenden Objektressourcentypen: Blobs und Dateien. Benutzer können neue Ressourcen erstellen, vorhandene Ressourcen jedoch möglicherweise nicht überschreiben.- Update ( u ): Gilt nur für die folgenden Objektressourcentypen: Warteschlangenmeldungen und Tabellenentitäten.- Prozess ( p ): Gilt nur für den folgenden Objektressourcentyp: Warteschlangenmeldungen.- Tag ( t ): Gilt nur für den folgenden Objektressourcentyp: Blobs. Ermöglicht Blob-Tag-Vorgänge.- Filter ( f ): Gilt nur für den folgenden Objektressourcentyp: blob. Ermöglicht das Filtern nach Blob-Tag.- Festlegen der Unveränderbarkeitsrichtlinie ( i ): Gilt nur für den folgenden Objektressourcentyp: blob. Erlaubt die Richtlinie zur Unveränderbarkeitsrichtlinie und die gesetzliche Aufbewahrungspflicht für ein Blob. |
SignedStart (st) |
Wahlfrei. Die Zeit, zu der die SAS gültig wird, ausgedrückt in einem der akzeptierten ISO 8601 UTC-Formate. Wenn er ausgelassen wird, wird davon ausgegangen, dass die Startzeit der Zeitpunkt ist, zu dem der Speicherdienst die Anforderung empfängt. Weitere Informationen zu akzeptierten UTC-Formaten finden Sie unter Formatierung von DateTime-Werten. |
SignedExpiry (se) |
Erforderlich. Der Zeitpunkt, zu dem die Signatur für den freigegebenen Zugriff ungültig wird, ausgedrückt in einem der akzeptierten ISO 8601 UTC-Formate. Weitere Informationen zu akzeptierten UTC-Formaten finden Sie unter Formatierung von DateTime-Werten. |
SignedIP (sip) |
Wahlfrei. Gibt eine IP-Adresse oder einen Bereich von IP-Adressen an, aus denen Anforderungen akzeptiert werden sollen. Beachten Sie beim Angeben eines Bereichs, dass der Bereich inklusive ist. Es werden nur IPv4-Adressen unterstützt. Beispiel: sip=198.51.100.0 oder sip=198.51.100.10-198.51.100.20 . |
SignedProtocol (spr) |
Wahlfrei. Gibt das Protokoll an, das für eine Anforderung mit dem Konto SAS zulässig ist. Mögliche Werte sind sowohl HTTPS als auch HTTP (https,http ) oder NUR HTTPS (https ). Der Standardwert ist https,http .Beachten Sie, dass HTTP nur kein zulässiger Wert ist. |
SignedEncryptionScope (ses) |
Wahlfrei. Gibt den Verschlüsselungsbereich an, der zum Verschlüsseln des Anforderungsinhalts verwendet werden soll. Dieses Feld wird mit Version 2020-12-06 und höher unterstützt. |
Signature (sig) |
Erforderlich. Der Signaturteil des URI wird verwendet, um die Anforderung zu autorisieren, die mit der Freigegebenen Zugriffssignatur erfolgt. Das Zeichenfolgen-zu-Zeichen ist eine eindeutige Zeichenfolge, die aus den Feldern erstellt wird, die überprüft werden müssen, um die Anforderung zu autorisieren. Die Signatur ist ein hashbasierter Nachrichtenauthentifizierungscode (HMAC), der mithilfe des SHA256-Algorithmus über die Zeichenfolgen-zu-Signierung und den Schlüssel berechnet und dann mithilfe der Base64-Codierung codiert wird. |
Angeben des felds signedVersion
Das Feld signedVersion
(sv
) enthält die Dienstversion der Signatur für den freigegebenen Zugriff. Dieser Wert gibt die Version der Shared Key-Autorisierung an, die von dieser freigegebenen Zugriffssignatur (im Feld signature
) verwendet wird. Der Wert gibt auch die Dienstversion für Anforderungen an, die mit dieser gemeinsamen Zugriffssignatur vorgenommen werden.
Informationen dazu, welche Version verwendet wird, wenn Sie Anforderungen über eine Freigegebene Zugriffssignatur ausführen, finden Sie unter Versionsverwaltung für Azure Storage-Dienste.
Informationen dazu, wie sich dieser Parameter auf die Autorisierung von Anforderungen mit einer freigegebenen Zugriffssignatur auswirkt, finden Sie unter Stellvertretungszugriff mit einer freigegebenen Zugriffssignatur.
Flurname | Abfrageparameter | Beschreibung |
---|---|---|
signedVersion |
sv |
Erforderlich. Unterstützt in Version 2015-04-05 und höher. Die Speicherdienstversion, die verwendet werden soll, um Anforderungen zu autorisieren und zu verarbeiten, die Sie mit dieser gemeinsamen Zugriffssignatur vornehmen. Weitere Informationen finden Sie unter Versionsverwaltung für Azure Storage-Dienste. |
Angeben einer IP-Adresse oder eines IP-Bereichs
Ab Version 2015-04-05 gibt das optionale signedIp
(sip
) eine öffentliche IP-Adresse oder einen Bereich von öffentlichen IP-Adressen an, von denen Anforderungen akzeptiert werden sollen. Wenn die IP-Adresse, aus der die Anforderung stammt, nicht mit der IP-Adresse oder dem Adressbereich übereinstimmt, die im SAS-Token angegeben ist, ist die Anforderung nicht autorisiert. Es werden nur IPv4-Adressen unterstützt.
Wenn Sie einen Bereich von IP-Adressen angeben, denken Sie daran, dass der Bereich inklusive ist. Wenn Sie z. B. sip=198.51.100.0
oder sip=198.51.100.10-198.51.100.20
für die SAS angeben, wird die Anforderung auf diese IP-Adressen beschränkt.
In der folgenden Tabelle wird beschrieben, ob das feld signedIp
in ein SAS-Token für ein angegebenes Szenario eingeschlossen werden soll, basierend auf der Clientumgebung und dem Speicherort des Speicherkontos.
Clientumgebung | Speicherort des Speicherkontos | Empfehlung |
---|---|---|
Client, der in Azure ausgeführt wird | In derselben Region wie der Client | Eine SAS, die dem Client in diesem Szenario bereitgestellt wird, sollte keine ausgehende IP-Adresse für das feld signedIp enthalten. Anforderungen, die innerhalb derselben Region erfolgen, in der ein SAS mit einer angegebenen ausgehenden IP-Adresse verwendet wird, schlägt fehl.Verwenden Sie stattdessen ein virtuelles Azure-Netzwerk, um Netzwerksicherheitseinschränkungen zu verwalten. Anforderungen an Azure Storage innerhalb derselben Region erfolgen immer über eine private IP-Adresse. Weitere Informationen finden Sie unter Konfigurieren von Azure Storage-Firewalls und virtuellen Netzwerken. |
Client, der in Azure ausgeführt wird | In einer anderen Region als der Client | Ein SAS, das dem Client in diesem Szenario bereitgestellt wird, kann eine öffentliche IP-Adresse oder einen Adressbereich für das Feld signedIp enthalten. Eine Anforderung mit der SAS muss von der angegebenen IP-Adresse oder dem angegebenen Adressbereich stammen. |
Client, der lokal oder in einer anderen Cloudumgebung ausgeführt wird | In einer beliebigen Azure-Region | Ein SAS, das dem Client in diesem Szenario bereitgestellt wird, kann eine öffentliche IP-Adresse oder einen Adressbereich für das Feld signedIp enthalten. Eine Anforderung mit der SAS muss von der angegebenen IP-Adresse oder dem angegebenen Adressbereich stammen.Wenn die Anforderung einen Proxy oder ein Gateway durchläuft, stellen Sie die öffentliche ausgehende IP-Adresse dieses Proxys oder Gateways für das feld signedIp bereit. |
Angeben des HTTP-Protokolls
Ab Version 2015-04-05 gibt das optionale signedProtocol
(spr
) das Protokoll an, das für eine Anforderung mit der SAS zulässig ist. Mögliche Werte sind sowohl HTTPS als auch HTTP (https,http
) oder NUR HTTPS (https
). Der Standardwert ist https,http
. Beachten Sie, dass HTTP nur ein zulässiger Wert ist.
Angeben des Verschlüsselungsbereichs
Mithilfe des Felds signedEncryptionScope
im URI können Sie den Verschlüsselungsbereich angeben, den die Clientanwendung verwenden kann. Sie erzwingt die serverseitige Verschlüsselung mit dem angegebenen Verschlüsselungsbereich, wenn Sie Blobs (PUT) mit dem SAS-Token hochladen. Get und HEAD werden nicht wie zuvor eingeschränkt und ausgeführt.
In der folgenden Tabelle wird beschrieben, wie Sie auf einen signierten Verschlüsselungsbereich im URI verweisen:
Flurname | Abfrageparameter | Beschreibung |
---|---|---|
signedEncryptionScope |
ses |
Wahlfrei. Gibt den Verschlüsselungsbereich an, der zum Verschlüsseln des Anforderungsinhalts verwendet werden soll. |
Dieses Feld wird mit Version 2020-12-06 oder höher unterstützt. Wenn Sie die ses
vor der unterstützten Version hinzufügen, gibt der Dienst den Fehlerantwortcode 403 (Verboten) zurück.
Wenn Sie den Standardverschlüsselungsbereich für den Container oder dateisystem festlegen, berücksichtigt der ses
Abfrageparameter die Containerverschlüsselungsrichtlinie. Wenn ein Konflikt zwischen dem ses
Abfrageparameter und x-ms-default-encryption-scope
Header besteht und der x-ms-deny-encryption-scope-override
-Header auf true
festgelegt ist, gibt der Dienst den Fehlerantwortcode 403 (Verboten) zurück.
Wenn Sie den x-ms-encryption-scope
-Header und den ses
Abfrageparameter in der PUT-Anforderung bereitstellen, gibt der Dienst den Fehlerantwortcode 400 (ungültige Anforderung) zurück, wenn ein Konflikt vorliegt.
Erstellen der Signaturzeichenfolge
Um die Signaturzeichenfolge für ein Konto-SAS zu erstellen, erstellen Sie zuerst die Zeichenfolgen-zu-Zeichen aus den Feldern, die die Anforderung verfassen, und codieren Sie dann die Zeichenfolge als UTF-8, und berechnen Sie die Signatur mithilfe des HMAC-SHA256 Algorithmus.
Anmerkung
Die Felder, die im Zeichenfolgen-zu-Signieren enthalten sind, müssen URL-decodiert sein.
Verwenden Sie das folgende Format, um das Zeichenfolgen-zu-Signieren für ein Konto SAS zu erstellen:
StringToSign = accountname + "\n" +
signedpermissions + "\n" +
signedservice + "\n" +
signedresourcetype + "\n" +
signedstart + "\n" +
signedexpiry + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedversion + "\n"
Version 2020-12-06 fügt Unterstützung für das signierte Verschlüsselungsbereichsfeld hinzu. Verwenden Sie das folgende Format, um das Zeichenfolgen-zu-Signieren für ein Konto SAS zu erstellen:
StringToSign = accountname + "\n" +
signedpermissions + "\n" +
signedservice + "\n" +
signedresourcetype + "\n" +
signedstart + "\n" +
signedexpiry + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedversion + "\n" +
signedEncryptionScope + "\n"
Konto-SAS-Berechtigungen nach Vorgang
In den Tabellen in den folgenden Abschnitten werden verschiedene APIs für jeden Dienst sowie die signierten Ressourcentypen und signierten Berechtigungen aufgeführt, die für jeden Vorgang unterstützt werden.
BLOB-Dienst
In der folgenden Tabelle sind Blob-Dienstvorgänge aufgeführt und gibt an, welcher signierte Ressourcentyp und welche signierten Berechtigungen angegeben werden sollen, wenn Sie den Zugriff auf diese Vorgänge delegieren.
Operation | Signierter Dienst | Signierter Ressourcentyp | Signierte Berechtigung |
---|---|---|---|
Container auflisten | Blob (b) | Dienst (s) | Liste (l) |
Abrufen von Blob-Diensteigenschaften | Blob (b) | Dienst (s) | Lesen (r) |
Festlegen von Blob-Diensteigenschaften | Blob (b) | Dienst (s) | Schreiben (w) |
Abrufen von Blob-Dienststatistiken | Blob (b) | Dienst (s) | Lesen (r) |
Container erstellen | Blob (b) | Container (c) | Create(c) oder Write (w) |
Containereigenschaften abrufen | Blob (b) | Container (c) | Lesen (r) |
Containermetadaten abrufen | Blob (b) | Container (c) | Lesen (r) |
Festlegen von Containermetadaten | Blob (b) | Container (c) | Schreiben (w) |
Leasecontainer | Blob (b) | Container (c) | Schreiben (w) oder Löschen (d)1 |
Container löschen | Blob (b) | Container (c) | Löschen (d)1 |
Suchen von Blobs nach Tags im Container | Blob (b) | Container (c) | Filter (f) |
Blobs auflisten | Blob (b) | Container (c) | Liste (l) |
Put Blob (create new block blob) | Blob (b) | Objekt (o) | Erstellen (c) oder Schreiben (w) |
Put Blob (overwrite existing block blob) | Blob (b) | Objekt (o) | Schreiben (w) |
Put Blob (create new page blob) | Blob (b) | Objekt (o) | Erstellen (c) oder Schreiben (w) |
Put Blob (overwrite existing page blob) | Blob (b) | Objekt (o) | Schreiben (w) |
Blob abrufen | Blob (b) | Objekt (o) | Lesen (r) |
Blob-Eigenschaften abrufen | Blob (b) | Objekt (o) | Lesen (r) |
Festlegen von BLOB-Eigenschaften | Blob (b) | Objekt (o) | Schreiben (w) |
Abrufen von BLOB-Metadaten | Blob (b) | Objekt (o) | Lesen (r) |
Festlegen von BLOB-Metadaten | Blob (b) | Objekt (o) | Schreiben (w) |
Blob-Tags abrufen | Blob (b) | Objekt (o) | Tags (t) |
Festlegen von BLOB-Tags | Blob (b) | Objekt (o) | Tags (t) |
Suchen nach Blobs nach Tags | Blob (b) | Objekt (o) | Filter (f) |
Blob löschen | Blob (b) | Objekt (o) | Löschen (d)1 |
Blob-Version löschen | Blob (b) | Objekt (o) | Version (x)2 löschen |
Momentaufnahme /Version endgültig löschen | Blob (b) | Objekt (o) | Dauerhafte Löschung (y)3 |
Lease Blob | Blob (b) | Objekt (o) | Schreiben (w) oder Löschen (d)1 |
Snapshot Blob | Blob (b) | Objekt (o) | Erstellen (c) oder Schreiben (w) |
Blob kopieren (Ziel ist ein neues Blob) | Blob (b) | Objekt (o) | Erstellen (c) oder Schreiben (w) |
Blob kopieren (Ziel ist ein vorhandenes Blob) | Blob (b) | Objekt (o) | Schreiben (w) |
Inkrementelle Kopie | Blob (b) | Objekt (o) | Erstellen (c) oder Schreiben (w) |
Blob abbrechen | Blob (b) | Objekt (o) | Schreiben (w) |
Block einfügen | Blob (b) | Objekt (o) | Schreiben (w) |
Blockliste ablegen (neuen Blob erstellen) | Blob (b) | Objekt (o) | Schreiben (w) |
Blockliste ablegen (vorhandenes Blob aktualisieren) | Blob (b) | Objekt (o) | Schreiben (w) |
Blockliste abrufen | Blob (b) | Objekt (o) | Lesen (r) |
Seite einfügen | Blob (b) | Objekt (o) | Schreiben (w) |
Seitenbereiche abrufen | Blob (b) | Objekt (o) | Lesen (r) |
Anfügeblock | Blob (b) | Objekt (o) | Hinzufügen (a) oder Schreiben (w) |
Seite löschen | Blob (b) | Objekt (o) | Schreiben (w) |
1 Die berechtigung Delete
ermöglicht das Unterbrechen einer Lease für ein BLOB oder Container mit Version 2017-07-29 und höher.
2 Die berechtigung Delete Version
ermöglicht das Löschen von BLOB-Versionen mit Version 2019-12-12 und höher.
3 Die berechtigung Permanent Delete
ermöglicht das dauerhafte Löschen einer BLOB-Momentaufnahme oder -version mit Version 2020-02-10 und höher.
Warteschlangendienst
In der folgenden Tabelle sind Warteschlangendienstvorgänge aufgeführt und gibt an, welcher signierte Ressourcentyp und welche signierten Berechtigungen angegeben werden sollen, wenn Sie den Zugriff auf diese Vorgänge delegieren.
Operation | Signierter Dienst | Signierter Ressourcentyp | Signierte Berechtigung |
---|---|---|---|
Abrufen von Warteschlangendiensteigenschaften | Warteschlange (q) | Dienst (s) | Lesen (r) |
Festlegen von Warteschlangendiensteigenschaften | Warteschlange (q) | Dienst (s) | Schreiben (w) |
Listenwarteschlangen | Warteschlange (q) | Dienst (s) | Liste (l) |
Abrufen von Warteschlangendienststatistiken | Warteschlange (q) | Dienst (s) | Lesen (r) |
Warteschlange erstellen | Warteschlange (q) | Container (c) | Create(c) oder Write (w) |
Warteschlange löschen | Warteschlange (q) | Container (c) | Löschen (d) |
Abrufen von Warteschlangenmetadaten | Warteschlange (q) | Container (c) | Lesen (r) |
Warteschlangenmetadaten festlegen | Warteschlange (q) | Container (c) | Schreiben (w) |
Nachricht ablegen | Warteschlange (q) | Objekt (o) | Hinzufügen (a) |
Abrufen von Nachrichten | Warteschlange (q) | Objekt (o) | Prozess (p) |
Vorschaunachrichten | Warteschlange (q) | Objekt (o) | Lesen (r) |
Nachricht löschen | Warteschlange (q) | Objekt (o) | Prozess (p) |
Nachrichten löschen | Warteschlange (q) | Objekt (o) | Löschen (d) |
Nachricht aktualisieren | Warteschlange (q) | Objekt (o) | Update (u) |
Tabellendienst
Die folgende Tabelle enthält Tabellendienstvorgänge und gibt an, welcher signierte Ressourcentyp und welche signierten Berechtigungen angegeben werden sollen, wenn Sie den Zugriff auf diese Vorgänge delegieren.
Operation | Signierter Dienst | Signierter Ressourcentyp | Signierte Berechtigung |
---|---|---|---|
Abrufen von Tabellendiensteigenschaften | Tabelle (t) | Dienst (s) | Lesen (r) |
Festlegen von Tabellendiensteigenschaften | Tabelle (t) | Dienst (s) | Schreiben (w) |
Abrufen von Tabellendienststatistiken | Tabelle (t) | Dienst (s) | Lesen (r) |
Abfragetabellen | Tabelle (t) | Container (c) | Liste (l) |
Tabelle erstellen | Tabelle (t) | Container (c) | Erstellen (c) oder Schreiben (w) |
Tabelle löschen | Tabelle (t) | Container (c) | Löschen (d) |
Abfrageentitäten | Tabelle (t) | Objekt (o) | Lesen (r) |
Entität einfügen | Tabelle (t) | Objekt (o) | Hinzufügen (a) |
Entität einfügen oder zusammenführen | Tabelle (t) | Objekt (o) | Hinzufügen (a) und Aktualisieren (u)1 |
Entität einfügen oder ersetzen | Tabelle (t) | Objekt (o) | Hinzufügen (a) und Aktualisieren (u)1 |
Entität aktualisieren | Tabelle (t) | Objekt (o) | Update (u) |
Entität zusammenführen | Tabelle (t) | Objekt (o) | Update (u) |
Entität löschen | Tabelle (t) | Objekt (o) | Löschen (d) |
1 Berechtigungen zum Hinzufügen und Aktualisieren sind für Upsert-Vorgänge für den Tabellendienst erforderlich.
Dateidienst
Die folgende Tabelle enthält Dateidienstvorgänge und gibt an, welcher signierte Ressourcentyp und welche signierten Berechtigungen angegeben werden sollen, wenn Sie den Zugriff auf diese Vorgänge delegieren.
Operation | Signierter Dienst | Signierter Ressourcentyp | Signierte Berechtigung |
---|---|---|---|
Freigaben auflisten | Datei (f) | Dienst (s) | Liste (l) |
Abrufen von Dateidiensteigenschaften | Datei (f) | Dienst (s) | Lesen (r) |
Festlegen von Dateidiensteigenschaften | Datei (f) | Dienst (s) | Schreiben (w) |
Abrufen von Freigabestatistiken | Datei (f) | Container (c) | Lesen (r) |
Freigabe erstellen | Datei (f) | Container (c) | Erstellen (c) oder Schreiben (w) |
Momentaufnahmefreigabe | Datei (f) | Container (c) | Erstellen (c) oder Schreiben (w) |
Abrufen von Freigabeeigenschaften | Datei (f) | Container (c) | Lesen (r) |
Festlegen von Freigabeeigenschaften | Datei (f) | Container (c) | Schreiben (w) |
Abrufen von Freigabemetadaten | Datei (f) | Container (c) | Lesen (r) |
Festlegen von Freigabemetadaten | Datei (f) | Container (c) | Schreiben (w) |
Freigabe löschen | Datei (f) | Container (c) | Löschen (d) |
Verzeichnisse und Dateien auflisten | Datei (f) | Container (c) | Liste (l) |
Verzeichnis erstellen | Datei (f) | Objekt (o) | Erstellen (c) oder Schreiben (w) |
Verzeichniseigenschaften abrufen | Datei (f) | Objekt (o) | Lesen (r) |
Abrufen von Verzeichnismetadaten | Datei (f) | Objekt (o) | Lesen (r) |
Festlegen von Verzeichnismetadaten | Datei (f) | Objekt (o) | Schreiben (w) |
Verzeichnis löschen | Datei (f) | Objekt (o) | Löschen (d) |
Datei erstellen (neu erstellen) | Datei (f) | Objekt (o) | Erstellen (c) oder Schreiben (w) |
Datei erstellen (vorhandenes Überschreiben) | Datei (f) | Objekt (o) | Schreiben (w) |
Datei abrufen | Datei (f) | Objekt (o) | Lesen (r) |
Dateieigenschaften abrufen | Datei (f) | Objekt (o) | Lesen (r) |
Abrufen von Dateimetadaten | Datei (f) | Objekt (o) | Lesen (r) |
Festlegen von Dateimetadaten | Datei (f) | Objekt (o) | Schreiben (w) |
Datei löschen | Datei (f) | Objekt (o) | Löschen (d) |
Datei umbenennen | Datei (f) | Objekt (o) | Löschen (d) oder Schreiben (w) |
Bereich platzieren | Datei (f) | Objekt (o) | Schreiben (w) |
Bereiche auflisten | Datei (f) | Objekt (o) | Lesen (r) |
Abbrechen des Kopierens der Datei | Datei (f) | Objekt (o) | Schreiben (w) |
Datei kopieren | Datei (f) | Objekt (o) | Schreiben (w) |
Bereich löschen | Datei (f) | Objekt (o) | Schreiben (w) |
Beispiel für konto-SAS-URI
Das folgende Beispiel zeigt einen BLOB-Dienst-URI mit einem an ihn angefügten Konto-SAS-Token. Das Konto-SAS-Token stellt Berechtigungen für den Dienst, container und Objekte bereit. Die Tabelle bricht jeden Teil des URI auf:
https://blobsamples.blob.core.windows.net/?sv=2022-11-02&ss=b&srt=sco&sp=rwlc&se=2023-05-24T09:51:36Z&st=2023-05-24T01:51:36Z&spr=https&sig=<signature>
Name | SAS-Teil | Beschreibung |
---|---|---|
Ressourcen-URI | https://myaccount.blob.core.windows.net/?restype=service&comp=properties |
Der Dienstendpunkt mit Parametern zum Abrufen von Diensteigenschaften (wenn mit GET aufgerufen) oder festlegen von Diensteigenschaften (wenn mit SET aufgerufen). Basierend auf dem Wert des signierten Dienstfelds (ss ) kann diese SAS entweder mit Blob Storage oder Azure Files verwendet werden. |
Trennzeichen | ? |
Das Trennzeichen, das vor der Abfragezeichenfolge steht. Das Trennzeichen ist nicht Teil des SAS-Tokens. |
Speicherdiensteversion | sv=2022-11-02 |
Für Azure Storage-Dienste, Version 2012-02-12 und höher, gibt dieser Parameter an, welche Version verwendet werden soll. |
Dienste | ss=b |
Die SAS gilt für die Blob-Dienste. |
Ressourcentypen | srt=sco |
Die SAS gilt für Vorgänge auf Dienstebene, Containerebene und Objektebene. |
Erlaubnisse | sp=rwlc |
Die Berechtigungen gewähren Zugriff auf Lese-, Schreib-, Listen- und Erstellungsvorgänge. |
Startzeit | st=2019-08-01T22%3A18%3A26Z |
In UTC-Zeit angegeben. Wenn die SAS sofort gültig sein soll, lassen Sie die Startzeit aus. |
Ablaufzeit | se=2019-08-10T02%3A23%3A26Z |
In UTC-Zeit angegeben. |
Protokoll | spr=https |
Es sind nur Anforderungen zulässig, die HTTPS verwenden. |
Unterschrift | sig=<signature> |
Wird verwendet, um den Zugriff auf das Blob zu autorisieren. Die Signatur ist ein HMAC, der mithilfe des SHA256-Algorithmus über eine Zeichenfolge und einen Schlüssel berechnet und dann mithilfe der Base64-Codierung codiert wird. |
Da Berechtigungen auf die Dienstebene beschränkt sind, sind barrierefreie Vorgänge mit dieser SAS Get Blob Service Properties (Lesen) und Festlegen von Blob-Diensteigenschaften (Schreiben). Mit einem anderen Ressourcen-URI kann jedoch auch dasselbe SAS-Token verwendet werden, um den Zugriff auf Get Blob Service Stats (lesen) zu delegieren.