Een SAS voor gebruikersdelegatie makenCreate a user delegation SAS

Een SAS-token voor toegang tot een container, map of Blob kan worden beveiligd met behulp van de referenties voor Azure AD of een account sleutel.A SAS token for access to a container, directory, or blob may be secured by using either Azure AD credentials or an account key. Een SAS die is beveiligd met Azure AD-referenties, wordt een SAS voor gebruikers overdracht genoemd.A SAS secured with Azure AD credentials is called a user delegation SAS. Micro soft raadt u aan om Azure AD-referenties, indien mogelijk, te gebruiken als een beveiligings best practice, in plaats van de account sleutel te gebruiken, wat eenvoudiger kan worden aangetast.Microsoft recommends that you use Azure AD credentials when possible as a security best practice, rather than using the account key, which can be more easily compromised. Wanneer het ontwerp van uw toepassing gedeelde toegangs handtekeningen vereist, gebruikt u Azure AD-referenties om een gebruikers delegering SA'S voor superieure beveiliging te maken.When your application design requires shared access signatures, use Azure AD credentials to create a user delegation SAS for superior security.

Elke SAS is ondertekend met een sleutel.Every SAS is signed with a key. Als u een gebruikers delegering SAS wilt maken, moet u eerst een sleutel voor gebruikers overdracht aanvragen, die vervolgens wordt gebruikt om de SAS te ondertekenen.To create a user delegation SAS, you must first request a user delegation key, which is then used to sign the SAS. De sleutel voor gebruikers overdracht is vergelijkbaar met de account sleutel die wordt gebruikt om een service-SAS of een account-SAS te ondertekenen, behalve dat deze afhankelijk is van uw Azure AD-referenties.The user delegation key is analogous to the account key used to sign a service SAS or an account SAS, except that it relies on your Azure AD credentials. Als u de sleutel voor gebruikers overdracht wilt aanvragen, roept u de bewerking gebruiker delegering ophalen aan.To request the user delegation key, call the Get User Delegation Key operation. Vervolgens kunt u de sleutel voor gebruikers overdracht gebruiken om de SAS te maken.You can then use the user delegation key to create the SAS.

Een SAS voor gebruikersdelegering wordt ondersteund voor Azure Blob-opslag en Azure Data Lake Storage Gen2.A user delegation SAS is supported for Azure Blob storage and Azure Data Lake Storage Gen2. Opgeslagen toegangs beleid wordt niet ondersteund voor een SAS voor gebruikers overdracht.Stored access policies are not supported for a user delegation SAS.

Waarschuwing

Shared Access Signature is sleutels die machtigingen verlenen aan opslag bronnen en moeten worden beveiligd op dezelfde manier als een account sleutel.Shared access signature are keys that grant permissions to storage resources, and should be protected in the same manner as an account key. Het is belang rijk om een SAS te beschermen tegen kwaad aardig of onbedoeld gebruik.It's important to protect a SAS from malicious or unintended use. Gebruik de keuze voor het distribueren van een SAS en een plan voor het intrekken van een besmette SAS.Use discretion in distributing a SAS, and have a plan in place for revoking a compromised SAS. Bewerkingen waarbij gebruik wordt gemaakt van een hand tekening voor gedeelde toegang, moeten alleen worden uitgevoerd via een HTTPS-verbinding en gedeelde toegangs handtekeningen-Uri's mogen alleen worden gedistribueerd via een beveiligde verbinding zoals HTTPS.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.

Zie een service-Sa's maken en een account-SAS makenvoor meer informatie over het gebruik van uw account sleutel voor het beveiligen van een SAS.For information about using your account key to secure a SAS, see Create a service SAS and Create an account SAS.

SAS-ondersteuning voor gebruikers overdracht voor toegang via een directory-bereikUser delegation SAS support for directory scoped access

Een SAS voor gebruikers overdracht ondersteunt het bereik van de directory ( sr=d ) wanneer de verificatie versie ( sv ) 2020-02-10 of hoger is en een hiërarchische naam ruimte (HNS) is ingeschakeld.A user delegation SAS supports directory scope (sr=d) when the authentication version (sv) is 2020-02-10 or higher and a hierarchical namespace (HNS) is enabled. De semantiek voor het bereik van de directory ( sr=d ) is vergelijkbaar met het bereik van de container ( sr=c ), met uitzonde ring van de toegang tot een map en eventuele onderliggende bestanden en submappen.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. Wanneer sr=d is opgegeven, sdd is de query parameter ook vereist.When sr=d is specified, the sdd query parameter is also required.

De teken reeks-naar-teken-indeling voor verificatie versie 2020-02-10 is ongewijzigd.The string-to-sign format for authentication version 2020-02-10 is unchanged.

SAS-ondersteuning voor gebruikers overdracht voor gebruikers-OIDUser delegation SAS support for user OID

SAS voor gebruikers overdracht ondersteunt een optionele gebruikers-OID die in saoid de suoid para meter of wordt uitgevoerd wanneer de verificatie versie ( sv ) 2020-02-10 of hoger is.User Delegation SAS supports an optional user OID carried in either the saoid or suoid parameter when the authentication version (sv) is 2020-02-10 or higher. Deze optionele para meter biedt een verbeterd autorisatie model voor werk belastingen voor meerdere gebruikers, zoals Hadoop en Spark.This optional parameter provides an enhanced authorization model for multi-user cluster workloads like Hadoop and Spark. SAS-tokens kunnen worden beperkt tot een specifieke bestandssysteem bewerking en gebruiker, waardoor een minder kwetsbaar toegangs token wordt geboden dat veiliger is voor het distribueren over een cluster met meerdere gebruikers.SAS tokens may be constrained to a specific filesystem operation and user, providing a less vulnerable access token that is safer for the purpose of distributing across a multi-user cluster. Een use-case voor deze functies is de integratie van het Hadoop ABFS-stuur programma met Apache zwerver.One use case for these features is the integration of the Hadoop ABFS driver with Apache Ranger.

Autorisatie van een gebruikers delegering SASAuthorization of a user delegation SAS

Wanneer een client een Blob Storage-Resource met een SAS voor gebruikers overdracht opent, wordt de aanvraag voor Azure Storage geautoriseerd met de Azure AD-referenties die zijn gebruikt om de SA'S te maken.When a client accesses a Blob storage resource with a user delegation SAS, the request to Azure Storage is authorized with the Azure AD credentials that were used to create the SAS. De machtigingen op basis van op rollen gebaseerde toegangs beheer (RBAC) die zijn verleend voor dat Azure AD-account, samen met de machtigingen die expliciet zijn verleend op de SA'S, bepalen de toegang van de client tot de resource.The role-based access control (RBAC) permissions granted for that Azure AD account, together with the permissions explicitly granted on the SAS, determine the client's access to the resource. Deze benadering biedt een extra beveiligings niveau en voor komt dat de toegangs sleutel van uw account moet worden opgeslagen met de code van uw toepassing.This approach provides an additional level of security and avoids the need to store your account access key with your application code. Daarom is het maken van een SAS met Azure AD-referenties een beveiligings best practice.For these reasons, creating a SAS using Azure AD credentials is a security best practice.

De machtigingen die worden verleend aan een client die beschikt over de SA'S, zijn het snij punt van de machtigingen die zijn verleend aan de beveiligingsprincipal die de sleutel voor gebruikers overdracht heeft aangevraagd en de machtigingen die zijn verleend aan de resource op het SAS-token met behulp van het signedPermissions ( sp ) veld.The permissions granted to a client who possesses the SAS are the intersection of the permissions granted to the security principal that requested the user delegation key and the permissions granted to the resource on the SAS token using the signedPermissions (sp) field. Als een machtiging die is verleend aan de beveiligingsprincipal via RBAC niet ook wordt verleend op het SAS-token, wordt die machtiging niet verleend aan de client die de SAS probeert te gebruiken voor toegang tot de bron.If a permission granted to the security principal via RBAC is not also granted on the SAS token, then that permission is not granted to the client who attempts to use the SAS to access the resource. Wanneer u een SAS voor gebruikers overdracht maakt, moet u ervoor zorgen dat de machtigingen die via RBAC worden verleend en de machtigingen die via de SAS-token worden verleend, beide worden uitgelijnd op het toegangs niveau dat door de client wordt vereist.When creating a user delegation SAS, make sure that the permissions granted via RBAC and the permissions granted via the SAS token both align to the level of access required by the client.

