Erstellen einer Dienst-SASCreate a service SAS

Eine Dienst-SAS delegiert den Zugriff auf eine Ressource in nur einem der Speicherdienste: BLOB-, Warteschlangen-, Tabellen-oder Datei Dienst.A service SAS delegates access to a resource in just one of the storage services: the Blob, Queue, Table, or File service. Der URI für eine Shared Access Signature (SAS) auf Dienst Ebene besteht aus dem URI der Ressource, für die die SAS den Zugriff delegiert, gefolgt vom SAS-Token.The URI for a service-level shared access signature (SAS) consists of the URI to the resource for which the SAS will delegate access, followed by the SAS token. Das SAS-Token ist die Abfrage Zeichenfolge, die alle Informationen enthält, die erforderlich sind, um eine Anforderung zu autorisieren.The SAS token is the query string that includes all of the information required to authorize a request. Es gibt die Ressource an, auf die ein Client zugreifen kann, die gewährten Berechtigungen und das Zeitintervall, in dem die Signatur gültig ist.It specifies the resource that a client may access, the permissions granted, and the time interval over which the signature is valid. Eine SAS kann auch die unterstützte IP-Adresse oder den Adressbereich angeben, von dem aus Anforderungen stammen können, das unterstützte Protokoll, mit dem eine Anforderung erfolgen kann, einen optionalen Zugriffsrichtlinien Bezeichner, der der Anforderung zugeordnet ist.A SAS may also specify the supported IP address or address range from which requests can originate, the supported protocol with which a request can be made, an optional access policy identifier associated with the request. Schließlich enthält jedes SAS-Token eine Signatur.Finally, every SAS token includes a signature.

Achtung

Shared Access Signature (SAS) sind Schlüssel, die Speicherressourcen Berechtigungen erteilen und auf die gleiche Weise wie ein Kontoschlüssel geschützt werden sollten.Shared access signature are keys that grant permissions to storage resources, and should be protected in the same manner as an account key. Es ist wichtig, eine SAS vor böswilliger oder unbeabsichtigter Verwendung zu schützen.It's important to protect a SAS from malicious or unintended use. Verteilen Sie eine SAS mit Diskretion, und halten Sie einen Plan für den Widerruf einer kompromittierten SAS bereit.Use discretion in distributing a SAS, and have a plan in place for revoking a compromised SAS. Vorgänge, die Shared Access Signature verwenden, sollten nur über eine HTTPS-Verbindung ausgeführt werden, und SAS-URIs sollten nur über eine sichere Verbindung wie HTTPS verteilt werden.Operations that use shared access signatures should be performed only over an HTTPS connection, and shared access signature URIs should only be distributed on a secure connection such as HTTPS.

Autorisierung einer Dienst-SASAuthorization of a service SAS

Eine Dienst-SAS wird mithilfe des Speicherkonto Schlüssels geschützt.A service SAS is secured using the storage account key. Zum Erstellen einer Dienst-SAS muss eine Client Anwendung über den Kontoschlüssel verfügen.To create a service SAS, a client application must possess the account key.

Wenn Sie Azure AD Anmelde Informationen zum Sichern einer SAS für einen Container oder ein BLOB verwenden möchten, erstellen Sie eine Benutzer Delegierungs-SAS.To use Azure AD credentials to secure a SAS for a container or blob, create a user delegation SAS. Weitere Informationen finden Sie unter Erstellen einer SAS für die Benutzerdelegierung.For more information, see Create a user delegation SAS.

Dienst-SAS-Unterstützung für Verzeichnis bezogenen Zugriff (Vorschau)Service SAS support for directory scoped access (preview)

Eine Dienst-SAS unterstützt den Verzeichnis Bereich ( sr=d ) (Vorschau), wenn die Authentifizierungs Version ( sv ) 2020-02-10 oder höher ist und ein hierarchischer Namespace (HNS) aktiviert ist.A service SAS supports directory scope (sr=d) (preview) when the authentication version (sv) is 2020-02-10 or higher and a hierarchical namespace (HNS) is enabled. Die Semantik für den Verzeichnis Bereich ( sr=d ) ähnelt dem Containerbereich ( sr=c ), mit dem Unterschied, dass der Zugriff auf ein Verzeichnis und alle darunter liegenden Dateien und Unterverzeichnisse beschränkt ist.The semantics for directory scope (sr=d) are similar to container scope (sr=c), except that access is restricted to a directory and any files and subdirectories beneath it. Wenn sr=d angegeben wird, sdd ist auch der Abfrage Parameter erforderlich.When sr=d is specified, the sdd query parameter is also required.

Das Zeichen folgen-zu-Signatur-Format für die Authentifizierungs Version 2020-02-10 ist unverändert.The string-to-sign format for authentication version 2020-02-10 is unchanged.

Erstellen einer Dienst-SASConstruct a service SAS

In der folgenden Abbildung sind die Teile des SAS-URIs dargestellt.The following figure represents the parts of the shared access signature URI. Die erforderlichen Bereiche sind Orange hervorgehoben.Required parts appear in orange. Die Felder, die das SAS-Token enthalten, werden in den nachfolgenden Abschnitten beschrieben.The fields comprising the SAS token are described in the subsequent sections.

Parameterelemente einer SAS-URL

In den folgenden Abschnitten wird beschrieben, wie Sie die Parameter angeben, aus denen das Dienst-SAS-Token besteht.The following sections describe how to specify the parameters that comprise the service SAS token.

Angeben des Felds für die signierte VersionSpecifying the signed version field

Das signedVersion sv Feld () enthält die Dienst Version der Shared Access Signature.The signedVersion (sv) field contains the service version of the shared access signature. Dieser Wert gibt die Version der Autorisierung mit gemeinsam verwendetem Schlüssel an, die von dieser Shared Access Signature (im- signature Feld) verwendet wird, und gibt auch die Dienst Version für Anforderungen an, die mit dieser SAS erstellt wurden.This value specifies the version of Shared Key authorization used by this shared access signature (in the signature field), and also specifies the service version for requests made with this shared access signature. Informationen dazu, welche Version beim Ausführen von Anforderungen über eine SAS verwendet wird, finden Sie unter Versionsverwaltung für die Azure Storage Services .See Versioning for the Azure Storage Services for information on which version is used when to execute requests via a shared access signature. Ausführliche Informationen dazu, wie sich dieser Parameter auf die Autorisierung von Anforderungen auswirkt, die mit einer SAS erstellt wurden, finden Sie unter Delegieren des Zugriffs mit einer Shared Access Signature .See Delegate access with a shared access signature for details about how this parameter affects the authorization of requests made with a shared access signature.

