Erstellen einer Konto-SAS
Wichtig
Für optimale Sicherheit empfiehlt Microsoft die Verwendung Microsoft Entra ID mit verwalteten Identitäten, um Anforderungen für Blob-, Warteschlangen- und Tabellendaten nach Möglichkeit zu autorisieren. Die Autorisierung mit Microsoft Entra ID und verwalteten Identitäten bietet eine überlegene Sicherheit und Benutzerfreundlichkeit gegenüber der Freigabeschlüsselautorisierung. 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 bei Azure-Ressourcen mit Azure Arc-fähigen Servern.
Für Szenarien, in denen SAS (Shared Access Signatures) verwendet werden, empfiehlt Microsoft die Verwendung einer SAS für die Benutzerdelegierung. Eine Benutzerdelegierungs-SAS wird mit Microsoft Entra Anmeldeinformationen anstelle des Kontoschlüssels gesichert. Informationen zu Shared Access Signatures finden Sie unter Create einer Benutzerdelegierungs-SAS.
Ab Version 2015-04-05 unterstützt Azure Storage das Erstellen eines neuen Typs von SAS (Shared Access Signature) auf der Ebene des Speicherkontos. Wenn Sie eine Konto-SAS erstellen, können Sie Folgendes ausführen:
Delegieren Sie den Zugriff auf Vorgänge auf Dienstebene, die derzeit nicht mit einer dienstspezifischen SAS verfügbar sind, z. B. die
Get/Set Service Properties
Vorgänge undGet Service Stats
.Delegieren Sie den Zugriff auf mehrere Dienste in einem Speicherkonto gleichzeitig. Beispielsweise können Sie den Zugriff auf Ressourcen in Azure Blob Storage und Azure Files delegieren, indem Sie eine Konto-SAS verwenden.
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 IP-Adressbereich an, von dem Anforderungen akzeptiert werden sollen.
Geben Sie das HTTP-Protokoll an, von dem Anforderungen akzeptiert werden sollen (entweder HTTPS oder HTTP/HTTPS).
Gespeicherte Zugriffsrichtlinien werden für eine Konto-SAS derzeit nicht unterstützt.
Achtung
Shared Access Signatures sind Schlüssel, die Speicherressourcen Berechtigungen erteilen, und Sie sollten sie genauso schützen wie einen Kontoschlüssel. Es ist wichtig, eine SAS vor böswilliger oder unbeabsichtigter Verwendung zu schützen. Verteilen Sie eine SAS mit Diskretion, und halten Sie einen Plan für den Widerruf einer kompromittierten SAS bereit. Vorgänge, die Shared Access Signaturen verwenden, sollten nur über eine HTTPS-Verbindung ausgeführt werden, und SAS-URIs sollten nur über eine sichere Verbindung wie HTTPS verteilt werden.
Autorisieren einer Konto-SAS
Sie sichern eine Konto-SAS mithilfe eines Speicherkontoschlüssels. Wenn Sie eine 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, erstellen Sie eine Benutzerdelegierungs-SAS.
Erstellen eines KONTO-SAS-URI
Der KONTO-SAS-URI 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. Es gibt den Dienst, die Ressource und die Berechtigungen an, die für den Zugriff verfügbar sind, sowie 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 |
Optional. 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 zum Autorisieren von Anforderungen verwendet werden soll, die mit dieser Konto-SAS vorgenommen werden. Es 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 der 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 mehr als einen Dienst bereitzustellen. Gibt beispielsweise ss=bf den Zugriff auf den Blobspeicher und Azure Files Endpunkte an. |
SignedResourceTypes (srt) |
Erforderlich. Gibt die signierten Ressourcentypen an, auf die mit der Konto-SAS zugegriffen werden kann. - Dienst ( s ): Zugriff auf APIs auf Dienstebene (z. B. Abrufen/Festlegen von Diensteigenschaften, Abrufen von Dienststatistiken, Listencontainer/Warteschlangen/Tabellen/Freigaben).Container ( c ): Zugriff auf APIs auf Containerebene (z. B. Create/Löschen von Containern, Create/Löschen von Warteschlange, Create/Delete Table, Create/Delete Share, Listenblobs/Dateien und Verzeichnisse).- Objekt ( o ): Zugriff auf APIs auf Objektebene für Blobs, Warteschlangennachrichten, Tabellenentitäten und Dateien (z. B. Put Blob, Abfrageentität, Nachrichten abrufen, Create Datei).Sie können Werte kombinieren, um Zugriff auf mehrere Ressourcentypen bereitzustellen. srt=sc gibt beispielsweise den Zugriff auf Dienst- und Containerressourcen an. |
SignedPermissions (sp) |
Erforderlich. Gibt die signierten Berechtigungen für die Konto-SAS an. Berechtigungen sind nur gültig, wenn sie mit dem angegebenen signierten Ressourcentyp übereinstimmen. Wenn sie nicht übereinstimmen, werden sie ignoriert. - Lesen ( r ): Gültig für alle signierten Ressourcentypen (Dienst, Container und Objekt). Erteilt Leseberechtigungen für den angegebenen Ressourcentyp.– Schreiben ( w ): Gültig für alle signierten Ressourcentypen (Dienst, Container und Objekt). Ermöglicht schreibzugriff für den angegebenen Ressourcentyp, sodass ein Benutzer Ressourcen erstellen und aktualisieren kann.– Löschen ( d ): Gültig für Ressourcentypen „Container“ und „Objekt“, außer für Warteschlangennachrichten– Dauerhaft löschen ( y ): Gilt nur für den Objektressourcentyp des Blobs– Auflisten ( l ): Gilt nur für Ressourcentypen „Dienst“ und „Container“– Hinzufügen ( a ): Gültig nur für die folgenden Objektressourcentypen: Warteschlangennachrichten, 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 nicht überschreiben.– Aktualisieren ( u ): Gilt nur für die folgenden Objektressourcentypen: Warteschlangenmeldungen und Tabellenentitäten– Verarbeiten ( p ): Gilt nur für den folgenden Objektressourcentyp: Warteschlangennachrichten– Taggen( t ): Gilt nur für den folgenden Objektressourcentyp: Blob. Lässt Blob-Tagging-Vorgänge zu.– Filtern ( f ): Gilt nur für den folgenden Objektressourcentyp: Blob. Lässt das Filtern nach Blob-Tag zu.– Festlegen der Unveränderlichkeitsrichtlinie ( i ): Gültig nur für den folgenden Objektressourcentyp: Blob. Lässt das Festlegen/Löschen von Unveränderlichkeitsrichtlinien und der gesetzlichen Sperre eines Blobs zu. |
SignedStart (st) |
Optional. Der Zeitpunkt, zu dem die SAS gültig wird, ausgedrückt in einem der akzeptierten ISO 8601 UTC-Formate. Wenn es nicht angegeben wird, wird als Startzeit der Zeitpunkt angenommen, 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 Shared Access Signature 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) |
Optional. Gibt eine IP-Adresse oder einen Bereich von IP-Adressen an, von denen Anforderungen akzeptiert werden sollen. Wenn Sie einen Bereich angeben, denken Sie daran, dass der Bereich inklusiv ist. Es werden nur IPv4-Adressen unterstützt. Zum Beispiel: sip=168.1.5.65 oder sip=168.1.5.60-168.1.5.70 . |
SignedProtocol (spr) |
Optional. Gibt das Protokoll an, das für eine Anforderung mit der Konto-SAS zulässig ist. Mögliche Werte sind HTTPS und HTTP (https,http ) oder nur HTTPS (https ). Standardwert: https,http .Beachten Sie, dass HTTP allein kein zulässiger Wert ist. |
SignedEncryptionScope (ses) |
Optional. Gibt den Verschlüsselungsbereich an, der zum Verschlüsseln des Anforderungsinhalts verwendet werden soll. Dieses Feld wird ab Version 2020-12-06 unterstützt. |
Signature (sig) |
Erforderlich. Der Signaturteil des URI wird verwendet, um die Anforderung zu autorisieren, die mit der Shared Access Signature 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 (Hash-Based Message Authentication Code, HMAC), der über die zu signierende Zeichenfolge und den Schlüssel mithilfe des SHA256-Algorithmus berechnet und dann mithilfe der Base64-Codierung codiert wird. |
Angeben des Felds signedVersion
Das signedVersion
Feld (sv
) enthält die Dienstversion der Shared Access Signature. Dieser Wert gibt die Version der Autorisierung mit gemeinsam genutztem Schlüssel an, die von dieser Shared Access Signature (im signature
Feld) verwendet wird. Der -Wert gibt auch die Dienstversion für Anforderungen an, die mit dieser Shared Access Signature ausgeführt werden.
Informationen dazu, welche Version verwendet wird, wenn Sie Anforderungen über eine Shared Access Signature ausführen, finden Sie unter Versionsverwaltung für Azure Storage-Dienste.
Informationen dazu, wie sich dieser Parameter auf die Autorisierung von Anforderungen mit einer Shared Access Signature auswirkt, finden Sie unter Delegieren des Zugriffs mit einer Shared Access Signature.
Feldname | Query parameter (Abfrageparameter) | BESCHREIBUNG |
---|---|---|
signedVersion |
sv |
Erforderlich. Unterstützt in Version 2015-04-05 und höher. Die Speicherdienstversion, die zum Autorisieren und Verarbeiten von Anforderungen verwendet werden soll, die Sie mit dieser Shared Access Signature erstellen. Weitere Informationen finden Sie unter Versionsverwaltung für Azure Storage-Dienste. |
Angeben einer IP-Adresse oder eines IP-Adressbereichs
Ab Version 2015-04-05 gibt das optionale signedIp
Feld (sip
) eine öffentliche IP-Adresse oder einen Bereich öffentlicher IP-Adressen an, von denen Anforderungen akzeptiert werden sollen. Wenn die IP-Adresse, von 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, beachten Sie, dass der Bereich inklusive ist. Wenn Sie beispielsweise oder sip=168.1.5.60-168.1.5.70
auf der SAS angeben, sip=168.1.5.65
wird die Anforderung auf diese IP-Adressen beschränkt.
In der folgenden Tabelle wird basierend auf der Clientumgebung und dem signedIp
Speicherort des Speicherkontos beschrieben, ob das Feld in ein SAS-Token für ein angegebenes Szenario eingeschlossen werden soll.
Clientumgebung | Standort des Speicherkontos | Empfehlung |
---|---|---|
Client, der in Azure ausgeführt wird | In derselben Region wie der Client | Eine SAS, die in diesem Szenario für den Client bereitgestellt wird, sollte keine ausgehende IP-Adresse für das signedIp Feld enthalten. Anforderungen, die aus derselben Region erfolgen, die eine SAS mit einer angegebenen ausgehenden IP-Adresse verwenden, schlagen fehl.Verwenden Sie stattdessen ein virtuelles Azure-Netzwerk, um Netzwerksicherheitseinschränkungen zu verwalten. Anforderungen an Azure Storage aus derselben Region erfolgen immer über eine private IP-Adresse. Weitere Informationen finden Sie unter Konfigurieren von Firewalls und virtuellen Netzwerken in Azure Storage. |
Client, der in Azure ausgeführt wird | In einer anderen Region als der Client | Eine SAS, die in diesem Szenario für den Client bereitgestellt wird, kann eine öffentliche IP-Adresse oder einen Adressbereich für das signedIp Feld enthalten. Eine mit der SAS durchgeführte Anforderung muss von der angegebenen IP-Adresse oder dem angegebenen Adressbereich stammen. |
Client, der lokal oder in einer anderen Cloudumgebung ausgeführt wird | In jeder Azure-Region | Eine SAS, die in diesem Szenario für den Client bereitgestellt wird, kann eine öffentliche IP-Adresse oder einen Adressbereich für das signedIp Feld enthalten. Eine mit der SAS durchgeführte Anforderung muss von der angegebenen IP-Adresse oder dem angegebenen Adressbereich stammen.Wenn die Anforderung einen Proxy oder ein Gateway durchläuft, geben Sie die öffentliche ausgehende IP-Adresse dieses Proxys oder Gateways für das signedIp Feld an. |
Angeben des HTTP-Protokolls
Ab Version 2015-04-05 gibt das optionale signedProtocol
Feld (spr
) das Protokoll an, das für eine Anforderung mit der SAS zulässig ist. Mögliche Werte sind HTTPS und HTTP (https,http
) oder nur HTTPS (https
). Standardwert: https,http
. Beachten Sie, dass HTTP allein kein zulässiger Wert ist.
Angeben des Verschlüsselungsbereichs
Mithilfe des Felds signedEncryptionScope
für den URI können Sie den Verschlüsselungsbereich angeben, den die Clientanwendung verwenden kann. Es erzwingt die serverseitige Verschlüsselung mit dem angegebenen Verschlüsselungsbereich, wenn Sie Blobs (PUT) mit dem SAS-Token hochladen. Die 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 für den URI verweisen:
Feldname | Query parameter (Abfrageparameter) | BESCHREIBUNG |
---|---|---|
signedEncryptionScope |
ses |
Optional. Gibt den Verschlüsselungsbereich an, der zum Verschlüsseln des Anforderungsinhalts verwendet werden soll. |
Dieses Feld wird ab Version 2020-12-06 unterstützt. Wenn Sie vor ses
der unterstützten Version hinzufügen, gibt der Dienst den Fehlerantwortcode 403 (Unzulässig) zurück.
Wenn Sie den Standardverschlüsselungsbereich für den Container oder das Dateisystem festlegen, berücksichtigt der ses
Abfrageparameter die Containerverschlüsselungsrichtlinie. Wenn ein Konflikt zwischen dem Abfrageparameter und x-ms-default-encryption-scope
dem ses
Header vorliegt und der x-ms-deny-encryption-scope-override
Header auf true
festgelegt ist, gibt der Dienst den Fehlerantwortcode 403 (Unzulässig) zurück.
Wenn Sie den x-ms-encryption-scope
Header und den ses
Abfrageparameter in der PUT-Anforderung angeben, gibt der Dienst den Fehlerantwortcode 400 (Ungültige Anforderung) zurück, wenn ein Konflikt vorliegt.
Erstellen der Signaturzeichenfolge
Um die Signaturzeichenfolge für eine Konto-SAS zu erstellen, erstellen Sie zuerst die Zeichenfolgen-to-Sign aus den Feldern, aus denen die Anforderung besteht, und codieren Sie dann die Zeichenfolge als UTF-8, und berechnen Sie die Signatur mithilfe des HMAC-SHA256-Algorithmus.
Hinweis
Die Felder, die in der Zeichenfolge enthalten sind, müssen URL-decodiert sein.
Verwenden Sie das folgende Format, um die Zeichenfolge für eine 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 Feld für den signierten Verschlüsselungsbereich hinzu. Verwenden Sie das folgende Format, um die Zeichenfolge für eine 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
Die Tabellen in den folgenden Abschnitten enthalten verschiedene APIs für jeden Dienst sowie die signierten Ressourcentypen und signierten Berechtigungen, die für jeden Vorgang unterstützt werden.
Blob-Dienst
Die folgende Tabelle listet Blobdienstvorgänge auf und gibt an, welcher signierte Ressourcentyp und welche signierten Berechtigungen angegeben werden sollen, wenn Sie den Zugriff auf diese Vorgänge delegieren.
Vorgang | Signierter Dienst | Signierter Ressourcentyp | Signierte Berechtigung |
---|---|---|---|
List Containers | 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) |
Statistiken zum Blob-Dienst abrufen | Blob (b) | Dienst (s) | Lesen (r) |
Create Container | Blob (b) | Container (c) | Create(c) oder Write (w) |
Get Container Properties | Blob (b) | Container (c) | Lesen (r) |
Get Container Metadata | Blob (b) | Container (c) | Lesen (r) |
Set Container Metadata | Blob (b) | Container (c) | Schreiben (w) |
Lease Container | Blob (b) | Container (c) | Schreiben (w) oder Löschen (d)1 |
Delete Container | Blob (b) | Container (c) | Löschen (d)1 |
Suchen von Blobs nach Tags im Container | Blob (b) | Container (c) | Filter (f) |
List Blobs | Blob (b) | Container (c) | Liste (l) |
Put Blob (neues Blockblob erstellen) | Blob (b) | Objekt (o) | Create (c) oder Schreiben (w) |
Put Blob (vorhandenes Blockblob überschreiben) | Blob (b) | Objekt (o) | Schreiben (w) |
Put Blob (neues Seitenblob erstellen) | Blob (b) | Objekt (o) | Create (c) oder Schreiben (w) |
Put Blob (vorhandenes Seitenblob überschreiben) | Blob (b) | Objekt (o) | Schreiben (w) |
Get Blob | Blob (b) | Objekt (o) | Lesen (r) |
Get Blob Properties | Blob (b) | Objekt (o) | Lesen (r) |
Set Blob Properties | Blob (b) | Objekt (o) | Schreiben (w) |
Get Blob Metadata | Blob (b) | Objekt (o) | Lesen (r) |
Set Blob Metadata | Blob (b) | Objekt (o) | Schreiben (w) |
Abrufen von Blobtags | Blob (b) | Objekt (o) | Tags (t) |
Festlegen von Blobtags | Blob (b) | Objekt (o) | Tags (t) |
Suchen nach Blobs anhand von Tags | Blob (b) | Objekt (o) | Filter (f) |
Delete Blob | Blob (b) | Objekt (o) | Löschen (d)1 |
Endgültig löschen Momentaufnahme/Version | Blob (b) | Objekt (o) | Permanent Delete (y) |
Lease Blob | Blob (b) | Objekt (o) | Schreiben (w) oder Löschen (d)1 |
Snapshot Blob | Blob (b) | Objekt (o) | Create (c) oder Schreiben (w) |
Kopieren eines Blobs (Ziel ist ein neues Blob) | Blob (b) | Objekt (o) | Create (c) oder Schreiben (w) |
Kopieren eines Blobs (Ziel ist ein vorhandenes Blob) | Blob (b) | Objekt (o) | Schreiben (w) |
Inkrementelles Kopieren | Blob (b) | Objekt (o) | Create (c) oder Write (w) |
Abort Copy Blob | Blob (b) | Objekt (o) | Schreiben (w) |
Put Block | Blob (b) | Objekt (o) | Schreiben (w) |
Blockliste platzieren (neues Blob erstellen) | Blob (b) | Objekt (o) | Schreiben (w) |
Blockliste platzieren (vorhandenes Blob aktualisieren) | Blob (b) | Objekt (o) | Schreiben (w) |
Get Block List | Blob (b) | Objekt (o) | Lesen (r) |
Put Page | Blob (b) | Objekt (o) | Schreiben (w) |
Get Page Ranges | Blob (b) | Objekt (o) | Lesen (r) |
Append Block | Blob (b) | Objekt (o) | Hinzufügen (a) oder Schreiben (w) |
Seite löschen | Blob (b) | Objekt (o) | Schreiben (w) |
1 Die Delete
Berechtigung ermöglicht das Unterbrechen einer Lease für ein Blob oder Container mit Version 2017-07-29 und höher.
Warteschlangendienst
Die folgende Tabelle enthält Warteschlangendienstvorgänge und gibt an, welcher signierte Ressourcentyp und welche signierten Berechtigungen beim Delegieren des Zugriffs auf diese Vorgänge angegeben werden sollen.
Vorgang | Signierter Dienst | Signierter Ressourcentyp | Signierte Berechtigung |
---|---|---|---|
Abrufen von Warteschlangendiensteigenschaften | Warteschlange (q) | Dienst(en) | Lesen (r) |
Festlegen von Warteschlangendiensteigenschaften | Warteschlange (q) | Dienst(en) | Schreiben (w) |
Auflisten von Warteschlangen | Warteschlange (q) | Dienst(en) | Liste (l) |
Statistiken zum Warteschlangendienst abrufen | Warteschlange (q) | Dienst(en) | Lesen (r) |
Erstellen einer Warteschlange | Warteschlange (q) | Container (c) | Create(c) oder Write (w) |
Löschen einer Warteschlange | Warteschlange (q) | Container (c) | Löschen (d) |
Get Queue Metadata | Warteschlange (q) | Container (c) | Lesen (r) |
Set Queue Metadata | Warteschlange (q) | Container (c) | Schreiben (w) |
Put Message | Warteschlange (q) | Objekt (o) | Hinzufügen (a) |
Nachrichten abrufen | Warteschlange (q) | Objekt (o) | Prozess (p) |
Peek Messages | Warteschlange (q) | Objekt (o) | Lesen (r) |
Löschen einer Nachricht | Warteschlange (q) | Objekt (o) | Prozess (p) |
Löschen von Nachrichten | Warteschlange (q) | Objekt (o) | Löschen (d) |
Aktualisieren von Nachrichten | Warteschlange (q) | Objekt (o) | Aktualisieren (u) |
Tabellenspeicherdienst
Die folgende Tabelle enthält Tabellendienstvorgänge und gibt an, welcher signierte Ressourcentyp und welche signierten Berechtigungen beim Delegieren des Zugriffs auf diese Vorgänge angegeben werden sollen.
Vorgang | Signierter Dienst | Signierter Ressourcentyp | Signierte Berechtigung |
---|---|---|---|
Get Table Service Properties | Tabelle (t) | Dienst(en) | Lesen (r) |
Festlegen von Tabellendiensteigenschaften | Tabelle (t) | Dienst(en) | Schreiben (w) |
Get Table Service Stats (Abrufen der Tabellendienststatistik) | Tabelle (t) | Dienst(en) | Lesen (r) |
Abfragen von Tabellen | Tabelle (t) | Container (c) | Liste (l) |
Erstellen einer Tabelle | Tabelle (t) | Container (c) | Create (c) oder Write (w) |
Tabelle löschen | Tabelle (t) | Container (c) | Löschen (d) |
Entitäten abfragen | Tabelle (t) | Objekt (o) | Lesen (r) |
Entität einfügen | Tabelle (t) | Objekt (o) | Hinzufügen (a) |
Insert Or Merge Entity | Tabelle (t) | Objekt (o) | Hinzufügen von (a) und Aktualisieren (u)1 |
Insert Or Replace Entity | Tabelle (t) | Objekt (o) | Hinzufügen von (a) und Aktualisieren (u)1 |
Entität aktualisieren | Tabelle (t) | Objekt (o) | Aktualisieren (u) |
Entität zusammenführen | Tabelle (t) | Objekt (o) | Aktualisieren (u) |
Entität löschen | Tabelle (t) | Objekt (o) | Löschen (d) |
1 Add- und Update-Berechtigungen 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 beim Delegieren des Zugriffs auf diese Vorgänge angegeben werden sollen.
Vorgang | Signierter Dienst | Signierter Ressourcentyp | Signierte Berechtigung |
---|---|---|---|
Auflisten von Freigaben | Datei (f) | Dienst(en) | Liste (l) |
Get File Service Properties | Datei (f) | Dienst(en) | Lesen (r) |
Dateidiensteigenschaften festlegen | Datei (f) | Dienst(en) | Schreiben (w) |
Freigabestatistiken abrufen | Datei (f) | Container (c) | Lesen (r) |
Erstellen einer Freigabe | Datei (f) | Container (c) | Create (c) oder Write (w) |
Momentaufnahmefreigabe | Datei (f) | Container (c) | Create (c) oder Write (w) |
Freigabeeigenschaften abrufen | Datei (f) | Container (c) | Lesen (r) |
Freigabeeigenschaften festlegen | Datei (f) | Container (c) | Schreiben (w) |
Get Share Metadata | Datei (f) | Container (c) | Lesen (r) |
Set Share Metadata | Datei (f) | Container (c) | Schreiben (w) |
Freigabe löschen | Datei (f) | Container (c) | Löschen (d) |
Auflisten von Verzeichnissen und Dateien | Datei (f) | Container (c) | Liste (l) |
Verzeichnis erstellen | Datei (f) | Objekt (o) | Create (c) oder Schreiben (w) |
Get Directory Properties | Datei (f) | Objekt (o) | Lesen (r) |
Verzeichnismetadaten abrufen | Datei (f) | Objekt (o) | Lesen (r) |
Verzeichnismetadaten festlegen | Datei (f) | Objekt (o) | Schreiben (w) |
Löschen von Verzeichnissen | Datei (f) | Objekt (o) | Löschen (d) |
Create-Datei (neu erstellen) | Datei (f) | Objekt (o) | Create (c) oder Schreiben (w) |
Create-Datei (vorhandene Datei überschreiben) | Datei (f) | Objekt (o) | Schreiben (w) |
Get File | Datei (f) | Objekt (o) | Lesen (r) |
Get File Properties | Datei (f) | Objekt (o) | Lesen (r) |
Dateimetadaten abrufen | Datei (f) | Objekt (o) | Lesen (r) |
Set File Metadata | 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) |
Put Range | Datei (f) | Objekt (o) | Schreiben (w) |
List Ranges | Datei (f) | Objekt (o) | Lesen (r) |
Datei kopieren abbrechen | 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 Blobdienst-URI, an den ein KONTO-SAS-Token angefügt ist. Das SAS-Kontotoken stellt Berechtigungen für den Dienst, container und Objekte bereit. Die Tabelle unterteilt jeden Teil des URI:
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 (bei Aufruf mit GET) oder Festlegen von Diensteigenschaften (bei Aufruf mit SET). Basierend auf dem Wert des Felds "signierte Dienste" (ss ) kann diese SAS entweder mit Blob Storage oder Azure Files verwendet werden. |
Trennzeichen | ? |
Das Trennzeichen, das der Abfragezeichenfolge vorangestellt ist. Das Trennzeichen ist nicht Teil des SAS-Tokens. |
Version des Speicherdienstes | 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 Blobdienste. |
Ressourcentypen | srt=sco |
Die SAS gilt für Vorgänge auf Dienstebene, Containerebene und Objektebene. |
Berechtigungen | sp=rwlc |
Die Berechtigungen gewähren Zugriff auf Lese-, Schreib-, Listen- und Erstellungsvorgänge. |
Startzeit | st=2019-08-01T22%3A18%3A26Z |
Angegeben im UTC-Zeitformat. Lassen Sie diesen Parameter aus, wenn die SAS sofort gültig sein soll. |
Ablaufzeit | se=2019-08-10T02%3A23%3A26Z |
Angegeben im UTC-Zeitformat. |
Protocol | spr=https |
Nur Anforderungen, die HTTPS verwenden, sind zulässig. |
Signatur | sig=<signature> |
Wird verwendet, um den Zugriff auf das Blob zu autorisieren. Die Signatur ist ein HMAC, der mithilfe des SHA256-Algorithmus über eine zu signierende Zeichenfolge und einen Schlüssel berechnet und dann mithilfe der Base64-Codierung codiert wird. |
Da Berechtigungen auf die Dienstebene beschränkt sind, sind mit dieser SAS zugriffbare Vorgänge Blobdiensteigenschaften abrufen (lesen) und Festlegen von Blobdiensteigenschaften (Schreiben) möglich. Mit einem anderen Ressourcen-URI kann das gleiche SAS-Token aber auch verwendet werden, um den Zugriff auf Get Blob Service Stats (Lesen) zu delegieren.