Voer de volgende stappen uit om een SAS voor gebruikers overdracht te maken:To create a user delegation SAS, follow these steps:

  1. Gebruik RBAC om de gewenste machtigingen te verlenen aan de beveiligingsprincipal die de sleutel voor gebruikers overdracht moet aanvragen.Use RBAC to grant the desired permissions to the security principal who will request the user delegation key.
  2. Haal een OAuth 2,0-token op uit Azure AD.Acquire an OAuth 2.0 token from Azure AD.
  3. Gebruik het token om de gebruikers delegerings sleutel aan te vragen door de bewerking voor het ophalen van de gebruikers overdrachts sleutel aan te roepen.Use the token to request the user delegation key by calling the Get User Delegation Key operation.
  4. Gebruik de sleutel gebruikers overdracht om de SAS-token met de juiste velden te maken.Use the user delegation key to construct the SAS token with the appropriate fields.

Machtigingen toewijzen met RBACAssign permissions with RBAC

De beveiligings-principal die de gebruikers delegatie sleutel aanvraagt, moet de juiste machtigingen hebben om dit te doen.The security principal that requests the user delegation key needs to have the appropriate permissions to do so. Een beveiligings-principal van Azure AD kan een gebruiker, een groep, een service-principal of een beheerde identiteit zijn.An Azure AD security principal may be a user, a group, a service principal, or a managed identity.

Als u de sleutel voor gebruikers overdracht wilt aanvragen, moet aan een beveiligingsprincipal de actie micro soft. Storage/Storage accounts/blobServices/generateUserDelegationKey worden toegewezen.To request the user delegation key, a security principal must be assigned the Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey action. De volgende ingebouwde RBAC-rollen zijn onder andere de actie micro soft. Storage/Storage accounts/blobServices/generateUserDelegationKey , hetzij expliciet, hetzij als onderdeel van een definitie van een Joker teken:The following built-in RBAC roles include the Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey action, either explicitly or as part of a wildcard definition:

Omdat de bewerking voor sleutel gebruikers overdracht ophalen op het niveau van het opslag account optreedt, moet de actie micro soft. Storage/Storage accounts/blobServices/generateUserDelegationKey zijn gericht op het niveau van het opslag account, de resource groep of het abonnement.Because the Get User Delegation Key operation acts at the level of the storage account, the Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey action must be scoped at the level of the storage account, the resource group, or the subscription. Als aan de beveiligingsprincipal een van de ingebouwde rollen wordt toegewezen die hierboven worden genoemd, of een aangepaste rol met de actie micro soft. Storage/Storage accounts/blobServices/generateUserDelegationKey , op het niveau van het opslag account, de resource groep of het abonnement, kan de beveiligingsprincipal de gebruikers delegerings sleutel aanvragen.If the security principal is assigned any of the built-in roles listed above, or a custom role that includes the Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey action, at the level of the storage account, the resource group, or the subscription, the security principal will be able to request the user delegation key.

Als aan de beveiligingsprincipal een rol is toegewezen die toegang tot gegevens toestaat, maar die een bereik heeft van een container, kunt u ook de rol van BLOB- delegering van de opslag toewijzen aan die beveiligingsprincipal op het niveau van het opslag account, de resource groep of het abonnement.In the case where the security principal is assigned a role that permits data access but is scoped to the level of a container, you can additionally assign the Storage Blob Delegator role to that security principal at the level of the storage account, resource group, or subscription. De rol voor het overdragen van de opslag-BLOB verleent de beveiligings-principal machtigingen voor het aanvragen van de gebruikers delegatie-sleutel.The Storage Blob Delegator role grants the security principal permissions to request the user delegation key.

Zie autoriseren met Azure Active Directoryvoor meer informatie over RBAC-rollen voor Azure Storage.For more information about RBAC roles for Azure Storage, see Authorize with Azure Active Directory.

Een OAuth 2,0-token verkrijgenAcquire an OAuth 2.0 token

Als u de sleutel voor gebruikers overdracht wilt ophalen, moet u eerst een OAuth 2,0-token aanvragen bij Azure AD.To get the user delegation key, first request an OAuth 2.0 token from Azure AD. Geef het token met het Bearer-schema op om de aanroep naar de sleutel bewerking gebruikers overdracht ophalen te autoriseren.Provide the token with the Bearer scheme to authorize the call to the Get User Delegation Key operation. Zie verificatie stromen en toepassings scenario'svoor meer informatie over het aanvragen van een OAuth-token van Azure AD.For more information about requesting an OAuth token from Azure AD, see Authentication flows and application scenarios.

De sleutel voor gebruikers overdracht aanvragenRequest the user delegation key

Een aanroep van de sleutel bewerking gebruikers overdracht ophalen retourneert de sleutel als een set waarden die worden gebruikt als para meters op het SAS-token van de gebruikers overdracht.A call to the Get User Delegation Key operation returns the key as a set of values that are used as parameters on the user delegation SAS token. Deze para meters worden beschreven in de naslag informatie voor het delegeren van gebruikers overdracht en in de sectie een SAS voor gebruikers delegering maken.These parameters are described in the Get User Delegation Key reference and in the section titled Construct a user delegation SAS.

Wanneer een client een sleutel voor gebruikers overdracht aanvraagt met een OAuth 2,0-token, retourneert Azure Storage de gebruikers delegatie sleutel namens de beveiligingsprincipal.When a client requests a user delegation key using an OAuth 2.0 token, Azure Storage returns the user delegation key on behalf of the security principal. De SA'S die zijn gemaakt met de gebruikers delegatie sleutel worden verleend aan de machtigingen die zijn verleend aan de beveiligingsprincipal.The SAS that is created with the user delegation key is granted the permissions that have been granted to the security principal.

Zodra u de sleutel voor gebruikers overdracht hebt, kunt u deze sleutel gebruiken om een wille keurig aantal hand tekeningen voor gedeelde toegang voor gebruikers overdracht te maken, gedurende de levens duur van de sleutel.Once you have the user delegation key, you can use that key to create any number of user delegation shared access signatures, over the lifetime of the key. De sleutel voor gebruikers delegering is onafhankelijk van het OAuth 2,0-token dat is gebruikt om het te verkrijgen, zodat het token niet hoeft te worden vernieuwd, zolang de sleutel nog geldig is.The user delegation key is independent of the OAuth 2.0 token used to acquire it, so the token does not need to be renewed so long as the key is still valid. U kunt opgeven dat de sleutel geldig is gedurende een periode van Maxi maal zeven dagen.You can specify that the key is valid for a period of up to seven days.

Een SAS voor gebruikers overdracht makenConstruct a user delegation SAS

De volgende tabel bevat een overzicht van de velden die worden ondersteund voor een SAS-token voor gebruikers overdracht.The following table summarizes the fields supported for a user delegation SAS token. In de volgende secties vindt u meer informatie over het opgeven van deze para meters.Subsequent sections provide additional detail about how to specify these parameters.