FeldnameField name Query parameter (Abfrageparameter)Query parameter BESCHREIBUNGDescription
signedVersion sv Erforderlich.Required. Wird in den Versionen 2012-02-12 und höher unterstützt.Supported in versions 2012-02-12 and newer. Die Speicherdienst Version, die zum Autorisieren von Anforderungen verwendet wird, die mit dieser Shared Access Signature erstellt wurden, und die Dienst Version, die bei der Verarbeitung von Anforderungen verwendet wird, die mit dieser Shared Access SignatureThe storage service version to use to authorize requests made with this shared access signature, and the service version to use when handling requests made with this shared access signature. Informationen dazu, welche Version beim Ausführen von Anforderungen über eine SAS verwendet wird, finden Sie unter [Versionsverwaltung für die Azure Storage Services] (Versionsverwaltung-for-the-Azure-Storage-Services.MD). Darüber hinaus erfahren Sie, wie Clients, die die Anforderung ausführen, die Version mithilfe des api-version Abfrage Parameters oder des-Headers steuern können x-ms-version .See [Versioning for the Azure Storage Services](Versioning-for-the-Azure-Storage-Services.md for information about which version is used when to execute requests via a shared access signature, and how clients executing the request can control the version using the api-version query parameter or the x-ms-version header.

Wichtig

Alle Features, die mit Version 2020-02-10 hinzugefügt wurden, sind derzeit in der VorschauAll features added with version 2020-02-10 are currently in preview. Diese Vorschau ist nur für die Verwendung außerhalb der Produktion bestimmt.The preview is intended for non-production use only.

Ermitteln der Version einer Legacy-Shared Access Signature-AnforderungDetermining the version of a legacy shared access signature request

In älteren Szenarien, in denen signedVersion nicht verwendet wird, ermittelt der Blob-Dienst die Version anhand von Regeln.In legacy scenarios where signedVersion is not used, the Blob service applies rules to determine the version. Weitere Informationen zu diesen Regeln finden Sie unter Versionsverwaltung für die Azure Storage Services .See Versioning for the Azure Storage Services for more information about these rules.

Wichtig

Bei Clientsoftware kann ein unerwartetes Protokollverhalten auftreten, wenn ein SAS-URI mit einer Speicherdienstversion verwendet wird, die neuer als die Clientsoftware ist.Client software might experience unexpected protocol behavior when using a shared access signature URI that uses a storage service version that is newer than the client software. Der Code zur Erstellung von SAS-URIs sollte auf Versionen basieren, die von der Clientsoftware, die die Speicherdienstanforderungen ausführt, erkannt werden.Code that constructs shared access signature URIs should rely on versions that are understood by client software that makes storage service requests.

Angeben der signierten Ressource (nur BLOB-Dienst)Specifying the signed resource (Blob service only)

Das erforderliche signedResource sr Feld () gibt an, auf welche Ressourcen über die SAS zugegriffen werden kann.The required signedResource (sr) field specifies which resources are accessible via the shared access signature. In der folgenden Tabelle wird beschrieben, wie auf eine BLOB-oder Container Ressource im SAS-Token verwiesen wird.The following table describes how to refer to a blob, or container resource in the SAS token.

ResourceResource ParameterwertParameter value Unterstützte VersionenSupported versions BESCHREIBUNGDescription
BlobBlob kb AllAll Gewährt Zugriff auf den Inhalt und die Metadaten des BLOBs.Grants access to the content and metadata of the blob.
BLOB-VersionBlob version vsbv Version 2018-11-09 und höherVersion 2018-11-09 and later Gewährt Zugriff auf den Inhalt und die Metadaten der BLOB-Version, jedoch nicht auf das Basis-BLOB.Grants access to the content and metadata of the blob version, but not the base blob.
Momentaufnahme eines BlobsBlob snapshot bsbs Version 2018-11-09 und höherVersion 2018-11-09 and later Gewährt Zugriff auf den Inhalt und die Metadaten der BLOB-Momentaufnahme, jedoch nicht auf das Basis-BLOB.Grants access to the content and metadata of the blob snapshot, but not the base blob.
ContainerContainer cc AllAll Gewährt Zugriff auf den Inhalt und die Metadaten eines beliebigen BLOBs im Container und auf die Liste der BLOBs im Container.Grants access to the content and metadata of any blob in the container, and to the list of blobs in the container.
Verzeichnis (Vorschau)Directory (preview) dd Version 2020-02-10 und höherVersion 2020-02-10 and later Ermöglicht den Zugriff auf den Inhalt und die Metadaten eines beliebigen BLOBs im Verzeichnis und auf die Liste der BLOBs im Verzeichnis in einem Speicherkonto mit aktiviertem hierarchischen Namespace.Grants access to the content and metadata of any blob in the directory, and to the list of blobs in the directory, in a storage account with a hierarchical namespace enabled. Wenn ein Verzeichnis für das Feld angegeben wird signedResource , signedDirectoryDepth sdd ist auch der Parameter () erforderlich.If a directory is specified for the signedResource field, then the signedDirectoryDepth (sdd) parameter is also required. Ein Verzeichnis befindet sich immer unterhalb eines Containers.A directory is always beneath a container.

Angeben der signierten Ressource (Datei Dienst)Specifying the signed resource (File service)

SAS wird für den Datei Dienst in Version 2015-02-21 und höher unterstützt.SAS is supported for the File service in version 2015-02-21 and later.

Das signedResource-Feld gibt die Ressourcen an, auf die über die SAS zugegriffen werden kann.The signedResource field specifies which resources are accessible via the shared access signature. In der folgenden Tabelle wird beschrieben, wie Sie auf eine Datei verweisen oder die Ressource für den URI freigeben.The following table describes how to refer to a file or share resource on the URI.

FeldnameField name AbfrageparameterQuery Parameter BESCHREIBUNGDescription
signedResource sr Erforderlich.Required.

Geben Sie an, f ob die freigegebene Ressource eine Datei ist.Specify f if the shared resource is a file. Dadurch wird der Zugriff auf den Inhalt und die Metadaten der Datei gewährt.This grants access to the content and metadata of the file.

Geben Sie an, s ob die freigegebene Ressource eine Freigabe ist.Specify s if the shared resource is a share. Dadurch wird der Zugriff auf den Inhalt und die Metadaten einer beliebigen Datei in der Freigabe sowie auf die Liste der Verzeichnisse und Dateien in der Freigabe gewährt.This grants access to the content and metadata of any file in the share, and to the list of directories and files in the share.

Angeben von Abfrage Parametern zum Überschreiben von Antwort Headern (nur BLOB-und Dateidienste)Specifying query parameters to override response headers (Blob and File services only)

Um Werte für bestimmte Antwortheader zu definieren, die zurückgegeben werden sollen, wenn die SAS in einer Anforderung verwendet wird, können Sie Antwortheader in Abfrageparametern angeben.To define values for certain response headers to be returned when the shared access signature is used in a request, you can specify response headers in query parameters. Diese Funktion wird ab Version 2013-08-15 für den BLOB-Dienst und Version 2015-02-21 für den Datei Dienst unterstützt.This feature is supported beginning with version 2013-08-15 for the Blob service and version 2015-02-21 for the File service. SAS mit diesem Feature muss den- sv Parameter 2013-08-15 , der für den BLOB-Dienst auf oder höher festgelegt ist, oder auf 2015-02-21 oder höher für den Datei Dienst einschließen.Shared access signatures using this feature must include the sv parameter set to 2013-08-15 or later for the Blob service, or to 2015-02-21 or later for the File service.

Die Antwortheader und die entsprechenden Abfrageparameter lauten wie folgt:The response headers and corresponding query parameters are as follows:

AntwortheadernameResponse header name Entsprechender SAS-AbfrageparameterCorresponding SAS query parameter
Cache-Control rscc
Content-Disposition rscd
Content-Encoding rsce
Content-Language rscl
Content-Type rsct

Wenn Sie z. b. den rsct=binary Abfrage Parameter in einer SAS angeben, die mit Version 2013-08-15 oder höher erstellt wurde, Content-Type wird der Antwortheader auf festgelegt binary .For example, if you specify the rsct=binary query parameter on a shared access signature created with version 2013-08-15 or later, the Content-Type response header is set to binary. Durch diesen Wert wird der für das BLOB gespeicherte Content-Type-Headerwert für eine Anforderung überschrieben, indem nur diese SAS verwendet wird.This value overrides the Content-Type header value stored for the blob for a request using this shared access signature only.

Wenn Sie eine Shared Access Signature erstellen, die Antwortheader als Abfrage Parameter angibt, müssen Sie diese in der Zeichenfolge zum Signieren einschließen, die zum Erstellen der Signatur Zeichenfolge verwendet wird.If you create a shared access signature that specifies response headers as query parameters, you must include those in the string-to-sign that is used to construct the signature string. Weitere Informationen und Beispiele für Dienst-SAS finden Sie im Abschnitt Erstellen der Signatur Zeichenfolge weiter unten. See the Constructing the Signature String section below for details, and Service SAS Examples for additional examples.

Angeben des Tabellennamens (nur Tabellen Dienst)Specifying the table name (Table service only)

Im tableName-Feld wird der Name der freizugebenden Tabelle angegeben.The tableName field specifies the name of the table to share.

FeldnameField name Query parameter (Abfrageparameter)Query parameter BESCHREIBUNGDescription
tableName tn Erforderlich.Required. Der Name der freizugebenden Tabelle.The name of the table to share.

Angeben der Zugriffs RichtlinieSpecifying the access policy

Der URI-Teil mit der Zugriffsrichtlinie gibt die Gültigkeitsdauer für die SAS und die Berechtigungen an, die dem Benutzer gewährt werden sollen.The access policy portion of the URI indicates the period of time over which the shared access signature is valid and the permissions to be granted to the user. Die in der folgenden Tabelle beschriebenen Teile des URIs umfassen die Zugriffsrichtlinie.The parts of the URI described in the following table comprise the access policy.

FeldnameField name Query parameter (Abfrageparameter)Query parameter BESCHREIBUNGDescription
signedStart st Optional.Optional. Der Zeitpunkt, zu dem die Shared Access Signature gültig wird, ausgedrückt in einem der akzeptierten ISO 8601-UTC-Formate.The time at which the shared access signature becomes valid, expressed in one of the accepted ISO 8601 UTC formats. Wenn der Wert nicht angegeben wird, wird die aktuelle UTC-Zeit als Startzeit verwendet.If omitted, the current UTC time is used as the start time.

In Versionen vor 12.02.2012 darf die Dauer zwischen signedStart und signedExpiry eine Stunde nicht überschreiten, es sei denn, es wird eine Containerrichtlinie verwendet.In versions before 2012-02-12, the duration between signedStart and signedExpiry cannot exceed one hour unless a container policy is used. Weitere Informationen zu akzeptierten UTC-Formaten finden Sie unter Formatieren von DateTime-Werten.For more information about accepted UTC formats, see Formatting DateTime values.
signedExpiry se Erforderlich.Required. Der Zeitpunkt, zu dem die Shared Access Signature ungültig wird, ausgedrückt in einem der akzeptierten ISO 8601-UTC-Formate.The time at which the shared access signature becomes invalid, expressed in one of the accepted ISO 8601 UTC formats. Dieses Feld muss ausgelassen werden, wenn es in einer zugehörigen gespeicherten Zugriffsrichtlinie angegeben wurde.This field must be omitted if it has been specified in an associated stored access policy. Weitere Informationen zu akzeptierten UTC-Formaten finden Sie unter Formatieren von DateTime-Werten.For more information about accepted UTC formats, see Formatting DateTime values.
signedPermissions sp Erforderlich.Required. Die Berechtigungen, die der SAS zugeordnet sind.The permissions associated with the shared access signature. Der Benutzer ist auf Vorgänge beschränkt, für die er eine Berechtigung besitzt.The user is restricted to operations allowed by the permissions. Dieses Feld muss ausgelassen werden, wenn es in einer zugehörigen gespeicherten Zugriffsrichtlinie angegeben wurde.This field must be omitted if it has been specified in an associated stored access policy.
startPk

startRk
spk

srk
Nur Tabellendienst.Table service only.

Optional, startPk und startRk müssen jedoch zusammen verwendet werden.Optional, but startPk must accompany startRk. Die minimalen Partitions- und Zeilenschlüssel, auf die über diese SAS zugegriffen werden kann.The minimum partition and row keys accessible with this shared access signature. Schlüsselwerte verstehen sich als inklusive Werte.Key values are inclusive. Wenn dieses Feld ausgelassen wird, gibt es für die Tabellenentitäten, auf die zugegriffen werden kann, keine untere Grenze.If omitted, there is no lower bound on the table entities that can be accessed.
endPk

endRk
epk

erk
Nur Tabellendienst.Table service only.

Optional, endPk und endRk müssen jedoch zusammen verwendet werden.Optional, but endPk must accompany endRk. Die maximalen Partitions- und Zeilenschlüssel, auf die über diese SAS zugegriffen werden kann.The maximum partition and row keys accessible with this shared access signature. Schlüsselwerte verstehen sich als inklusive Werte.Key values are inclusive. Wenn dieses Feld ausgelassen wird, gibt es für die Tabellenentitäten, auf die zugegriffen werden kann, keine obere Grenze.If omitted, there is no upper bound on the table entities that can be accessed.

Das signedPermissions-Feld ist für den URI erforderlich, es sei denn, er wird als Teil einer gespeicherten Zugriffsrichtlinie angegeben.The signedPermissions field is required on the URI unless it is specified as part of a stored access policy. Die Felder startPk, startRk, endPk und endRk können nur für eine Tabellenressource angegeben werden.The startPk, startRk, endPk, and endRk fields can only be specified on a table resource.

Angeben von BerechtigungenSpecifying permissions

Die für das signedPermissions sp Feld () im SAS-Token angegebenen Berechtigungen geben an, welche Vorgänge ein Client für die Ressource ausführen kann.The permissions specified for the signedPermissions (sp) field on the SAS token indicate which operations a client may perform on the resource.

Berechtigungen können kombiniert werden, um es einem Client zu ermöglichen, mehrere Vorgänge mit derselben SAS auszuführen.Permissions can be combined to permit a client to perform multiple operations with the same SAS. Wenn Sie die SAS erstellen, müssen Sie Berechtigungen in der folgenden Reihenfolge einschließen:When you construct the SAS, you must include permissions in the following order:

racwdxltmeop

Beispiele für gültige Berechtigungseinstellungen für einen Container sind rw ,, rd rl , wd , wl und rl .Examples of valid permissions settings for a container include rw, rd, rl, wd, wl, and rl. Beispiele für ungültige Einstellungen sind wr , dr , lr und dw .Examples of invalid settings include wr, dr, lr, and dw. Es ist nicht zulässig, eine Berechtigungskennzeichnung mehr als einmal anzugeben.Specifying a permission designation more than once is not permitted.

Eine Dienst-SAS kann keinen Zugriff auf bestimmte Vorgänge gewähren:A service SAS cannot grant access to certain operations:

  • Container, Warteschlangen und Tabellen können nicht erstellt, gelöscht oder aufgelistet werden.Containers, queues, and tables cannot be created, deleted, or listed.
  • Containermetadaten und -eigenschaften können nicht gelesen oder geschrieben werden.Container metadata and properties cannot be read or written.
  • Warteschlangen können nicht gelöscht werden, und ihre Metadaten werden möglicherweise nicht geschrieben.Queues cannot be cleared and their metadata may not be written.
  • Container können nicht geleast werden.Containers cannot be leased.

Verwenden Sie zum Erstellen einer SAS, die Zugriff auf diese Vorgänge gewährt, eine Konto-SAS.To construct a SAS that grants access to these operations, use an account SAS. Weitere Informationen finden Sie unter Erstellen einer Konto-SAS.For more information, see Create an account SAS.

Wichtig

Shared Access Signature (SAS) sind Schlüssel, die Speicherressourcen Berechtigungen erteilen und auf die gleiche Weise wie ein Kontoschlüssel geschützt werden sollten.Shared access signature are keys that grant permissions to storage resources, and should be protected in the same manner as an account key. Vorgänge, die Shared Access Signature verwenden, sollten nur über eine HTTPS-Verbindung ausgeführt werden, und SAS-URIs sollten nur über eine sichere Verbindung wie HTTPS verteilt werden.Operations that use shared access signatures should be performed only over an HTTPS connection, and shared access signature URIs should only be distributed on a secure connection such as HTTPS.

Die Tabellen in den folgenden Abschnitten zeigen die Berechtigungen, die für die einzelnen Ressourcentypen unterstützt werden.The tables in the following sections show the permissions supported for each resource type.

Berechtigungen für ein Verzeichnis, einen Container oder ein BLOBPermissions for a directory, container, or blob

In der folgenden Tabelle werden die für die einzelnen Ressourcentypen unterstützten Berechtigungen angezeigt.The following table shows the permissions supported for each resource type.

BerechtigungPermission URI-SymbolURI symbol ResourceResource VersionsunterstützungVersion support Zulässige VorgängeAllowed operations
LesenRead rr ContainerContainer
VerzeichnisDirectory
BlobBlob
AllAll Lesen Sie den Inhalt, die Sperr Liste, die Eigenschaften und die Metadaten eines beliebigen BLOBs im Container oder Verzeichnis.Read the content, block list, properties, and metadata of any blob in the container or directory. Verwenden Sie ein BLOB als Quelle eines Kopiervorgangs.Use a blob as the source of a copy operation.
HinzufügenAdd aa ContainerContainer
VerzeichnisDirectory
BlobBlob
AllAll Fügen Sie einem anfügen-BLOB einen-Block hinzu.Add a block to an append blob.
ErstellenCreate cc ContainerContainer
VerzeichnisDirectory
BlobBlob
AllAll Schreiben Sie ein neues BLOB, erstellen Sie eine Momentaufnahme eines BLOBs, oder kopieren Sie ein BLOB in ein neues BLOB.Write a new blob, snapshot a blob, or copy a blob to a new blob.
SchreibenWrite ww ContainerContainer
VerzeichnisDirectory
BlobBlob
AllAll Erstellen oder Schreiben von Inhalten, Eigenschaften, Metadaten oder Sperrlisten.Create or write content, properties, metadata, or block list. Momentaufnahme oder Leasen des BLOBs.Snapshot or lease the blob. Ändern der BLOB-Größe (nur Seitenblob).Resize the blob (page blob only). Verwenden Sie das BLOB als Ziel eines Kopiervorgangs.Use the blob as the destination of a copy operation.
LöschenDelete dd ContainerContainer
VerzeichnisDirectory
BlobBlob
AllAll Löschen eines BlobsDelete a blob. Bei Version 2017-07-29 und höher ermöglicht die DELETE-Berechtigung auch das Unterbrechen einer Lease für ein BLOB.For version 2017-07-29 and later, the Delete permission also allows breaking a lease on a blob. Weitere Informationen finden Sie unter Lease BLOB Operation.For more information, see the Lease Blob operation.
Version löschenDelete version xx ContainerContainer
BlobBlob
Version 2019-12-12 oder höherVersion 2019-12-12 or later Löschen einer Blobversion.Delete a blob version.
Dauerhaftes LöschenPermanent delete yy BlobBlob Version 2020-02-10 oder höherVersion 2020-02-10 or later Löschen Sie eine BLOB-Momentaufnahme oder-Version dauerhaft.Permanently delete a blob snapshot or version.
ListeList ll ContainerContainer
VerzeichnisDirectory
AllAll Auflisten von blobvorwörtern (nicht rekursiv)List blobs non-recursively.
TagsTags tt BlobBlob Version 2019-12-12 oder höherVersion 2019-12-12 or later Lesen oder schreiben Sie die Tags für ein BLOB.Read or write the tags on a blob.
Verschieben (Vorschau)Move (preview) mm ContainerContainer
VerzeichnisDirectory
BlobBlob
Version 2020-02-10 oder höherVersion 2020-02-10 or later Verschieben Sie ein BLOB oder ein Verzeichnis und dessen Inhalt an einen neuen Speicherort.Move a blob or a directory and its contents to a new location. Dieser Vorgang kann optional auf den Besitzer des untergeordneten BLOB-, Verzeichnis-oder übergeordneten Verzeichnisses beschränkt werden, wenn der saoid Parameter im SAS-Token enthalten ist und das Kurznotiz-Bit für das übergeordnete Verzeichnis festgelegt ist.This operation can optionally be restricted to the owner of the child blob, directory, or parent directory if the saoid parameter is included on the SAS token and the sticky bit is set on the parent directory.
Ausführen (Vorschau)Execute (preview) ee ContainerContainer
VerzeichnisDirectory
BlobBlob
Version 2020-02-10 oder höherVersion 2020-02-10 or later Holen Sie sich die Systemeigenschaften, und wenn der hierarchische Namespace für das Speicherkonto aktiviert ist, können Sie die POSIX-ACL eines BLOBs erhalten.Get the system properties and, if the hierarchical namespace is enabled for the storage account, get the POSIX ACL of a blob. Wenn der hierarchische Namespace aktiviert ist und der Aufrufer der Besitzer eines BLOB ist, erteilt diese Berechtigung die Berechtigung zum Festlegen der besitzenden Gruppe, der POSIX-Berechtigungen und der POSIX-ACL des BLOBs.If the hierarchical namespace is enabled and the caller is the owner of a blob, this permission grants the ability to set the owning group, POSIX permissions, and POSIX ACL of the blob. Ermöglicht es dem Aufrufer nicht, benutzerdefinierte Metadaten zu lesen.Does not permit the caller to read user-defined metadata.
Besitz (Vorschau)Ownership (preview) oo ContainerContainer
VerzeichnisDirectory
BlobBlob
Version 2020-02-10 oder höherVersion 2020-02-10 or later Wenn der hierarchische Namespace aktiviert ist, ermöglicht diese Berechtigung dem Aufrufer das Festlegen des Besitzers oder der besitzenden Gruppe oder das fungieren als Besitzer beim Umbenennen oder Löschen eines Verzeichnisses oder BLOBs in einem Verzeichnis, in dem das Kurznotiz-Bit festgelegt ist.When the hierarchical namespace is enabled, this permission enables the caller to set the owner or the owning group, or to act as the owner when renaming or deleting a directory or blob within a directory that has the sticky bit set.
Berechtigungen (Vorschau)Permissions (preview) pp ContainerContainer
VerzeichnisDirectory
BlobBlob
Version 2020-02-10 oder höherVersion 2020-02-10 or later Wenn der hierarchische Namespace aktiviert ist, ermöglicht diese Berechtigung dem Aufrufer das Festlegen von Berechtigungen und POSIX-Zugriffs Steuerungs Listen für Verzeichnisse und blobvorgänge.When the hierarchical namespace is enabled, this permission allows the caller to set permissions and POSIX ACLs on directories and blobs.

Berechtigungen für eine DateiPermissions for a file

BerechtigungPermission URI-SymbolURI symbol Zulässige VorgängeAllowed operations
LesenRead rr Lesen Sie die Inhalte, Eigenschaften und Metadaten.Read the content, properties, metadata. Verwenden Sie die Datei als Quelle eines Kopiervorgangs.Use the file as the source of a copy operation.
ErstellenCreate cc Erstellen Sie eine neue Datei, oder kopieren Sie eine Datei in eine neue Datei.Create a new file or copy a file to a new file.
SchreibenWrite ww Erstellen oder Schreiben von Inhalten, Eigenschaften, Metadaten.Create or write content, properties, metadata. Ändern Sie die Größe der Datei.Resize the file. Verwenden Sie die Datei als Ziel eines Kopiervorgangs.Use the file as the destination of a copy operation.
LöschenDelete dd Löschen Sie die Datei.Delete the file.

Berechtigung für eine FreigabePermission for a share

BerechtigungPermission URI-SymbolURI symbol Zulässige VorgängeAllowed operations
LesenRead rr Lesen Sie den Inhalt, die Eigenschaften oder die Metadaten einer beliebigen Datei in der Freigabe.Read the content, properties or metadata of any file in the share. Verwenden Sie eine beliebige Datei in der Freigabe als Quelle eines Kopiervorgangs.Use any file in the share as the source of a copy operation.
ErstellenCreate cc Erstellen Sie eine neue Datei in der Freigabe, oder kopieren Sie eine Datei in eine neue Datei in der Freigabe.Create a new file in the share, or copy a file to a new file in the share.
SchreibenWrite ww Erstellen oder schreiben Sie für jede Datei in der Freigabe Inhalte, Eigenschaften oder Metadaten.For any file in the share, create or write content, properties or metadata. Ändern Sie die Größe der Datei.Resize the file. Verwenden Sie die Datei als Ziel eines Kopiervorgangs.Use the file as the destination of a copy operation. Hinweis: Sie können keine Berechtigungen zum Lesen oder Schreiben von Freigabe Eigenschaften oder Metadaten mit einer Dienst-SAS erteilen.Note: You cannot grant permissions to read or write share properties or metadata with a service SAS. Verwenden Sie stattdessen eine Konto-SAS.Use an account SAS instead.
LöschenDelete dd Löschen Sie eine beliebige Datei in der Freigabe.Delete any file in the share. Hinweis: Sie können keine Berechtigungen zum Löschen einer Freigabe mit einer Dienst-SAS erteilen.Note: You cannot grant permissions to delete a share with a service SAS. Verwenden Sie stattdessen eine Konto-SAS.Use an account SAS instead.
ListeList ll Auflisten von Dateien und Verzeichnissen in der Freigabe.List files and directories in the share.

Berechtigungen für eine WarteschlangePermissions for a queue

BerechtigungPermission URI-SymbolURI symbol Zulässige VorgängeAllowed operations
LesenRead rr Lesen von Metadaten und Eigenschaften einschließlich der Nachrichtenanzahl.Read metadata and properties, including message count. Überprüfung auf vorliegende Nachrichten.Peek at messages.
HinzufügenAdd aa Hinzufügen von Nachrichten zur WarteschlangeAdd messages to the queue.
UpdateUpdate uu Aktualisieren von Nachrichten in der Warteschlange.Update messages in the queue. Hinweis: Verwenden Sie die Process-Berechtigung mit Update, damit Sie zuerst die zu Aktualisier Ende Nachricht erhalten.Note: Use the Process permission with Update so you can first get the message you want to update.
ProzessProcess pp Abrufen und Löschen von Nachrichten aus der WarteschlangeGet and delete messages from the queue.

Berechtigungen für eine TabellePermissions for a table

BerechtigungPermission URI-SymbolURI symbol Zulässige VorgängeAllowed operations
AbfrageQuery rr Abrufen und Abfragen von EntitätenGet entities and query entities.
HinzufügenAdd aa Hinzufügen von EntitätenAdd entities. Hinweis: Add-und Update-Berechtigungen sind für upsert-Vorgänge erforderlich.Note: Add and Update permissions are required for upsert operations.
UpdateUpdate uu Aktualisieren von EntitätenUpdate entities. Hinweis: Add-und Update-Berechtigungen sind für upsert-Vorgänge erforderlich.Note: Add and Update permissions are required for upsert operations.
LöschenDelete dd Löschen von EntitätenDelete entities.

Angeben der IP-Adresse oder des IP-BereichsSpecifying IP address or IP range

Ab Version 2015-04-05 gibt das optionale signedIp ( sip )-Feld eine IP-Adresse oder einen Bereich von IP-Adressen an, von denen Anforderungen akzeptiert werden.Beginning with version 2015-04-05, the optional signedIp (sip) field specifies an IP address or a range of IP addresses from which to accept requests. Wenn die IP-Adresse, von der die Anforderung stammt, nicht mit der IP-Adresse oder dem Adressbereich des SAS-Tokens identisch ist, wird die Anforderung nicht autorisiert.If the IP address from which the request originates does not match the IP address or address range specified on the SAS token, the request is not authorized.

Wenn Sie einen Bereich von IP-Adressen angeben, beachten Sie, dass der Bereich inklusiv ist.When specifying a range of IP addresses, note that the range is inclusive. Wenn sip=168.1.5.65 Sie z. b. oder für die SAS angeben, wird sip=168.1.5.60-168.1.5.70 die Anforderung auf diese IP-Adressen beschränkt.For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS restricts the request to those IP addresses.

Wichtig

Eine SAS, die von einem Client verwendet wird, der sich in derselben Azure-Region wie das Speicherkonto befindet, enthält möglicherweise keine öffentliche ausgehende IP-Adresse für das signedIp Feld.A SAS used by a client that is in the same Azure region as the storage account may not include a public outbound IP address for the signedIp field. Anforderungen aus derselben Region, die eine SAS mit einer öffentlichen ausgehenden IP-Adresse verwenden, schlagen fehl.Requests made from within the same region using a SAS with a public outbound IP address specified will fail.

Angeben des HTTP-ProtokollsSpecifying the HTTP protocol

Ab Version 2015-04-05 gibt das optionale signedProtocol Feld ( spr ) das Protokoll an, das für eine mit der SAS vorgenommene Anforderung zulässig ist.Beginning with version 2015-04-05, the optional signedProtocol (spr) field specifies the protocol permitted for a request made with the SAS. Mögliche Werte sind HTTPS und http ( https,http ) oder HTTPS ( https ).Possible values are both HTTPS and HTTP (https,http) or HTTPS only (https). Standardwert: https,http.The default value is https,http. Beachten Sie, dass HTTP allein kein zulässiger Wert ist.Note that HTTP only is not a permitted value.

Angeben von Tabellen Zugriffs BereichenSpecifying table access ranges

Durch die Felder startPk, startRk, endPk und endRk wird ein Bereich von Tabellenentitäten definiert, die einer SAS zugeordnet sind.The startPk, startRk, endPk, and endRk fields define a range of table entities associated with a shared access signature. Tabellenabfragen geben nur Ergebnisse zurück, die innerhalb des Bereichs liegen. Alle Versuche, die SAS zum Hinzufügen, Aktualisieren oder Löschen von Entitäten außerhalb dieses Bereichs zu verwenden, schlagen fehl.Table queries will only return results that are within the range, and attempts to use the shared access signature to add, update, or delete entities outside this range will fail. Wenn startPk gleich endPk ist, gewährt die SAS nur Zugriff auf Entitäten, die sich in einer Partition der Tabelle befinden.If startPk equals endPk, the shared access signature only authorizes access to entities in one partition in the table. Wenn startPk gleich endPk und startRk gleich endRk ist, kann die SAS nur auf eine Entität in einer Partition zugreifen.If startPk equals endPk and startRk equals endRk, the shared access signature can only access one entity in one partition. Verwenden Sie die folgende Tabelle, um zu verstehen, wie der Zugriff auf Entitäten in einer Tabelle durch diese Felder eingeschränkt wird.Use the following table to understand how these fields constrain access to entities in a table.

Vorhandene FelderFields present EinschränkungsbereichScope of constraint
startPk partitionKey >= startPkpartitionKey >= startPk
endPk PartitionKey <= endPkpartitionKey <= endPk
startPk, startRkstartPk, startRk (PartitionKey > startPk ) || (PartitionKey = = startPk && RowKey >= startRk )(partitionKey > startPk) || (partitionKey == startPk && rowKey >= startRk)
endPk, endRkendPk, endRk (PartitionKey < endPk ) || (PartitionKey = = endPk && RowKey <= endRk )(partitionKey < endPk) || (partitionKey == endPk && rowKey <= endRk)

Geben Sie die Verzeichnis Tiefe an (Vorschau).Specify the directory depth (preview)

Wenn ein hierarchischer Namespace aktiviert ist und das signedResource Feld ein Verzeichnis angibt ( sr=d ), müssen Sie auch das signedDirectoryDepth Feld ( sdd ) (Vorschau) angeben, um die Anzahl der Unterverzeichnisse im Stammverzeichnis anzugeben.When a hierarchical namespace is enabled and the signedResource field specifies a directory (sr=d), then you must also specify the signedDirectoryDepth (sdd) field (preview) to indicate the number of subdirectories under the root directory. Der Wert des sdd Felds muss eine nicht negative Ganzzahl sein.The value of the sdd field must be a non-negative integer.

Das Stammverzeichnis https://{account}.blob.core.windows.net/{container}/ hat z. b. eine Tiefe von 0.For example, the root directory https://{account}.blob.core.windows.net/{container}/ has a depth of 0. Jedes Unterverzeichnis unterhalb des Stamm Verzeichnisses fügt die Tiefe um eins hinzu.Each subdirectory beneath the root directory adds to the depth by one. Das Verzeichnis https://{account}.blob.core.windows.net/{container}/d1/d2 hat eine Tiefe von zwei.The directory https://{account}.blob.core.windows.net/{container}/d1/d2 has a depth of two.

Dieses Feld wird mit Version 2020-02-10 oder höher unterstützt.This field is supported with version 2020-02-10 or later.

Angeben des signierten BezeichnersSpecifying the signed identifier

Indem das signedIdentifier-Feld für den URI festgelegt wird, wird die angegebene SAS mit einer entsprechenden gespeicherten Zugriffsrichtlinie verknüpft.Specifying the signedIdentifier field on the URI relates the given shared access signature to a corresponding stored access policy. Eine gespeicherte Zugriffsrichtlinie ist eine zusätzliche Kontrollmaßnahme für eine oder mehrere SAS. Sie bietet die Möglichkeit, die Signatur bei Bedarf zu widerrufen.A stored access policy provides an additional measure of control over one or more shared access signatures, including the ability to revoke the signature if needed. Jeder Container, jede Warteschlange, jede Tabelle oder jede Freigabe kann bis zu 5 gespeicherte Zugriffsrichtlinien aufweisen.Each container, queue, table, or share can have up to 5 stored access policies.

In der folgenden Tabelle wird beschrieben, wie auf einen signierten Bezeichner im URI verwiesen wird.The following table describes how to refer to a signed identifier on the URI.

FeldnameField name Query parameter (Abfrageparameter)Query parameter BESCHREIBUNGDescription
signedIdentifier si Optional.Optional. Ein eindeutiger, maximal 64 Zeichen langer Wert, der mit einer Zugriffsrichtlinie korreliert, die für den Container, die Warteschlange oder die Tabelle angegeben wurde.A unique value up to 64 characters in length that correlates to an access policy specified for the container, queue, or table.

Eine gespeicherte Zugriffsrichtlinie enthält einen signierten Bezeichner, d. h., einen maximal 64 Zeichen langen Wert, der innerhalb der Ressource eindeutig ist.A stored access policy includes a signed identifier, a value up to 64 characters long that is unique within the resource. Der Wert des signierten Bezeichners kann über das signedidentifier-Feld im URI für die SAS angegeben werden.The value of this signed identifier can be specified for the signedidentifier field in the URI for the shared access signature. Indem ein signierter Bezeichner für den URI angegeben wird, wird die Signatur mit der gespeicherten Zugriffsrichtlinie verknüpft.Specifying a signed identifier on the URI associates the signature with the stored access policy. Informationen zum Einrichten einer Zugriffs Richtlinie auf Container Ebene mithilfe der Rest-API finden Sie unter Delegieren des Zugriffs mit einer Shared Access Signature.To establish a container-level access policy using the REST API, see Delegate access with a shared access signature.

Angeben der SignaturSpecifying the signature

Der Signatur Teil des URI wird verwendet, um die mit der SAS vorgenommene Anforderung zu autorisieren.The signature part of the URI is used to authorize the request made with the shared access signature. Azure Storage verwendet ein Shared Key-Autorisierungs Schema, um eine Dienst-SAS zu autorisieren.Azure Storage uses a Shared Key authorization scheme to authorize a service SAS. In der folgenden Tabelle wird beschrieben, wie die Signatur für den URI angegeben wird.The following table describes how to specify the signature on the URI.

FeldnameField name Query parameter (Abfrageparameter)Query parameter BESCHREIBUNGDescription
signature sig Die Zeichenfolge für die Signierung ist eine eindeutige Zeichenfolge, die aus den Feldern erstellt wird, die überprüft werden müssen, um die Anforderung zu autorisieren.The string-to-sign is a unique string constructed from the fields that must be verified in order to authorize the request. Die Signatur ist ein HMAC, der mithilfe des SHA256-Algorithmus für eine StringToSign-Zeichenfolge und einen Schlüssel berechnet wird. Das Ergebnis wird anschließend mit der Base64-Codierung verschlüsselt.The signature is an HMAC computed over the string-to-sign and key using the SHA256 algorithm, and then encoded using Base64 encoding.

Erstellen der Signatur ZeichenfolgeConstructing the signature string

Um die Signaturzeichenfolge einer SAS zu erstellen, legen Sie zuerst die StringToSign-Zeichenfolge auf der Basis der Felder fest, die die Anforderung enthalten. Anschließend codieren Sie die Zeichenfolge als UTF-8 und berechnen die Signatur mithilfe des HMAC-SHA256-Algorithmus.To construct the signature string of a shared access signature, first construct the string-to-sign from the fields comprising the request, then encode the string as UTF-8 and compute the signature using the HMAC-SHA256 algorithm. Beachten Sie, dass die in der StringToSign-Zeichenfolge enthaltenen Felder URL-decodiert sein müssen.Note that fields included in the string-to-sign must be URL-decoded.

Version 2018-11-09 und höherVersion 2018-11-09 and later

In Version 2018-11-09 wird Unterstützung für die Zeitfelder signierte Ressourcen und signierte blobmomentaufnahmen hinzugefügt.Version 2018-11-09 adds support for the signed resource and signed blob snapshot time fields. Diese müssen in die Zeichenfolge für die Signierung eingeschlossen werden.These must be included in the string-to-sign. Verwenden Sie das folgende Format, um die Zeichenfolge für die BLOB-Dienst Ressourcen zu erstellen:To construct the string-to-sign for Blob service resources, use the following format:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedIP + "\n" +  
               signedProtocol + "\n" +  
               signedVersion + "\n" +  
               signedResource + "\n"
               signedSnapshotTime + "\n" +
               rscc + "\n" +  
               rscd + "\n" +  
               rsce + "\n" +  
               rscl + "\n" +  
               rsct  
Version 2015-04-05 und höherVersion 2015-04-05 and later

Version 2015-04-05 fügt Unterstützung für die Felder "signed IP" und "signed Protocol" hinzu.Version 2015-04-05 adds support for the signed IP and signed protocol fields. Diese müssen in die Zeichenfolge für die Signierung eingeschlossen werden.These must be included in the string-to-sign. Verwenden Sie das folgende Format, um die Zeichenfolge für BLOB-oder Datei Dienst Ressourcen zu erstellen:To construct the string-to-sign for Blob or File service resources, use the following format:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedIP + "\n" +  
               signedProtocol + "\n" +  
               signedVersion + "\n" +  
               rscc + "\n" +  
               rscd + "\n" +  
               rsce + "\n" +  
               rscl + "\n" +  
               rsct  

Verwenden Sie das folgende Format, um die Zeichenfolge für die Tabellen Dienst Ressourcen zu erstellen:To construct the string-to-sign for Table service resources, use the following format:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedIP + "\n" +  
               signedProtocol + "\n" +  
               signedVersion + "\n" +  
               startingPartitionKey + "\n"  
               startingRowKey + "\n"  
               endingPartitionKey + "\n"  
               endingRowKey  
  

Verwenden Sie das folgende Format, um die Zeichenfolge für die Warteschlangendienst Ressourcen zu erstellen:To construct the string-to-sign for Queue service resources, use the following format:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedIP + "\n" +  
               signedProtocol + "\n" +  
               signedVersion  
  
Version 2013-08-15 bis Version 2015-02-21Version 2013-08-15 through version 2015-02-21

Verwenden Sie das folgende Format, um die Zeichenfolge für BLOB-oder Datei Dienst Ressourcen mit Version 2013-08-15 (Version 2015-02-21) zu erstellen.To construct the string-to-sign for Blob or File service resources using the 2013-08-15 version through version 2015-02-21, use the following format. Beachten Sie, dass SAS für den Datei Dienst ab Version 2015-02-21 unterstützt wird.Note that for the File service, SAS is supported beginning with version 2015-02-21.

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedVersion + "\n" +  
               rscc + "\n" +  
               rscd + "\n" +  
               rsce + "\n" +  
               rscl + "\n" +  
               rsct  

Um die StringToSign-Zeichenfolge für eine Tabelle zu erstellen, halten Sie folgende Formatvorgaben ein:To construct the string-to-sign for a table, use the following format:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedVersion + "\n" +  
               startPk + "\n" +  
               startRk + "\n" +  
               endPk + "\n" +  
               endRk  
  

Verwenden Sie das folgende Format, um die Zeichenfolge für eine Warteschlange zu erstellen:To construct the string-to-sign for a queue, use the following format:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedVersion 
Version 2012-02-12Version 2012-02-12

Um die StringToSign-Zeichenfolge für Blob-Dienstressourcen zu erstellen, die Version 2012-02-12 verwenden, halten Sie folgende Formatvorgaben ein:To construct the string-to-sign for Blob service resources for version 2012-02-12, use the following format:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedVersion  
Versionen vor 2012-02-12Versions Prior to 2012-02-12

Um die Zeichenfolge für BLOB-Dienst Ressourcen für Versionen vor 2012-02-12 zu erstellen, verwenden Sie das folgende Format:To construct the string-to-sign for Blob service resources for versions prior to 2012-02-12, use the following format:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier  
  

Beachten Sie beim Erstellen der zu signierenden Zeichenfolge Folgendes:When constructing the string to be signed, keep in mind the following:

  • Wenn ein Feld optional ist und nicht als Teil der Anforderung bereitgestellt wird, geben Sie eine leere Zeichenfolge für das Feld an.If a field is optional and not provided as part of the request, specify an empty string for that field. Achten Sie darauf, nach der leeren Zeichenfolge das Neue-Zeile-Zeichen (\n) einzufügen.Be sure to include the newline character (\n) after the empty string.

  • StringToSign-Zeichenfolgen für eine Tabelle müssen die zusätzlichen Parameter enthalten, auch wenn sie leere Zeichenfolgen sind.String-to-sign for a table must include the additional parameters, even if they are empty strings.

  • Der signedpermission-Teil der Zeichenfolge muss die Berechtigungskennzeichnungen in einer festen Reihenfolge aufweisen, die spezifisch für die einzelnen Ressourcentypen ist.The signedpermission portion of the string must include the permission designations in a fixed order that is specific to each resource type. Beliebige Kombinationen dieser Berechtigungen sind zulässig, aber die Reihenfolge der Buchstaben muss der Reihenfolge in der folgenden Tabelle entsprechen.Any combination of these permissions is acceptable, but the order of permission letters must match the order in the following table.

    RessourcentypResource type Reihenfolge von BerechtigungenOrdering of permissions
    BlobBlob racwdracwd
    ContainerContainer racwdlracwdl
    WarteschlangeQueue raupraup
    DateiFile rcwdrcwd
    FreigabeShare rcwdlrcwdl
    TabelleTable raudraud

    Beispiele für gültige Berechtigungseinstellungen für einen Container sind z rw . b rd .,, rl , wd , wl und rl .For example, examples of valid permissions settings for a container include rw, rd, rl, wd, wl, and rl. Beispiele für ungültige Einstellungen sind wr , dr , lr und dw .Examples of invalid settings include wr, dr, lr, and dw. Es ist nicht zulässig, eine Berechtigungskennzeichnung mehr als einmal anzugeben.Specifying a permission designation more than once is not permitted.

  • Der canonicalizedResource-Teil der Zeichenfolge ist ein kanonischer Pfad zur signierten Ressource.The canonicalizedResource portion of the string is a canonical path to the signed resource. Er muss den Dienstnamen (BLOB, Tabelle, Warteschlange oder Datei) für Version 2015-02-21 oder höher, den Speicherkonto Namen und den Ressourcennamen enthalten und muss URL-decodiert sein.It must include the service name (blob, table, queue or file) for version 2015-02-21 or later, the storage account name, and the resource name, and must be URL-decoded. Der BLOB-Container muss in den Namen der BLOBs enthalten sein.Names of blobs must include the blob’s container. Tabellennamen müssen kleingeschrieben werden.Table names must be lower-case.

Bei der kanonisierten Ressourcen Zeichenfolge für einen Container, eine Warteschlange, eine Tabelle oder eine Dateifreigabe muss der nachstehende Schrägstrich ("/") für eine SAS ausgelassen werden, die Zugriff auf dieses Objekt bereitstellt.The canonicalized resource string for a container, queue, table, or file share must omit the trailing slash ('/') for a SAS that provides access to that object.

In den folgenden Beispielen wird veranschaulicht, wie der canonicalizedResource Teil der Zeichenfolge erstellt wird, je nach Ressourcentyp.The following examples show how to construct the canonicalizedResource portion of the string, depending on the type of resource.

 **Containers**  

 For version 2015-02-21 and later:  

```  
URL = https://myaccount.blob.core.windows.net/music  
canonicalizedResource = "/blob/myaccount/music"  
```  

 For versions prior to 2015-02-21:  

```  
URL = https://myaccount.blob.core.windows.net/music
canonicalizedResource = "/myaccount/music"  
```  

 **Blobs**  

 For version 2015-02-21 and later:  

```  
URL = https://myaccount.blob.core.windows.net/music/intro.mp3  
canonicalizedResource = "/blob/myaccount/music/intro.mp3"  

```  

 For versions prior to 2015-02-21:  

```  
URL = https://myaccount.blob.core.windows.net/music/intro.mp3
canonicalizedResource = "/myaccount/music/intro.mp3"  
```  

 **File Shares**  

```  
URL = https://myaccount.file.core.windows.net/music
canonicalizedResource = "/file/myaccount/music"  
```  

 **Files**  

```  
URL = https://myaccount.file.core.windows.net/music/intro.mp3
canonicalizedResource = "/file/myaccount/music/intro.mp3"  
```  

 **Queues**  

 For version 2015-02-21 and later:  

```  
URL = https://myaccount.queue.core.windows.net/thumbnails  
canonicalizedResource = "/queue/myaccount/thumbnails"  

```  

 For versions prior to 2015-02-21:  

```  
URL = https://myaccount.queue.core.windows.net/thumbnails  
canonicalizedResource = "/myaccount/thumbnails"  

```  

 **Tables**  

 If the signed resource is a table, assure the table name is lower-case in the canonicalized format.  

 For version 2015-02-21 and later:  

```  
URL = https://myaccount.table.core.windows.net/Employees(PartitionKey='Jeff',RowKey='Price')  
canonicalizedResource = "/table/myaccount/employees"  

```  

 For versions prior to 2015-02-21:  

```  
URL = https://myaccount.table.core.windows.net/Employees(PartitionKey='Jeff',RowKey='Price')  
canonicalizedResource = "/myaccount/employees"  

```  
  • Geben Sie einen Wert für den signedIdentifier-Teil der Zeichenfolge an, wenn Sie die Anforderung mit einer gespeicherten Zugriffsrichtlinie verknüpfen.Provide a value for the signedIdentifier portion of the string if you are associating the request with a stored access policy.

  • Eine Shared Access Signature, die eine Speicherdienst Version vor 2012-02-12 angibt, kann nur ein BLOB oder einen Container freigeben, und signedVersion Sie müssen und den Zeilen Vorgangstyp weglassen.A shared access signature that specifies a storage service version before 2012-02-12 can only share a blob or container, and must omit signedVersion and the newline before it.

Lebensdauer und Sperrung einer Shared Access SignatureLifetime and revocation of a shared access signature

Über eine SAS werden dem Benutzer Zugriffsberechtigungen für Speicherkontoressourcen gewährt.Shared access signatures grant users access rights to storage account resources. Wenn Sie die Verwendung einer SAS planen, stellen Sie sich die Lebensdauer der SAS vor und ob die Anwendung möglicherweise unter bestimmten Umständen Zugriffsrechte widerrufen muss.When planning to use a SAS, think about the lifetime of the SAS and whether your application may need to revoke access rights under certain circumstances.

Ad-hoc-SAS im Vergleich zu gespeicherter ZugriffsrichtlinienAd hoc SAS versus stored access policy

Eine Dienst-SAS kann eine von zwei Formen annehmen:A service SAS can take one of two forms:

  • Ad-hoc-SAS: Beim Erstellen einer Ad-hoc-SAS werden Startzeit, Ablaufzeit und Berechtigungen für die SAS im SAS-URI angegeben (bzw. impliziert, falls die Startzeit ausgelassen wird).Ad hoc SAS: When you create an ad hoc SAS, the start time, expiry time, and permissions for the SAS are all specified in the SAS URI (or implied, if start time is omitted). Jede Art von SAS kann eine Ad-hoc-SAS sein.Any type of SAS can be an ad hoc SAS.

    Sie können die Gültigkeitsdauer einer Ad-hoc-SAS über das signedExpiry Feld verwalten.You can manage the lifetime of an ad hoc SAS via the signedExpiry field. Wenn Sie einem Client nach der Ablaufzeit Zugriff auf die Ressource erteilen möchten, müssen Sie eine neue Signatur ausgeben.If you want to continue to grant a client access to the resource after the expiry time, you must issue a new signature. Es wird empfohlen, die Lebensdauer einer SAS kurz zu halten.It’s recommended that you keep the lifetime of a shared access signature short. Vor Version 2012-02-12 konnte eine Shared Access Signature, die keiner gespeicherten Zugriffs Richtlinie zugeordnet ist, über einen aktiven Zeitraum verfügen, der eine Stunde überschritten hat.Prior to version 2012-02-12, a shared access signature not associated with a stored access policy could not have an active period that exceeded one hour.

  • SAS mit gespeicherter Zugriffs Richtlinie: Eine gespeicherte Zugriffs Richtlinie ist für einen Ressourcen Container definiert, bei dem es sich um einen BLOB-Container, eine Tabelle, eine Warteschlange oder eine Dateifreigabe handeln kann.SAS with stored access policy: A stored access policy is defined on a resource container, which can be a blob container, table, queue, or file share. Die gespeicherte Zugriffs Richtlinie kann verwendet werden, um Einschränkungen für eine oder mehrere SAS zu verwalten.The stored access policy can be used to manage constraints for one or more shared access signatures. Wenn Sie eine SAS mit einer gespeicherten Zugriffs Richtlinie verknüpfen, erbt die SAS die Einschränkungen — für die Startzeit, die Ablaufzeit und die Berechtigungen, die — für die gespeicherte Zugriffs Richtlinie definiert sind.When you associate a SAS with a stored access policy, the SAS inherits the constraints—the start time, expiry time, and permissions—defined for the stored access policy.

    Die gespeicherte Zugriffsrichtlinie wird durch das signedIdentifier-Feld des URIs dargestellt.The stored access policy is represented by the signedIdentifier field on the URI. Eine gespeicherte Zugriffsrichtlinie ist eine zusätzliche Kontrollmaßnahme für eine oder mehrere SAS. Sie bietet die Möglichkeit, die Signatur bei Bedarf zu widerrufen.A stored access policy provides an additional measure of control over one or more shared access signatures, including the ability to revoke the signature if needed.

Sperrung einer SASRevocation of a SAS

Da ein SAS-URI eine URL ist, kann er von jeder Person verwendet werden, die die SAS erhalten hat, unabhängig davon, wer ihn ursprünglich erstellt hat.Because a SAS URI is a URL, anyone that obtains the SAS can use it, regardless of who originally created it. Wenn eine SAS veröffentlicht wird, kann diese von beliebiger Stelle weltweit verwendet werden.If a SAS is published publicly, it can be used by anyone in the world. Eine SAS gewährt jeder Person, die im Besitz der SAS ist, Zugriff auf Ressourcen, bis eine von vier Bedingungen zutrifft:A SAS grants access to resources to anyone possessing it until one of four things happens:

  1. Die für eine Ad-hoc-SAS angegebene Ablaufzeit wird erreicht.The expiry time specified on an ad hoc SAS is reached.

  2. Die Ablaufzeit, die in der gespeicherten Zugriffs Richtlinie angegeben ist, auf die die SAS verweist, wird erreicht, wenn auf eine gespeicherte Zugriffs Richtlinie verwiesen wird und die Zugriffs Richtlinie eine Ablaufzeit angibt.The expiry time specified on the stored access policy referenced by the SAS is reached, if a stored access policy is referenced, and if the access policy specifies an expiry time. Die Ablaufzeit kann entweder erreicht werden, weil das Intervall abläuft, oder weil Sie die gespeicherte Zugriffs Richtlinie so geändert haben, dass Sie eine Ablaufzeit in der Vergangenheit hat. Dies ist eine Möglichkeit, die SAS aufzuheben.The expiry time can be reached either because the interval elapses, or because you've modified the stored access policy to have an expiry time in the past, which is one way to revoke the SAS.

  3. Die gespeicherte Zugriffs Richtlinie, auf die von der SAS verwiesen wird, wird gelöscht, wodurch die SAS aufgehoben wird.The stored access policy referenced by the SAS is deleted, which revokes the SAS. Wenn Azure Storage die in der Shared Access Signature angegebene gespeicherte Zugriffs Richtlinie nicht finden kann, kann der Client nicht auf die durch den URI angegebene Ressource zugreifen.If Azure Storage cannot locate the stored access policy specified in the shared access signature, the client is not able to access the resource indicated by the URI.

    Wenn Sie die gespeicherte Zugriffs Richtlinie mit dem gleichen Namen wie die gelöschte Richtlinie neu erstellen, sind alle vorhandenen SAS-Token nach den Berechtigungen, die dieser gespeicherten Zugriffs Richtlinie zugeordnet sind, ebenfalls gültig. dabei wird davon ausgegangen, dass die Ablaufzeit für die SAS nicht überschritten wurde.If you recreate the stored access policy with exactly the same name as the deleted policy, all existing SAS tokens will again be valid according to the permissions associated with that stored access policy, assuming that the expiry time on the SAS has not passed. Falls Sie die SAS widerrufen möchten, müssen Sie einen anderen Namen verwenden, wenn Sie die gespeicherte Zugriffsrichtlinie mit einer Ablaufzeit in der Zukunft erneut erstellen.If you are intending to revoke the SAS, be sure to use a different name if you recreate the access policy with an expiry time in the future.

  4. Der Kontoschlüssel, mit dem die SAS erstellt wurde, wird erneut generiert.The account key that was used to create the SAS is regenerated. Nach der erneuten Generierung eines Kontoschlüssels ist die Autorisierung aller Anwendungskomponenten, die diesen Schlüssel verwenden, erst wieder erfolgreich, wenn diese entweder mit dem anderen gültigen Kontoschlüssel oder mit dem neu generierten Kontoschlüssel aktualisiert werden.Regenerating an account key will cause all application components using that key to fail to authorize until they're updated to use either the other valid account key or the newly regenerated account key. Das erneute Generieren des Konto Schlüssels ist die einzige Möglichkeit, eine Ad-hoc-SAS sofort aufzuheben.Regenerating the account key is the only way to immediately revoke an ad hoc SAS.

Wichtig

Ein SAS-URI wird dem Kontoschlüssel, mit dem die Signatur erstellt wurde, und der zugehörigen gespeicherten Zugriffsrichtlinie (sofern vorhanden) zugeordnet.A shared access signature URI is associated with the account key used to create the signature, and the associated stored access policy (if any). Wenn keine gespeicherte Zugriffsrichtlinie angegeben wird, kann eine SAS nur durch Änderung des Kontoschlüssels aufgehoben werden.If no stored access policy is specified, the only way to revoke a shared access signature is to change the account key.

Bewährte Methoden empfehlen die Verwendung einer gespeicherten Zugriffs Richtlinie mit einer Dienst-SAS.Best practices recommend that you use a stored access policy with a service SAS. Wenn Sie sich für die Verwendung einer gespeicherten Zugriffs Richtlinie entscheiden, sollten Sie das Intervall, in dem die Ad-hoc-SAS gültig ist, nicht beibehalten.If you choose not to use a stored access policy, then be sure to keep the interval over which the ad hoc SAS is valid short. Weitere Informationen zum Zuordnen einer Dienst-SAS zu einer gespeicherten Zugriffs Richtlinie finden Sie unter Definieren einer gespeicherten Zugriffs Richtlinie.For more information on associating a service SAS with a stored access policy, see Define a stored access policy.

Beispiel für Dienst-SASService SAS example

Das folgende Beispiel zeigt einen Dienst-SAS-URI, der Lese-und Schreibberechtigungen für ein BLOB bereitstellt.The following example shows a service SAS URI that provides read and write permissions to a blob. In der Tabelle werden die einzelnen Teile des URIs aufgegliedert:The table breaks down each part of the URI:

https://myaccount.blob.core.windows.net/sascontainer/sasblob.txt?sv=2019-02-02&st=2019-04-29T22%3A18%3A26Z&se=2019-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D
NameName SAS-TeilSAS portion BESCHREIBUNGDescription
Ressourcen-URIResource URI https://myaccount.blob.core.windows.net/sascontainer/sasblob.txt Die Blob-Adresse.The address of the blob. Sie sollten unbedingt HTTPS verwenden.Note that using HTTPS is highly recommended.
Version des SpeicherdienstesStorage services version sv=2019-02-02 Für Speicherdienste der Version 2012-02-12 und später gibt dieser Parameter die zu verwendende Version an.For storage services version 2012-02-12 and later, this parameter indicates the version to use.
StartzeitStart time st=2019-04-29T22%3A18%3A26Z Angegeben im UTC-Zeitformat.Specified in UTC time. Lassen Sie diesen Parameter aus, wenn die SAS sofort gültig sein soll.If you want the SAS to be valid immediately, omit the start time.
AblaufzeitExpiry time se=2019-04-30T02%3A23%3A26Z Angegeben im UTC-Zeitformat.Specified in UTC time.
ResourceResource sr=b Die Ressource ist ein Blob.The resource is a blob.
BerechtigungenPermissions sp=rw Die SAS verleiht die Berechtigungen zum Lesen (r) und Schreiben (w).The permissions granted by the SAS include Read (r) and Write (w).
IP-BereichIP range sip=168.1.5.60-168.1.5.70 Der Bereich der IP-Adressen, von denen eine Anforderung akzeptiert wird.The range of IP addresses from which a request will be accepted.
ProtocolProtocol spr=https Nur Anforderungen per HTTPS sind zulässig.Only requests using HTTPS are permitted.
SignaturSignature sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D Wird verwendet, um den Zugriff auf das Blob zu autorisieren.Used to authorize access to the blob. Die Signatur ist ein HMAC, der mithilfe des SHA256-Algorithmus über StringToSign-Zeichenfolge und Schlüssel erstellt und anschließend mit Base64 codiert wird.The signature is an HMAC computed over a string-to-sign and key using the SHA256 algorithm, and then encoded using Base64 encoding.

Weitere InformationenSee also