Erstellen einer Konto-SAS

Ab Version 2015-04-05 unterstützt Azure Storage die Erstellung 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 für eine dienstspezifische SAS verfügbar sind, z. B. die Get/Set Service Properties Vorgänge und Get 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 bei 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 Sie einen Kontoschlüssel schützen würden. 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 den Kontoschlüssel besitzen.

Um Microsoft Entra Anmeldeinformationen zum Schützen einer SAS für einen Container oder Blob zu verwenden, erstellen Sie eine SAS für die Benutzerdelegierung.

Erstellen eines KONTO-SAS-URI

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, sowie den Zeitraum, in dem die Signatur gültig ist.

Angeben der SAS-Parameter des Kontos

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 Shared Access Signature.
SignedVersion (sv) Erforderlich. Gibt die signierte Speicherdienstversion an, die zum Autorisieren von Anforderungen verwendet werden soll, die mit dieser Konto-SAS ausgeführt werden. Es muss auf Version 2015-04-05 oder höher festgelegt werden. Weitere Informationen finden Sie unter Autorisieren von Anforderungen mithilfe einer Shared Access Signature.
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 die Blob Storage- 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, Auflisten von Containern/Warteschlangen/Tabellen/Freigaben).
- Container (c): Zugriff auf APIs auf Containerebene (z. B. Container erstellen/löschen, Warteschlange erstellen/löschen, Tabelle erstellen/löschen, Freigabe erstellen/löschen, Blobs/Dateien und Verzeichnisse auflisten).
- 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 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, aber nicht vorhandene Ressourcen ü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 dies nicht angegeben wird, wird angenommen, dass die Startzeit der Zeitpunkt ist, zu dem der Speicherdienst die Anforderung empfängt. Weitere Informationen zu akzeptierten UTC-Formaten finden Sie unter Formatieren 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 Formatieren von DateTime-Werten.
SignedIP (sip) Optional. Gibt eine IP-Adresse oder einen IP-Adressbereich an, von dem 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 truefestgelegt 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 (erstellen eines neuen Blockblobs) Blob (b) Objekt (o) Erstellen (c) oder Schreiben (w)
Put Blob (vorhandenes Blockblob überschreiben) Blob (b) Objekt (o) Schreiben (w)
Put Blob (neues Seitenblob erstellen) Blob (b) Objekt (o) Erstellen (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
Momentaufnahme/Version endgültig löschen Blob (b) Objekt (o) Dauerhaftes Löschen (y)
Lease Blob Blob (b) Objekt (o) Schreiben (w) oder Löschen (d)1
Snapshot Blob Blob (b) Objekt (o) Erstellen (c) oder Schreiben (w)
Kopierblob (Ziel ist ein neues Blob) Blob (b) Objekt (o) Erstellen (c) oder Schreiben (w)
Kopierblob (Ziel ist ein vorhandenes Blob) Blob (b) Objekt (o) Schreiben (w)
Inkrementelles Kopieren Blob (b) Objekt (o) Erstellen (c) oder Schreiben (w)
Abort Copy Blob Blob (b) Objekt (o) Schreiben (w)
Put Block Blob (b) Objekt (o) Schreiben (w)
Put Block List (erstellen eines neuen Blobs) Blob (b) Objekt (o) Schreiben (w)
Put Block List (Aktualisieren des vorhandenen Blobs) 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 (s) Lesen (r)
Festlegen von Warteschlangendiensteigenschaften Warteschlange (q) Dienst (s) Schreiben (w)
Auflisten von Warteschlangen Warteschlange (q) Dienst (s) Liste (l)
Statistiken zum Warteschlangendienst abrufen Warteschlange (q) Dienst (s) 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) Update (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) Erstellen (c) oder Schreiben (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) Erstellen (c) oder Schreiben (w)
Momentaufnahmefreigabe Datei (f) Container (c) Erstellen (c) oder Schreiben (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) Erstellen (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)
Datei erstellen (neu erstellen) Datei (f) Objekt (o) Erstellen (c) oder Schreiben (w)
Datei erstellen (vorhandenes Ü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 eine HMAC, die über eine Zeichenfolge und einen Schlüssel mithilfe des SHA256-Algorithmus berechnet und dann mithilfe der Base64-Codierung codiert wird.

Da Berechtigungen auf die Dienstebene beschränkt sind, sind mit dieser SAS zugriffbare Vorgänge Get Blob Service Properties (Read) und Set Blob Service Properties (Write) (Blob Service Properties) (Schreiben) verfügbar. 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.

Weitere Informationen