SAS-veld naamSAS field name SAS-token parameterSAS token parameter Vereist of optioneelRequired or optional Versie ondersteuningVersion support BeschrijvingDescription
signedVersion sv VereistRequired 2018-11-09 of hoger2018-11-09 or later Geeft de versie aan van de service die is gebruikt om het handtekening veld te maken en geeft ook de service versie op die een aanvraag afhandelt die is gemaakt met deze Shared Access-hand tekening.Indicates the version of the service used to construct the signature field, and also specifies the service version that handles a request made with this shared access signature.
signedResource sr VereistRequired AllesAll Hiermee geeft u op welke BLOB-resources toegankelijk zijn via de Shared Access-hand tekening.Specifies which blob resources are accessible via the shared access signature.
signedStart st OptioneelOptional AllesAll Optioneel.Optional. Het tijdstip waarop de Shared Access-hand tekening geldig wordt, uitgedrukt in een van de geaccepteerde ISO 8601-UTC-indelingen.The time at which the shared access signature becomes valid, expressed in one of the accepted ISO 8601 UTC formats. Als u dit weglaat, wordt de huidige UTC-tijd gebruikt als de begin tijd.If omitted, the current UTC time is used as the start time. Zie datetime-waarden opmakenvoor meer informatie over geaccepteerde UTC-notaties.For more information about accepted UTC formats, see Formatting DateTime values.
signedExpiry se VereistRequired AllesAll Het tijdstip waarop de hand tekening van de gedeelde toegang ongeldig wordt, uitgedrukt in een van de geaccepteerde ISO 8601-UTC-indelingen.The time at which the shared access signature becomes invalid, expressed in one of the accepted ISO 8601 UTC formats. Zie datetime-waarden opmakenvoor meer informatie over geaccepteerde UTC-notaties.For more information about accepted UTC formats, see Formatting DateTime values.
signedPermissions sp VereistRequired AllesAll Hiermee wordt aangegeven welke bewerkingen een client die de SA'S heeft, kan uitvoeren op de bron.Indicates which operations a client who possesses the SAS may perform on the resource. De machtigingen kunnen worden gecombineerd.Permissions may be combined.
signedIp sip OptioneelOptional 2015-04-05 of hoger2015-04-05 or later Hiermee geeft u een IP-adres of een inclusieve reeks IP-adressen op waaruit aanvragen moeten worden geaccepteerd.Specifies an IP address or an inclusive range of IP addresses from which to accept requests.
signedProtocol spr OptioneelOptional 2015-04-05 of hoger2015-04-05 or later Hiermee geeft u het protocol op dat is toegestaan voor een aanvraag met de SAS.Specifies the protocol permitted for a request made with the SAS. Neem dit veld op om te vereisen dat aanvragen met het SAS-token HTTPS gebruiken.Include this field to require that requests made with the SAS token use HTTPS.
signedObjectId skoid VereistRequired 2018-11-09 of hoger2018-11-09 or later Hiermee wordt een Azure AD-beveiligingsprincipal aangeduid.Identifies an Azure AD security principal.
signedTenantId sktid VereistRequired 2018-11-09 of hoger2018-11-09 or later Hiermee geeft u de Azure AD-Tenant op waarin een beveiligingsprincipal is gedefinieerd.Specifies the Azure AD tenant in which a security principal is defined.
signedKeyStartTime skt Optioneel.Optional. 2018-11-09 of hoger2018-11-09 or later De waarde wordt geretourneerd door de bewerking voor sleutel gebruikers overdracht ophalen .Value is returned by the Get User Delegation Key operation. Hiermee wordt het begin van de levens duur van de sleutel voor gebruikers overdracht aangegeven, uitgedrukt in een van de geaccepteerde ISO 8601-UTC-indelingen.Indicates the start of the lifetime of the user delegation key, expressed in one of the accepted ISO 8601 UTC formats. Als u dit weglaat, wordt uitgegaan van de huidige tijd.If omitted, the current time is assumed. Zie datetime-waarden opmakenvoor meer informatie over geaccepteerde UTC-notaties.For more information about accepted UTC formats, see Formatting DateTime values.
signedKeyExpiryTime ske VereistRequired 2018-11-09 of hoger2018-11-09 or later De waarde wordt geretourneerd door de bewerking voor sleutel gebruikers overdracht ophalen .Value is returned by the Get User Delegation Key operation. Hiermee wordt het einde van de levens duur van de sleutel voor gebruikers overdracht aangegeven, uitgedrukt in een van de geaccepteerde ISO 8601-UTC-indelingen.Indicates the end of the lifetime of the user delegation key, expressed in one of the accepted ISO 8601 UTC formats. Zie datetime-waarden opmakenvoor meer informatie over geaccepteerde UTC-notaties.For more information about accepted UTC formats, see Formatting DateTime values.
signedKeyService sks VereistRequired 2018-11-09 of hoger2018-11-09 or later Hiermee wordt de service aangegeven waarvoor de sleutel voor gebruikers overdracht geldig is.Indicates the service for which the user delegation key is valid. Momenteel wordt alleen de Blob service ondersteund.Currently only the Blob service is supported.
signedAuthorizedObjectId saoid OptioneelOptional 2020-02-10 of hoger2020-02-10 or later Hiermee geeft u de object-ID op voor een Azure AD-beveiligingsprincipal die is geautoriseerd door de eigenaar van de sleutel voor gebruikers overdracht om de actie uit te voeren die door het SAS-token wordt verleend.Specifies the object ID for an Azure AD security principal that is authorized by the owner of the user delegation key to perform the action granted by the SAS token. Er is geen aanvullende machtigings controle op POSIX-Acl's uitgevoerd.No additional permission check on POSIX ACLs is performed.
signedUnauthorizedObjectId suoid OptioneelOptional 2020-02-10 of hoger2020-02-10 or later Hiermee geeft u de object-ID voor een Azure AD-beveiligingsprincipal op wanneer een hiërarchische naam ruimte is ingeschakeld.Specifies the object ID for an Azure AD security principal when a hierarchical namespace is enabled. Azure Storage voert een POSIX ACL-controle uit op de object-ID voordat de bewerking wordt geautoriseerd.Azure Storage performs a POSIX ACL check against the object ID before authorizing the operation.
signedCorrelationId scid OptioneelOptional 2020-02-10 of hoger2020-02-10 or later Correleer de audit logboeken van de opslag met de audit logboeken die worden gebruikt door de principal genereren en distribueren van SAS.Correlate the storage audit logs with the audit logs used by the principal generating and distributing SAS.
signedDirectoryDepth sdd Vereist wanneer sr=dRequired when sr=d 2020-02-10 of hoger2020-02-10 or later Hiermee wordt het aantal directory's vermeld onder de hoofdmap van de map die is opgegeven in het canonicalizedResource veld van de teken reeks-naar-teken.Indicates the number of directories beneath the root folder of the directory specified in the canonicalizedResource field of the string-to-sign.
signature sig VereistRequired AllesAll De hand tekening is een HMAC die wordt berekend op basis van de teken reeks-naar-teken-en-sleutel met behulp van het SHA256-algoritme, en wordt vervolgens gecodeerd met base64-code ring.The signature is an HMAC computed over the string-to-sign and key using the SHA256 algorithm, and then encoded using Base64 encoding.
Cache-Control reactie headerCache-Control response header rscc OptioneelOptional 2013-08-15 of hoger2013-08-15 or later Azure Storage stelt de Cache-Control antwoord header in op de waarde die is opgegeven voor het SAS-token.Azure Storage sets the Cache-Control response header to the value specified on the SAS token.
Content-Disposition reactie headerContent-Disposition response header rscd OptioneelOptional 2013-08-15 of hoger2013-08-15 or later Azure Storage stelt de Content-Disposition antwoord header in op de waarde die is opgegeven voor het SAS-token.Azure Storage sets the Content-Disposition response header to the value specified on the SAS token.
Content-Encoding reactie headerContent-Encoding response header rsce OptioneelOptional 2013-08-15 of hoger2013-08-15 or later Azure Storage stelt de Content-Encoding antwoord header in op de waarde die is opgegeven voor het SAS-token.Azure Storage sets the Content-Encoding response header to the value specified on the SAS token.
Content-Language reactie headerContent-Language response header rscl OptioneelOptional 2013-08-15 of hoger2013-08-15 or later Azure Storage stelt de Content-Language antwoord header in op de waarde die is opgegeven voor het SAS-token.Azure Storage sets the Content-Language response header to the value specified on the SAS token.
Content-Type reactie headerContent-Type response header rsct OptioneelOptional 2013-08-15 of hoger2013-08-15 or later Azure Storage stelt de Content-Type antwoord header in op de waarde die is opgegeven voor het SAS-token.Azure Storage sets the Content-Type response header to the value specified on the SAS token.

Het veld ondertekende versie opgevenSpecify the signed version field

In het signedVersion veld vereist ( sv ) wordt de service versie voor de gedeelde toegangs handtekening opgegeven.The required signedVersion (sv) field specifies the service version for the shared access signature. Deze waarde geeft de versie aan van de service die is gebruikt om het veld te maken signature , en geeft ook de service versie op die een aanvraag afhandelt die is gemaakt met deze Shared Access-hand tekening.This value indicates the version of the service used to construct the signature field, and also specifies the service version that handles a request made with this shared access signature. De waarde van het sv veld moet versie 2018-11-09 of hoger zijn.The value of the sv field must be version 2018-11-09 or later.

Het veld voor de ondertekende resource opgevenSpecify the signed resource field

In het signedResource veld vereist ( sr ) wordt aangegeven welke resources toegankelijk zijn via de Shared Access-hand tekening.The required signedResource (sr) field specifies which resources are accessible via the shared access signature. In de volgende tabel wordt beschreven hoe u naar een blob, container of Directory bron verwijst in het SAS-token.The following table describes how to refer to a blob, container, or directory resource in the SAS token.

ResourceResource ParameterwaardeParameter value Ondersteunde versiesSupported versions BeschrijvingDescription
BlobBlob bb AllesAll Hiermee wordt toegang verleend tot de inhoud en meta gegevens van de blob.Grants access to the content and metadata of the blob.
BLOB-versieBlob version BWbv Versie 2018-11-09 en hogerVersion 2018-11-09 and later Hiermee wordt toegang verleend tot de inhoud en meta gegevens van de BLOB-versie, maar niet de basis-blob.Grants access to the content and metadata of the blob version, but not the base blob.
BLOB-moment opnameBlob snapshot bsbs Versie 2018-11-09 en hogerVersion 2018-11-09 and later Hiermee wordt toegang verleend tot de inhoud en meta gegevens van de BLOB-moment opname, maar niet de basis-blob.Grants access to the content and metadata of the blob snapshot, but not the base blob.
ContainerContainer cc AllesAll Hiermee wordt toegang verleend tot de inhoud en meta gegevens van alle blobs in de container en aan de lijst met blobs in de container.Grants access to the content and metadata of any blob in the container, and to the list of blobs in the container.
DirectoryDirectory dd Versie 2020-02-10 en hogerVersion 2020-02-10 and later Hiermee wordt toegang verleend tot de inhoud en meta gegevens van alle blobs in de map en aan de lijst met blobs in de Directory, in een opslag account waarvoor een hiërarchische naam ruimte is ingeschakeld.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. Als er een directory is opgegeven voor het signedResource veld, signedDirectoryDepth is de sdd para meter () ook vereist.If a directory is specified for the signedResource field, then the signedDirectoryDepth (sdd) parameter is also required. Een map bevindt zich altijd onder een container.A directory is always beneath a container.

Het geldigheids interval van de hand tekening opgevenSpecify the signature validity interval

De signedStart st velden () en signedExpiry ( se ) geven de begin tijd en de verval tijd voor de sa's aan.The signedStart (st) and signedExpiry (se) fields indicate the start time and expiry time for the SAS. Het veld signedExpiry is vereist.The signedExpiry field is required. Het signedStart veld is optioneel. Als u dit weglaat, wordt de huidige UTC-tijd gebruikt als de begin tijd.The signedStart field is optional; if omitted, the current UTC time is used as the start time.

Voor een SAS voor gebruikers overdracht moeten de begin tijd en de verloop tijd voor de SA'S binnen het interval vallen dat is gedefinieerd voor de sleutel voor gebruikers overdracht.For a user delegation SAS, the start time and expiry time for the SAS should be within the interval defined for the user delegation key. Als een client een SAS probeert te gebruiken nadat de sleutel voor gebruikers overdracht is verlopen, mislukt de SA'S met een autorisatie fout, ongeacht of de SAS zelf nog geldig is.If a client attempts to use a SAS after the user delegation key has expired, the SAS will fail with an authorization error, regardless of whether the SAS itself is still valid.

Zie datetime-waarden opmakenvoor meer informatie over geaccepteerde UTC-notaties.For more information about accepted UTC formats, see Formatting DateTime values.

Machtigingen opgevenSpecify permissions

Met de machtigingen die zijn opgegeven voor het signedPermissions sp veld () op het SAS-token wordt aangegeven welke bewerkingen een client die de SAS bezit, op de bron kunnen worden uitgevoerd.The permissions specified for the signedPermissions (sp) field on the SAS token indicate which operations a client who possesses the SAS may perform on the resource.

Machtigingen kunnen worden gecombineerd om een client toe te staan meerdere bewerkingen uit te voeren met dezelfde SAS.Permissions can be combined to permit a client to perform multiple operations with the same SAS. Wanneer u de SAS bouwt, moet u machtigingen in de volgende volg orde toevoegen:When you construct the SAS, you must include permissions in the following order:

racwdxltmeop

Voor beelden van geldige machtigings instellingen voor een container zijn rw , rd ,,, en rl wd wl rl .Examples of valid permissions settings for a container include rw, rd, rl, wd, wl, and rl. Voor beelden van ongeldige instellingen zijn wr , dr , en lr dw .Examples of invalid settings include wr, dr, lr, and dw. Het is niet toegestaan om een machtigings aanduiding meer dan één keer op te geven.Specifying a permission designation more than once is not permitted.

Een SAS voor gebruikers overdracht kan geen toegang verlenen tot bepaalde bewerkingen:A user delegation SAS cannot grant access to certain operations:

  • U kunt geen containers maken, verwijderen of weer gegeven.Containers cannot be created, deleted, or listed.
  • Meta gegevens van de container en eigenschappen kunnen niet worden gelezen of geschreven.Container metadata and properties cannot be read or written.
  • Containers kunnen niet worden geleasd.Containers cannot be leased.

Als u een SAS wilt maken die toegang geeft tot deze bewerkingen, gebruikt u een account-SAS.To construct a SAS that grants access to these operations, use an account SAS. Zie een account makenvoor meer informatie.For more information, see Create an account SAS.

In de volgende tabel ziet u de machtigingen die worden ondersteund voor elk resource type.The following table shows the permissions supported for each resource type.

MachtigingPermission URI-symboolURI symbol ResourceResource Versie ondersteuningVersion support Toegestane bewerkingenAllowed operations
LezenRead rr ContainerContainer
DirectoryDirectory
BlobBlob
AllesAll Lees de inhoud, de blokkerings lijst, de eigenschappen en de meta gegevens van een BLOB in de container of de map.Read the content, block list, properties, and metadata of any blob in the container or directory. Gebruik een BLOB als bron voor een Kopieer bewerking.Use a blob as the source of a copy operation.
ToevoegenAdd eena ContainerContainer
DirectoryDirectory
BlobBlob
AllesAll Voeg een blok toe aan een toevoeg-blob.Add a block to an append blob.
MakenCreate cc ContainerContainer
DirectoryDirectory
BlobBlob
AllesAll Schrijf een nieuwe blob, maak een moment opname van een BLOB of kopieer een BLOB naar een nieuwe blob.Write a new blob, snapshot a blob, or copy a blob to a new blob.
SchrijvenWrite ww ContainerContainer
DirectoryDirectory
BlobBlob
AllesAll Maak of schrijf inhoud, eigenschappen, meta gegevens of lijst met geblokkeerde websites.Create or write content, properties, metadata, or block list. Moment opname of lease van de blob.Snapshot or lease the blob. Wijzig de grootte van de BLOB (alleen pagina-blob).Resize the blob (page blob only). Gebruik de BLOB als bestemming voor de Kopieer bewerking.Use the blob as the destination of a copy operation.
VerwijderenDelete dd ContainerContainer
DirectoryDirectory
BlobBlob
AllesAll Een BLOB verwijderen.Delete a blob. Voor versie 2017-07-29 en hoger kunt u met de machtiging verwijderen ook een lease op een BLOB opsplitsen.For version 2017-07-29 and later, the Delete permission also allows breaking a lease on a blob. Zie voor meer informatie de bewerking lease BLOB .For more information, see the Lease Blob operation.
Versie verwijderenDelete version xx ContainerContainer
BlobBlob
Versie 2019-12-12 of hogerVersion 2019-12-12 or later Een BLOB-versie verwijderen.Delete a blob version.
Permanent verwijderenPermanent Delete yy BlobBlob Versie 2020-02-10 of hogerVersion 2020-02-10 or later Een BLOB-moment opname of-versie permanent verwijderen.Permanently delete a blob snapshot or version.
LijstList ll ContainerContainer
DirectoryDirectory
AllesAll Blobs niet recursief weer geven.List blobs non-recursively.
TagsTags tt BlobBlob Versie 2019-12-12 of hogerVersion 2019-12-12 or later De tags op een BLOB lezen of schrijven.Read or write the tags on a blob.
VerplaatsenMove mm ContainerContainer
DirectoryDirectory
BlobBlob
Versie 2020-02-10 of hogerVersion 2020-02-10 or later Verplaats een BLOB of een map en de inhoud ervan naar een nieuwe locatie.Move a blob or a directory and its contents to a new location. Deze bewerking kan eventueel worden beperkt tot de eigenaar van de onderliggende blob, Directory of bovenliggende map als de saoid para meter is opgenomen in het SAS-token en de sticky bit is ingesteld voor de bovenliggende map.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.
UitvoerenExecute ee ContainerContainer
DirectoryDirectory
BlobBlob
Versie 2020-02-10 of hogerVersion 2020-02-10 or later De systeem eigenschappen ophalen en, als de hiërarchische naam ruimte is ingeschakeld voor het opslag account, de POSIX-ACL van een BLOB ophalen.Get the system properties and, if the hierarchical namespace is enabled for the storage account, get the POSIX ACL of a blob. Als de hiërarchische naam ruimte is ingeschakeld en de aanroeper de eigenaar van een blob is, verleent deze machtiging de mogelijkheid om de groep die eigenaar is, POSIX-machtigingen en POSIX-ACL van de BLOB in te stellen.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. De aanroeper mag geen door de gebruiker gedefinieerde meta gegevens lezen.Does not permit the caller to read user-defined metadata.
EigendomOwnership oo ContainerContainer
DirectoryDirectory
BlobBlob
Versie 2020-02-10 of hogerVersion 2020-02-10 or later Wanneer de hiërarchische naam ruimte is ingeschakeld, kan de oproepende functie de eigenaar of de groep in eigendom instellen, of als eigenaar fungeren bij het wijzigen van de naam of het verwijderen van een map of BLOB in een map die de sticky bit heeft ingesteld.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.
MachtigingenPermissions pp ContainerContainer
DirectoryDirectory
BlobBlob
Versie 2020-02-10 of hogerVersion 2020-02-10 or later Wanneer de hiërarchische naam ruimte is ingeschakeld, kan de aanroeper machtigingen en POSIX-Acl's instellen voor directory's en blobs.When the hierarchical namespace is enabled, this permission allows the caller to set permissions and POSIX ACLs on directories and blobs.

Geef een IP-adres of IP-bereik opSpecify an IP address or IP range

In het signedIp veld optioneel ( sip ) wordt een IP-adres of een bereik van IP-adressen opgegeven waaruit aanvragen moeten worden geaccepteerd.The optional signedIp (sip) field specifies an IP address or a range of IP addresses from which to accept requests. Als het IP-adres waarvan de aanvraag afkomstig is, niet overeenkomt met het IP-adres of adres bereik dat is opgegeven voor het SAS-token, wordt de aanvraag niet geautoriseerd.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.

Wanneer u een bereik van IP-adressen opgeeft, is het bereik inclusief.When you specify a range of IP addresses, the range is inclusive. Als u bijvoorbeeld de sip=168.1.5.65 SAS opgeeft, sip=168.1.5.60-168.1.5.70 worden de aanvragen voor deze IP-adressen beperkt.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.

Belangrijk

Een SAS die wordt gebruikt door een client die zich in dezelfde Azure-regio bevindt als het opslag account, mag geen openbaar uitgaand IP-adres voor het signedIp veld bevatten.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. Aanvragen die binnen dezelfde regio worden gemaakt met behulp van een SAS met een openbaar IP-adres dat is opgegeven, mislukken.Requests made from within the same region using a SAS with a public outbound IP address specified will fail.

Het HTTP-protocol opgevenSpecify the HTTP protocol

In het signedProtocol veld optioneel ( spr ) geeft u het protocol op dat is toegestaan voor een aanvraag met de SAS.The optional signedProtocol (spr) field specifies the protocol permitted for a request made with the SAS. Mogelijke waarden zijn zowel HTTPS als HTTP ( https,http ) of alleen https ( https ).Possible values are both HTTPS and HTTP (https,http) or HTTPS only (https). De standaardwaarde is https,http.The default value is https,http.

Notitie

Het is niet mogelijk om HTTP op te geven voor het spr veld.It is not possible to specify HTTP for the spr field.

De ondertekende object-ID opgevenSpecify the signed object ID

Het signedObjectId skoid veld () is vereist voor een gebruikers delegering sa's.The signedObjectId (skoid) field is required for a user delegation SAS. Met de bewerking gebruiker delegering sleutel ophalen wordt deze waarde geretourneerd als onderdeel van het antwoord.The Get User Delegation Key operation returns this value as part of the response. De ondertekende object-ID is een GUID-waarde die de onveranderbare id van een beveiligingsprincipal in het micro soft Identity-platform vormt.The signed object ID is a GUID value that serves the immutable identifier for a security principal in the Microsoft identity platform.

De ondertekende Tenant-ID opgevenSpecify the signed tenant ID

Het signedTenantId sktid veld () is vereist voor een gebruikers delegering sa's.The signedTenantId (sktid) field is required for a user delegation SAS. Met de bewerking gebruiker delegering sleutel ophalen wordt deze waarde geretourneerd als onderdeel van het antwoord.The Get User Delegation Key operation returns this value as part of the response. De ondertekende Tenant-ID is een GUID-waarde die de Azure AD-Tenant vertegenwoordigt waarin een beveiligingsprincipal is gedefinieerd.The signed tenant ID is a GUID value that represents the Azure AD tenant in which a security principal is defined.

De begin tijd van de ondertekende sleutel opgevenSpecify the signed key start time

Het signedKeyStartTime veld optioneel ( skt ) geeft aan dat het begin van de levens duur van de sleutel voor gebruikers overdracht in de ISO-datum notatie.The optional signedKeyStartTime (skt) field indicates the start of the lifetime of the user delegation key in ISO Date format. Met de bewerking gebruiker delegering sleutel ophalen wordt deze waarde geretourneerd als onderdeel van het antwoord.The Get User Delegation Key operation returns this value as part of the response. Als u dit weglaat, wordt ervan uitgegaan dat de begin tijd van de ondertekende sleutel de huidige tijd is.If omitted, the signed key start time is assumed to be the current time.

De verval tijd van de ondertekende sleutel opgevenSpecify the signed key expiry time

Het signedKeyExpiryTime ske veld () is vereist voor een sa's van de gebruikers overdracht in de ISO-datum notatie.The signedKeyExpiryTime (ske) field is required for a user delegation SAS in ISO Date format. Met de bewerking gebruiker delegering sleutel ophalen wordt deze waarde geretourneerd als onderdeel van het antwoord.The Get User Delegation Key operation returns this value as part of the response. De ondertekende sleutel verloop tijd geeft het einde van de levens duur van de gebruikers delegerings sleutel aan.The signed key expiry time indicates the end of the lifetime of the user delegation key. De waarde van de verloop tijd kan Maxi maal zeven dagen vanaf de begin tijd van de SAS zijn.The value of the expiry time may be a maximum of seven days from the start time of the SAS.

De ondertekende sleutel service opgevenSpecify the signed key service

Het signedKeyService sks veld () is vereist voor een gebruikers delegering sa's.The signedKeyService (sks) field is required for a user delegation SAS. Met de bewerking gebruiker delegering sleutel ophalen wordt deze waarde geretourneerd als onderdeel van het antwoord.The Get User Delegation Key operation returns this value as part of the response. In het veld ondertekende sleutel service wordt de service aangegeven waarvoor de sleutel voor gebruikers overdracht geldig is.The signed key service field indicates the service for which the user delegation key is valid. De waarde voor het veld met de ondertekende sleutel service voor de Blob service is b .The value for the signed key service field for the Blob service is b.

De ondertekende sleutel versie opgevenSpecify the signed key version

Het signedkeyversion skv veld () is vereist voor een gebruikers delegering sa's.The signedkeyversion (skv) field is required for a user delegation SAS. Met de bewerking gebruiker delegering sleutel ophalen wordt deze waarde geretourneerd als onderdeel van het antwoord.The Get User Delegation Key operation returns this value as part of the response. In het veld ondertekende sleutel versie wordt de versie van de opslag service aangegeven die wordt gebruikt om de sleutel voor gebruikers overdracht op te halen.The signed key version field specifies the storage service version used to get the user delegation key. In dit veld moet versie 2018-11-09 of hoger worden opgegeven.This field must specify version 2018-11-09 or later.

Een ondertekende object-ID opgeven voor een beveiligingsprincipalSpecify a signed object ID for a security principal

De signedAuthorizedObjectId velden optionele ( saoid ) en signedUnauthorizedObjectId ( suoid ) maken integratie mogelijk met Apache Hadoop en Apache zwerver voor Azure data Lake Storage Gen2 workloads.The optional signedAuthorizedObjectId (saoid) and signedUnauthorizedObjectId (suoid) fields enable integration with Apache Hadoop and Apache Ranger for Azure Data Lake Storage Gen2 workloads. Gebruik een van deze velden op het SAS-token om de object-ID voor een beveiligingsprincipal op te geven:Use one of these fields on the SAS token to specify the object ID for a security principal:

  • saoidIn het veld wordt de object-id opgegeven voor een Azure AD-beveiligingsprincipal die is geautoriseerd door de eigenaar van de sleutel voor gebruikers overdracht om de actie uit te voeren die door het SAS-token wordt verleend.The saoid field specifies the object ID for an Azure AD security principal that is authorized by the owner of the user delegation key to perform the action granted by the SAS token. Azure Storage valideert het SAS-token en zorgt ervoor dat de eigenaar van de sleutel voor gebruikers overdracht de vereiste machtigingen heeft voordat toegang wordt verleend.Azure Storage validates the SAS token and ensures that the owner of the user delegation key has the required permissions before granting access. Er is geen aanvullende machtigings controle op POSIX-Acl's uitgevoerd.No additional permission check on POSIX ACLs is performed.
  • In het suoid veld wordt de object-id voor een Azure AD-beveiligingsprincipal opgegeven wanneer een hiërarchische naam ruimte is ingeschakeld voor een opslag account.The suoid field specifies the object ID for an Azure AD security principal when a hierarchical namespace is enabled for a storage account. Het suoid veld is alleen geldig voor accounts met een hiërarchische naam ruimte.The suoid field is valid only for accounts that have a hierarchical namespace. Wanneer het suoid veld is opgenomen in het SAS-token, voert Azure Storage een POSIX ACL-controle uit op de object-id voordat de bewerking wordt geautoriseerd.When the suoid field is included on the SAS token, Azure Storage performs a POSIX ACL check against the object ID before authorizing the operation. Als deze ACL-controle niet lukt, mislukt de bewerking.If this ACL check does not succeed, then the operation fails. Een hiërarchische naam ruimte moet zijn ingeschakeld voor het opslag account als het suoid veld is opgenomen in het SAS-token.A hierarchical namespace must be enabled for the storage account if the suoid field is included on the SAS token. Anders mislukt de machtigings controle met een autorisatie fout.Otherwise, the permission check will fail with an authorization error.

De object-ID voor de beveiligingsprincipal die de gebruikers delegerings sleutel aanvraagt, wordt vastgelegd in het verplichte skoid veld.The object ID for the security principal who requests the user delegation key is captured in the required skoid field. Als u een object-ID wilt opgeven voor het SAS-token met het saoid suoid veld of, moet aan de beveiligingsprincipal die in het veld wordt vermeld, skoid een RBAC-rol worden toegewezen die de micro soft. Storage/Storage accounts/blobServices/containers/blobs/RunAsSuperUser/Action of micro soft. Storage/Storage accounts/blobServices/containers/blobs/manageOwnership/Action bevat.To specify an object ID on the SAS token with the saoid or suoid field, the security principal identified in the skoid field must be assigned an RBAC role that includes the Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action or Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/action. Voor meer informatie over deze acties raadpleegt u bewerkingen van de Azure-resource provider.For more information about these actions, see Azure resource provider operations.

Als u de object-ID in het veld of opgeeft, worden de saoid suoid bewerkingen met betrekking tot het eigendom van de map of het BLOB beperkt:Specifying the object ID in the saoid or suoid field also restricts operations related to directory or blob ownership:

  • Als een bewerking een directory of BLOB maakt, stelt Azure Storage de eigenaar van de map of BLOB in op de waarde die is opgegeven door de object-ID.If an operation creates a directory or blob, then Azure Storage sets the owner of the directory or blob to the value specified by the object ID. Als de object-ID niet is opgegeven, wordt door Azure Storage de eigenaar van de map of de BLOB ingesteld op de waarde die is opgegeven door de skoid para meter.If the object ID is not specified, then Azure Storage sets the owner of the directory or blob to the value specified by the skoid parameter.
  • Als de sticky bit is ingesteld in de bovenliggende map en de bewerking een map of BLOB verwijdert of de naam ervan wordt gewijzigd, moet de object-ID van de eigenaar van de bovenliggende map of de eigenaar van de bron overeenkomen met de waarde die is opgegeven door de object-ID.If the sticky bit is set on the parent directory and the operation deletes or renames a directory or blob, then the object ID of the owner of the parent directory or the owner of the resource must match the value specified by the object ID.
  • Als met een bewerking de eigenaar van een map of BLOB wordt ingesteld en de x-ms-owner header is opgegeven, moet de waarde die is opgegeven door de object-id overeenkomen met de waarde die is opgegeven door de x-ms-owner header.If an operation sets the owner for a directory or blob and the x-ms-owner header is specified, then the value specified by the object ID must match the value specified by the x-ms-owner header.
  • Als een bewerking de groep voor een directory of BLOB instelt en de x-ms-group header is opgegeven, moet de waarde die is opgegeven door de object-id lid zijn van de groep die is opgegeven door de x-ms-group header.If an operation sets the group for a directory or blob and the x-ms-group header is specified, then the value specified by the object ID must be a member of the group specified by the x-ms-group header.
  • Als met een bewerking de machtigingen of ACL voor een map of BLOB wordt ingesteld, moet aan een van de volgende twee voor waarden worden voldaan:If an operation sets the permissions or ACL for a directory or blob, then one of the following two conditions must also be met:
    • De waarde die is opgegeven voor de object-ID moet eigenaar zijn van de map of BLOB.The value specified for the object ID must be owner of the directory or blob.
    • De waarde van het signedPermissions sp veld () moet de Ownership ()-machtiging bevatten o naast de Permissions ()- p machtiging.The value of the signedPermissions (sp) field must include the Ownership (o) permission in addition to the Permissions (p) permission.

De object-ID die is opgegeven in het saoid suoid veld of wordt opgenomen in Diagnostische logboeken wanneer een aanvraag wordt gedaan met behulp van het SAS-token.The object ID specified in the the saoid or suoid field is included in diagnostic logs when a request is made using the SAS token.

Het saoid suoid veld or wordt alleen ondersteund als het signedVersion sv veld () is ingesteld op versie 2020-02-10 of hoger.The saoid or suoid field is supported only if the signedVersion (sv) field is set to version 2020-02-10 or later. Slechts één van deze velden kan worden opgenomen in het SAS-token.Only one of these fields may be included on the SAS token.

Een correlatie-ID opgevenSpecify a correlation ID

In signedCorrelationId het scid veld () wordt een correlatie-id opgegeven die kan worden gebruikt voor het correleren van de opslag logboeken met de audit logboeken die worden gebruikt door de principal waarmee de sa's worden gegenereerd en gedistribueerd.The signedCorrelationId (scid) field specifies a correlation ID that may be used to correlate the storage audit logs with the audit logs used by the principal that generates and distributes the SAS. Een vertrouwde autorisatie service heeft bijvoorbeeld doorgaans een beheerde identiteit waarmee gebruikers worden geverifieerd en geautoriseerd, een SAS wordt gegenereerd, een item wordt toegevoegd aan het lokale audit logboek en de SA'S naar een gebruiker worden geretourneerd, die de SAS vervolgens kan gebruiken om toegang te krijgen tot Azure Storage-resources.For example, a trusted authorization service will typically have a managed identity that authenticates and authorizes users, generates a SAS, adds an entry to the local audit log, and returns the SAS to a user, who can then use the SAS to access Azure Storage resources. Met inbegrip van een correlatie-ID in zowel het lokale audit logboek als het opslag controle logboek kunnen deze gebeurtenissen later worden gecorreleerd.Including a correlation ID in both the local audit log and the storage audit log allows these events to later be correlated. De waarde is een GUID zonder accolades in kleine letters.The value is a GUID without braces in lower case.

Dit veld wordt ondersteund in versie 2020-02-10 of hoger.This field is supported with version 2020-02-10 or later.

De diepte van de map opgevenSpecify the directory depth

Als in het signedResource veld een directory ( sr=d ) is opgegeven, moet u ook het signedDirectoryDepth sdd veld () opgeven om het aantal submappen onder de hoofdmap aan te geven.If the signedResource field specifies a directory (sr=d), then you must also specify the signedDirectoryDepth (sdd) field to indicate the number of subdirectories under the root directory. De waarde van het sdd veld moet een niet-negatief geheel getal zijn.The value of the sdd field must be a non-negative integer.

Bijvoorbeeld: de hoofdmap https://{account}.blob.core.windows.net/{container}/ heeft een diepte van 0.For example, the root directory https://{account}.blob.core.windows.net/{container}/ has a depth of 0. Elke submap onder de hoofdmap wordt met één uitgebreid aan de map toegevoegd.Each subdirectory beneath the root directory adds to the depth by one. De map https://{account}.blob.core.windows.net/{container}/d1/d2 heeft een diepte van twee.The directory https://{account}.blob.core.windows.net/{container}/d1/d2 has a depth of two.

Dit veld wordt ondersteund in versie 2020-02-10 of hoger.This field is supported with version 2020-02-10 or later.

Query parameters opgeven om de antwoord headers te overschrijvenSpecify query parameters to override response headers

Als u waarden wilt opgeven voor bepaalde antwoord headers die moeten worden geretourneerd wanneer de gedeelde toegangs handtekening in een aanvraag wordt gebruikt, kunt u antwoord headers opgeven in query parameters.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. De antwoord headers en de bijbehorende query parameters zijn als volgt:The response headers and corresponding query parameters are as follows:

Naam van antwoord headerResponse header name Overeenkomende SAS-query parameterCorresponding SAS query parameter
Cache-Control rscc
Content-Disposition rscd
Content-Encoding rsce
Content-Language rscl
Content-Type rsct

Als u bijvoorbeeld de rsct=binary query parameter op een SAS-token opgeeft, wordt de Content-Type antwoord header ingesteld op binary .For example, if you specify the rsct=binary query parameter on a SAS token, the Content-Type response header is set to binary. Deze waarde overschrijft de waarde voor de Content-Type header die voor de blob is opgeslagen voor een aanvraag met behulp van deze Shared Access-hand tekening.This value overrides the Content-Type header value stored for the blob for a request using this shared access signature only.

Als u een Shared Access-hand tekening maakt waarmee antwoord koppen als query parameters worden opgegeven, moet u deze antwoord headers toevoegen aan de teken reeks-naar-teken die wordt gebruikt om de teken reeks te maken.If you create a shared access signature that specifies response headers as query parameters, you must include those response headers in the string-to-sign that is used to construct the signature string. Zie de sectie de teken reeks voor hand tekeningen samen stellen voor meer informatie.See the Constructing the Signature String section below for details.

De gebruikers-OID opgevenSpecify the user OID

SAS voor gebruikers overdracht ondersteunt een optioneel gebruikers-OID die is uitgevoerd in de ondertekende geautoriseerde gebruikers object-id ( saoid ) of een ondertekende User object id ( suoid )-para meter () wanneer de versie van de verificatie (sv) 2020-02-10 of hoger is:User Delegation SAS supports an optional user OID carried in either the Signed Authorized User Object Id (saoid) or Signed Unauthorized User Object Id (suoid) parameter when the authentication version (sv) is 2020-02-10 or higher:

  • De gebruiker die de toegang delegeert (skoid) moet micro soft. Storage/Storage accounts/blobServices/containers/blobs/runAsSuperUser/Action of micro soft. Storage/Storage accounts/blobServices/containers/blobs/manageOwnership/Action RBAC toestemming hebben wanneer u een SAS gebruikt met een optionele gebruikers-OID.The user delegating access (skoid) must have Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action or Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/action RBAC permission when using a SAS with an optional user OID.
  • Als de sticky bit is ingesteld voor de bovenliggende map en de bewerking wordt verwijderd of de naam wordt gewijzigd, moet de eigenaar van de bovenliggende map of de eigenaar van de bron overeenkomen met de waarde die is opgegeven door de optionele gebruikers-OID.If the sticky bit is set on the parent folder and the operation is delete or rename, then the owner of the parent folder or the owner of the resource must match the value specified by the optional user OID.
  • Als de bewerking SetAccessControl is en de x-MS-eigenaar wordt ingesteld, moet de waarde van x-MS-owner overeenkomen met de waarde die is opgegeven door de optionele gebruikers-OID.If the operation is SetAccessControl and x-ms-owner is being set, the value of x-ms-owner must match the value specified by the optional user OID.
  • Als de bewerking SetAccessControl en x-MS-Group wordt ingesteld, moet de waarde die is opgegeven door de optionele gebruiker OID een lid zijn van de groep die is opgegeven door de x-MS-groep.If the operation is SetAccessControl and x-ms-group is being set, then the value specified by the optional user OID must be a member of the group specified by x-ms-group.

De correlatie-ID opgevenSpecify the correlation ID

SAS voor gebruikers overdracht ondersteunt een optionele correlatie-ID die wordt uitgevoerd in de scid-para meter wanneer de authenticatie versie (SV) 2020-02-10 of hoger is.User Delegation SAS supports an optional correlation ID carried in the scid parameter when the authentication version (sv) is 2020-02-10 or higher. Dit is een GUID-waarde die wordt geregistreerd in de diagnostische logboeken van de opslag en kan worden gebruikt voor het correleren van SAS-generatie met toegang tot opslag bronnen.This is a GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.

De hand tekening opgevenSpecify the signature

Het signature sig veld () wordt gebruikt voor het autoriseren van een aanvraag van een client met de gedeelde toegangs handtekening.The signature (sig) field is used to authorize a request made by a client with the shared access signature. De teken reeks-naar-teken is een unieke teken reeks die is gemaakt op basis van de velden die moeten worden gecontroleerd om de aanvraag te kunnen autoriseren.The string-to-sign is a unique string constructed from the fields that must be verified in order to authorize the request. De hand tekening is een HMAC die wordt berekend op basis van de teken reeks-naar-teken-en-sleutel met behulp van het SHA256-algoritme, en wordt vervolgens gecodeerd met base64-code ring.The signature is an HMAC computed over the string-to-sign and key using the SHA256 algorithm, and then encoded using Base64 encoding.

Als u de teken reeks van een SAS voor gebruikers overdracht wilt maken, maakt u eerst de teken reeks-naar-teken in de velden waaruit de aanvraag bestaat, vervolgens versleutelt u de teken reeks als UTF-8 en berekent u de hand tekening met behulp van het HMAC-SHA256-algoritme.To construct the signature string of a user delegation SAS, first create 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. De velden die in de teken reeks-naar-teken zijn opgenomen, moeten door een URL worden gedecodeerd.Fields included in the string-to-sign must be URL-decoded. Gebruik de volgende notatie voor de teken reeks-naar-teken:Use the following format for the string-to-sign:

StringToSign = sp + "\n" +  
 st + "\n" +  
 se + "\n" +  
 canonicalizedResource + "\n" +  
 skoid + "\n" +
 sktid + "\n" +
 skt + "\n" +
 ske  + "\n" +
 sks + "\n" +
 skv + "\n" +
 saoid + "\n" +
 suoid + "\n" +
 scid + "\n" +
 sip + "\n" +  
 spr + "\n" +  
 sv + "\n" +  
 sr + "\n" +
 rscc + "\n" +
 rscd + "\n" +  
 rsce + "\n" +  
 rscl + "\n" +  
 rsct

De teken reeks-naar-teken voor verificatie versie 2020-02-10 of hoger heeft de volgende indeling:The string-to-sign for authentication version 2020-02-10 or higher has the following format:

StringToSign = signedPermissions + "\n" +
                   signedStart + "\n" +
                   signedExpiry + "\n" +
                   canonicalizedResource + "\n" +
                   signedKeyObjectId + "\n" +
                   signedKeyTenantId + "\n" +
                   signedKeyStart + "\n" +
                   signedKeyExpiry  + "\n" +
                   signedKeyService + "\n" +
                   signedKeyVersion + "\n" +
                   signedAuthorizedUserObjectId + "\n" +
                   signedUnauthorizedUserObjectId + "\n" +
                   signedCorrelationId + "\n" +
                   signedIP + "\n" +
                   signedProtocol + "\n" +
                   signedVersion + "\n" +
                   signedResource + "\n" +
                   signedSnapshotTime + "\n" +
                   rscc + "\n" +
                   rscd + "\n" +
                   rsce + "\n" +
                   rscl + "\n" +
                   rsct

Canoniek gemaakte resourceCanonicalized resource

Het canonicalizedresouce gedeelte van de teken reeks is een canonieke pad naar de ondertekende resource.The canonicalizedresouce portion of the string is a canonical path to the signed resource. Het moet het Blob service-eind punt en de naam van de resource bevatten en moet door een URL worden gedecodeerd.It must include the Blob service endpoint and the resource name, and must be URL-decoded. Een BLOB-pad moet de container bevatten.A blob path must include its container. Een mappad moet het aantal subdirectory's bevatten dat overeenkomt met de sdd para meter.A directory path must include the number of subdirectories corresponding to the sdd parameter.

De canonieke bron teken reeks voor een container moet de afsluitende slash (/) weglaten voor een SAS die toegang biedt tot die container.The canonicalized resource string for a container must omit the trailing slash ('/') for a SAS that provides access to that container.

In de volgende voor beelden ziet u hoe u het canonicalizedResource gedeelte van de teken reeks kunt maken, afhankelijk van het type resource.The following examples show how to construct the canonicalizedResource portion of the string, depending on the type of resource.

Container voorbeeld (Azure Blob-opslag)Container example (Azure Blob storage)
URL = https://myaccount.blob.core.windows.net/music  
canonicalizedResource = "/blob/myaccount/music"  
Voor beeld van een BLOB (Azure Blob-opslag)Blob example (Azure Blob storage)
URL = https://myaccount.blob.core.windows.net/music/intro.mp3  
canonicalizedResource = "/blob/myaccount/music/intro.mp3"  
Voor beeld van container (Azure Data Lake Storage Gen2)Container example (Azure Data Lake Storage Gen2)
URL = https://myaccount.dfs.core.windows.net/music  
canonicalizedResource = "/blob/myaccount/music"  
Voor beeld van Directory (Azure Data Lake Storage Gen2)Directory example (Azure Data Lake Storage Gen2)
URL = https://myaccount.dfs.core.windows.net/music/instruments/guitar/  
canonicalizedResource = "/blob/myaccount/music/instruments/guitar/"  
Voor beeld van een BLOB (Azure Data Lake Storage Gen2)Blob example (Azure Data Lake Storage Gen2)
URL = https://myaccount.dfs.core.windows.net/music/intro.mp3  
canonicalizedResource = "/blob/myaccount/music/intro.mp3"  

Optionele veldenOptional fields

Als een veld optioneel is en niet wordt opgegeven als onderdeel van het SAS-token, geeft u een lege teken reeks op voor dat veld.If a field is optional and not provided as part of the SAS token, then specify an empty string for that field. Zorg ervoor dat u het teken voor de nieuwe regel (\n) achter de lege teken reeks opneemt.Be sure to include the newline character (\n) after the empty string.

Een SAS voor gebruikers overdracht intrekkenRevoke a user delegation SAS

Als u denkt dat er een SAS is aangetast, moet u de SAS intrekken.If you believe that a SAS has been compromised, then you should revoke the SAS. U kunt een SA'S van gebruikers overdracht intrekken door de gebruikers delegerings sleutel in te trekken of door RBAC-roltoewijzingen te wijzigen of te verwijderen voor de beveiligingsprincipal die wordt gebruikt om de SA'S te maken.You can revoke a user delegation SAS either by revoking the user delegation key, or by changing or removing RBAC role assignments for the security principal used to create the SAS.

Belangrijk

Zowel de toewijzing van de sleutel voor gebruikers overdracht als de RBAC-rollen worden in de cache opgeslagen door Azure Storage. er kan dus een vertraging optreden wanneer u het proces van het intrekken initieert en wanneer een bestaande SA'S van de gebruikers overdracht ongeldig wordt.Both the user delegation key and RBAC role assignments are cached by Azure Storage, so there may be a delay between when you initiate the process of revocation and when an existing user delegation SAS becomes invalid.

De sleutel voor gebruikers overdracht intrekkenRevoke the user delegation key

U kunt de gebruikers delegering sleutel intrekken door de bewerking voor het delegeren van gebruikers overdracht aan te roepen.You can revoke the user delegation key by calling the Revoke User Delegation Keys operation. Wanneer u de sleutel voor gebruikers overdracht intrekt, worden de gedeelde toegangs handtekeningen die op die sleutel zijn gebaseerd, ongeldig.When you revoke the user delegation key, any shared access signatures relying on that key become invalid. U kunt vervolgens de bewerking gebruiker delegering sleutel ophalen opnieuw aanroepen en de sleutel gebruiken om nieuwe gedeelde toegangs handtekeningen te maken.You can then call the Get User Delegation Key operation again and use the key to create new shared access signatures. Deze benadering is de snelste manier om een gebruikers delegering SA'S in te trekken.This approach is the quickest way to revoke a user delegation SAS.

Roltoewijzingen wijzigen of verwijderenChange or remove role assignments

U kunt de RBAC-roltoewijzing wijzigen of verwijderen voor de beveiligingsprincipal die wordt gebruikt om de SA'S te maken.You can change or remove the RBAC role assignment for the security principal used to create the SAS. Wanneer een client de SAS gebruikt om toegang te krijgen tot een bron, controleert Azure Storage of de beveiligingsprincipal met de referenties die zijn gebruikt voor het beveiligen van de SAS de opgegeven machtigingen heeft voor de resource.When a client uses the SAS to access a resource, Azure Storage verifies that the security principal whose credentials were used to secure the SAS has the specified permissions to the resource.

Zie ookSee also