Accorder un accès limité aux ressources du Stockage Azure à l’aide des signatures d’accès partagé (SAP)Grant limited access to Azure Storage resources using shared access signatures (SAS)

Une signature d’accès partagé (SAS) fournit un accès délégué sécurisé aux ressources de votre compte de stockage.A shared access signature (SAS) provides secure delegated access to resources in your storage account. Avec une SAP, vous avez un contrôle granulaire sur la manière dont un client peut accéder à vos données.With a SAS, you have granular control over how a client can access your data. Par exemple :For example:

  • Les ressources auxquelles le client peut accéder.What resources the client may access.

  • Les autorisations dont les clients disposent pour ces ressources.What permissions they have to those resources.

  • Durée de validité de la signature d’accès partagé.How long the SAS is valid.

Types de signatures d’accès partagéTypes of shared access signatures

Le service Stockage Azure prend en charge trois types de signatures d’accès partagé :Azure Storage supports three types of shared access signatures:

  • SAP de délégation d’utilisateurUser delegation SAS

  • SAP de serviceService SAS

  • SAP de compteAccount SAS

SAP de délégation d’utilisateurUser delegation SAS

Une SAP de délégation d’utilisateur est sécurisée avec les informations d’identification Azure Active Directory (Azure AD) ainsi que par les autorisations spécifiées pour la SAP.A user delegation SAS is secured with Azure Active Directory (Azure AD) credentials and also by the permissions specified for the SAS. Une SAP de délégation d’utilisateur s’applique uniquement au stockage d’objets Blob.A user delegation SAS applies to Blob storage only.

Pour plus d’informations sur la SAP de délégation d’utilisateur, consultez Créer une SAP de délégation d’utilisateur (API REST).For more information about the user delegation SAS, see Create a user delegation SAS (REST API).

SAP de serviceService SAS

Une SAP de service est sécurisée à l’aide de la clé de compte de stockage.A service SAS is secured with the storage account key. Une SAP de service délègue l’accès à une ressource d’un seul des services de stockage Azure : Stockage Blob, Stockage File d'attente, Stockage Table ou Azure Files.A service SAS delegates access to a resource in only one of the Azure Storage services: Blob storage, Queue storage, Table storage, or Azure Files.

Pour plus d’informations sur la SAP de service, consultez Créer une SAP de service (API REST).For more information about the service SAS, see Create a service SAS (REST API).

SAP de compteAccount SAS

Une SAP de compte est sécurisée à l’aide de la clé de compte de stockage.An account SAS is secured with the storage account key. Une SAP de compte délègue l’accès aux ressources d’un ou plusieurs des services de stockage.An account SAS delegates access to resources in one or more of the storage services. Toutes les opérations disponibles via une SAP de service ou de délégation d’utilisateur sont également disponibles via une SAP de compte.All of the operations available via a service or user delegation SAS are also available via an account SAS.

Vous pouvez également déléguer l’accès aux éléments suivants :You can also delegate access to the following:

  • Les opérations de niveau de service (par exemple, les opérations Get/Set Service Properties et Get Service Stats).Service-level operations (For example, the Get/Set Service Properties and Get Service Stats operations).

  • Les opérations de lecture, d’écriture et de suppression qui ne sont pas autorisées avec une SAS de service.Read, write, and delete operations that aren't permitted with a service SAS.

Pour plus d’informations sur la SAP de compte, Créez une SAP de compte (API REST).For more information about the account SAS, Create an account SAS (REST API).

Notes

Comme meilleure pratique de sécurité, Microsoft vous recommande d’utiliser si possible les informations d’identification Azure AD plutôt que d’utiliser la clé de compte qui peut être plus facilement compromise.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. Lorsque la conception de votre application nécessite des signatures d’accès partagé pour être en mesure d’accéder au Stockage Blob, utilisez les informations d’identification Azure AD pour créer, si possible, une SAP de délégation d’utilisateur pour profiter d’une sécurité supérieure.When your application design requires shared access signatures for access to Blob storage, use Azure AD credentials to create a user delegation SAS when possible for superior security. Pour plus d’informations, consultez Autoriser l’accès aux objets blob et files d’attente avec Azure Active Directory.For more information, see Authorize access to blobs and queues using Azure Active Directory.

Une signature d’accès partagé peut prendre l’une des deux formes suivantes :A shared access signature can take one of the following two forms:

  • SAS ad hoc.Ad hoc SAS. Quand vous créez une SAS ad hoc, l’heure de début, l’heure d’expiration et les autorisations sont spécifiées sur l’URI de la SAS.When you create an ad hoc SAS, the start time, expiry time, and permissions are specified in the SAS URI. Tout type de SAP peut être une SAP ad hoc.Any type of SAS can be an ad hoc SAS.

  • SAS de service avec stratégie d’accès stockée.Service SAS with stored access policy. une stratégie d’accès stockée est définie sur un conteneur de ressources, qui peut être un conteneur d’objets blob, une table, une file d’attente ou un partage de fichiers.A stored access policy is defined on a resource container, which can be a blob container, table, queue, or file share. La stratégie d'accès stockée et permet de gérer les contraintes d’une ou de plusieurs signatures d’accès partagé de service.The stored access policy can be used to manage constraints for one or more service shared access signatures. Lorsque vous associez une signature d'accès partagé de service à une stratégie d'accès stockée, la signature hérite des contraintes—heure de début, heure d'expiration et autorisations—définies pour la stratégie.When you associate a service SAS with a stored access policy, the SAS inherits the constraints—the start time, expiry time, and permissions—defined for the stored access policy.

Notes

Une SAP de délégation d’utilisateur ou de compte doit être une SAP ad hoc.A user delegation SAS or an account SAS must be an ad hoc SAS. Les stratégies d’accès stockées ne sont pas prises en charge pour les SAP de délégation d’utilisateur ou les SAP de compte.Stored access policies are not supported for the user delegation SAS or the account SAS.

Fonctionnement d’une signature d’accès partagéHow a shared access signature works

Une signature d’accès partagé est un URI signé qui pointe vers une ou plusieurs ressources de stockage.A shared access signature is a signed URI that points to one or more storage resources. L’URI inclut un jeton qui contient un ensemble spécial de paramètres de requête.The URI includes a token that contains a special set of query parameters. Le jeton indique comment le client peut accéder aux ressources.The token indicates how the resources may be accessed by the client. L’un des paramètres de requête, la signature, est construit à partir des paramètres de signature d’accès partagé et signé avec la clé utilisée pour créer la SAP.One of the query parameters, the signature, is constructed from the SAS parameters and signed with the key that was used to create the SAS. Cette signature est utilisée par le stockage Azure pour autoriser l’accès à la ressource de stockage.This signature is used by Azure Storage to authorize access to the storage resource.

Notes

Il n’est pas possible d’auditer la génération de jetons SAP.It's not possible to audit the generation of SAS tokens. Tout utilisateur disposant de privilèges permettant de générer un jeton SAP, soit à l’aide de la clé de compte, soit via une attribution de rôle RBAC Azure, peut le faire sans avoir connaissance du propriétaire du compte de stockage.Any user that has privileges to generate a SAS token, either by using the account key, or via an Azure RBAC role assignment, can do so without the knowledge of the owner of the storage account. Veillez à limiter les autorisations qui permettent aux utilisateurs de générer des jetons SAP.Be careful to restrict permissions that allow users to generate SAS tokens. Pour empêcher les utilisateurs de générer un jeton SAP signée avec la clé de compte pour les charges de travail d’objets blob et de file d’attente, vous pouvez interdire l’accès avec une clé partagée au compte de stockage.To prevent users from generating a SAS that is signed with the account key for blob and queue workloads, you can disallow Shared Key access to the storage account. Pour plus d’informations, consultez Empêcher l’autorisation avec une clé partagée.For more information, see Prevent authorization with Shared Key.

Signature SAP et autorisationSAS signature and authorization

Vous pouvez signer un jeton SAS à l’aide d’une clé de délégation d’utilisateur ou d’une clé de compte de stockage (clé partagée).You can sign a SAS token with a user delegation key or with a storage account key (Shared Key).

Signature d’un jeton SAS avec une clé de délégation d’utilisateurSigning a SAS token with a user delegation key

Vous pouvez signer un jeton avec une clé de délégation d’utilisateur créée à l’aide des informations d’identification d’Azure Active Directory (Azure AD).You can sign a SAS token by using a user delegation key that was created using Azure Active Directory (Azure AD) credentials. Une SAP de délégation d’utilisateur est signée avec la clé de délégation d’utilisateur.A user delegation SAS is signed with the user delegation key.

Pour accéder à la clé, puis créer la SAS, un rôle Azure qui comprend l’action Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey doit être attribué à un principal de sécurité Azure AD.To get the key, and then create the SAS, an Azure AD security principal must be assigned an Azure role that includes the Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey action. Pour en savoir plus, consultez Créer une SAS de délégation d’utilisateur (API REST).For more information, see Create a user delegation SAS (REST API).

Signature d’un jeton SAS à l’aide d’une clé de compteSigning a SAS token with an account key

Une SAP de service et une SAP de compte sont signées avec la clé du compte de stockage.Both a service SAS and an account SAS are signed with the storage account key. Pour créer une SAP signée avec la clé de compte, une application doit avoir accès à la clé de compte.To create a SAS that is signed with the account key, an application must have access to the account key.

Lorsqu’une requête comprend un jeton SAP, cette requête est autorisée en fonction de la façon dont le jeton SAP est signé.When a request includes a SAS token, that request is authorized based on how that SAS token is signed. La clé d’accès ou les informations d’identification que vous utilisez pour créer un jeton SAP sont également utilisées par Stockage Azure pour accorder l’accès à un client qui possède la signature d’accès partagé.The access key or credentials that you use to create a SAS token are also used by Azure Storage to grant access to a client that possesses the SAS.

Le tableau suivant résume la façon dont chaque type de jeton SAS est autorisé.The following table summarizes how each type of SAS token is authorized.

Type de SAPType of SAS Type d’autorisationType of authorization
SAP de délégation d’utilisateur (Stockage Blob uniquement)User delegation SAS (Blob storage only) Azure ADAzure AD
SAP de serviceService SAS Clé partagéeShared Key
SAP de compteAccount SAS Clé partagéeShared Key

Microsoft recommande d’utiliser une SAP de délégation d’utilisateur dans la mesure du possible pour une plus grande sécurité.Microsoft recommends using a user delegation SAS when possible for superior security.

Jeton SASSAS token

Le jeton SAS est une chaîne que vous générez côté client, par exemple à l’aide de l’une des bibliothèques clientes de stockage Azure.The SAS token is a string that you generate on the client side, for example by using one of the Azure Storage client libraries. Le jeton SAS n’est pas suivi par le stockage Azure de quelque manière que ce soit.The SAS token is not tracked by Azure Storage in any way. Vous pouvez créer un nombre illimité de jetons de SAP côté client.You can create an unlimited number of SAS tokens on the client side. Après avoir créé une SAP, vous pouvez la distribuer aux applications clientes qui requièrent l’accès aux ressources de votre compte de stockage.After you create a SAS, you can distribute it to client applications that require access to resources in your storage account.

Les applications clientes fournissent l’URI SAS au Stockage Azure dans le cadre d’une demande.Client applications provide the SAS URI to Azure Storage as part of a request. Ensuite, le service vérifie que les paramètres SAS et la signature sont valides.Then, the service checks the SAS parameters and the signature to verify that it is valid. Si le service vérifie que la signature est valide, la demande est autorisée.If the service verifies that the signature is valid, then the request is authorized. Dans le cas contraire, la demande est refusée avec le code d’erreur 403 (Interdit).Otherwise, the request is declined with error code 403 (Forbidden).

Voici un exemple d’URI SAA de service, montrant l’URI de la ressource et le jeton SAS.Here's an example of a service SAS URI, showing the resource URI and the SAS token. Étant donné que le jeton SAS comprend la chaîne de requête URI, l’URI de la ressource doit être suivi d’abord par un point d’interrogation, puis par le jeton SAS :Because the SAS token comprises the URI query string, the resource URI must be followed first by a question mark, and then by the SAS token:

Composants d’une URI de SAP

Quand utiliser une signature d’accès partagéWhen to use a shared access signature

Utilisez une SAS pour fournir un accès sécurisé aux ressources de votre compte de stockage à tout client qui n’a normalement pas d’autorisations pour ces ressources.Use a SAS to give secure access to resources in your storage account to any client who does not otherwise have permissions to those resources.

Un service où les utilisateurs lisent et écrivent leurs propres données dans votre compte de stockage correspond à un scénario courant dans lequel une signature d'accès partagé peut s'avérer utile.A common scenario where a SAS is useful is a service where users read and write their own data to your storage account. Dans un scénario où un compte de stockage stocke les données utilisateur, il existe deux modèles de conception types :In a scenario where a storage account stores user data, there are two typical design patterns:

  1. Les clients chargent et téléchargent les données par le biais d’un service proxy frontal, qui se charge de l’authentification.Clients upload and download data via a front-end proxy service, which performs authentication. Ce service de proxy front-end autorise la validation des règles d’entreprise.This front-end proxy service allows the validation of business rules. Mais pour de grosses quantités de données ou des transactions à haut volume, la création d'un service qui peut être mis à l’échelle en fonction de la demande peut se révéler coûteuse ou difficile.But for large amounts of data, or high-volume transactions, creating a service that can scale to match demand may be expensive or difficult.

    Schéma du scénario : service proxy frontal

  2. Un service léger authentifie le client en fonction des besoins, puis génère une signature d’accès partagé.A lightweight service authenticates the client as needed and then generates a SAS. Une fois que l’application cliente reçoit la SAS, elle peut accéder directement aux ressources du compte de stockage.Once the client application receives the SAS, it can access storage account resources directly. Les autorisations d’accès sont définies par la SAS et pendant l’intervalle autorisé par la SAS.Access permissions are defined by the SAS and for the interval allowed by the SAS. La signature d'accès partagé atténue la nécessité du routage de toutes les données via le service proxy frontal.The SAS mitigates the need for routing all data through the front-end proxy service.

    Schéma du scénario : service de fournisseur SAS

De nombreux services réels peuvent utiliser un mélange de ces deux approches.Many real-world services may use a hybrid of these two approaches. Par exemple, certaines données peuvent être traitées et validées via le proxy front-end.For example, some data might be processed and validated via the front-end proxy. D’autres données sont enregistrées et/ou lues directement à l’aide de la SAS.Other data is saved and/or read directly using SAS.

En outre, une SAP est requise pour autoriser l’accès à l’objet source d’une opération de copie dans certains cas de figure :Additionally, a SAS is required to authorize access to the source object in a copy operation in certain scenarios:

  • Lorsque vous copiez un objet blob dans un autre objet blob qui réside dans un autre compte de stockage.When you copy a blob to another blob that resides in a different storage account.

    Vous pouvez éventuellement utiliser une SAP pour autoriser également l’accès à l’objet blob de destination.You can optionally use a SAS to authorize access to the destination blob as well.

  • Lorsque vous copiez un fichier dans un autre fichier qui réside dans un autre compte de stockage.When you copy a file to another file that resides in a different storage account.

    Vous pouvez éventuellement utiliser une SAP pour autoriser également l’accès au fichier de destination.You can optionally use a SAS to authorize access to the destination file as well.

  • Lorsque vous copiez un objet blob dans un fichier ou un fichier dans un objet blob.When you copy a blob to a file, or a file to a blob.

    Vous devez utiliser une signature d’accès partagé même si les objets source et de destination résident dans le même compte de stockage.You must use a SAS even if the source and destination objects reside within the same storage account.

Bonnes pratiques lors de l’utilisation de SAPBest practices when using SAS

Lorsque vous utilisez des signatures d'accès partagé dans vos applications, vous devez être conscient de deux risques potentiels :When you use shared access signatures in your applications, you need to be aware of two potential risks:

  • Si une signature d'accès partagé est divulguée, toute personne qui se la procure peut s'en servir et votre compte de stockage court donc le risque d'être compromis.If a SAS is leaked, it can be used by anyone who obtains it, which can potentially compromise your storage account.

  • Si une signature d'accès partagé fournie à une application cliente expire et que l'application est incapable d'en récupérer une nouvelle à partir de votre service, la fonctionnalité de votre application risque d'être entravée.If a SAS provided to a client application expires and the application is unable to retrieve a new SAS from your service, then the application's functionality may be hindered.

Les recommandations suivantes relatives à l’utilisation des signatures d’accès partagé peuvent aider à limiter ces risques :The following recommendations for using shared access signatures can help mitigate these risks:

  • Utilisez toujours HTTPS pour créer ou distribuer une signature d’accès partagé.Always use HTTPS to create or distribute a SAS. Si une signature d’accès partagé est transmise sur HTTP et interceptée, une personne malveillante effectuant une attaque de type « man-in-the-middle » peut la lire.If a SAS is passed over HTTP and intercepted, an attacker performing a man-in-the-middle attack is able to read the SAS. Cette personne peut ensuite utiliser cette SAS comme l’aurait fait l’utilisateur prévu.Then, they can use that SAS just as the intended user could have. Cela peut compromettre des données sensibles ou permettre la corruption des données par l’utilisateur malveillant.This can potentially compromise sensitive data or allowing for data corruption by the malicious user.

  • Utilisez une SAS de délégation d’utilisateur lorsque c’est possible.Use a user delegation SAS when possible. Une SAP de délégation d’utilisateur offre une sécurité supérieure à une SAP de service ou à une SAP de compte.A user delegation SAS provides superior security to a service SAS or an account SAS. Une SAP de délégation d’utilisateur est sécurisée avec des informations d’identification Azure AD, ce qui vous permet de ne pas avoir à stocker votre clé de compte avec votre code.A user delegation SAS is secured with Azure AD credentials, so that you do not need to store your account key with your code.

  • Ayez un plan de révocation pour une SAP.Have a revocation plan in place for a SAS. Assurez-vous que vous êtes prêt à répondre si une SAP est compromise.Make sure you are prepared to respond if a SAS is compromised.

  • Définissez une stratégie d’accès stockée pour une SAP de service.Define a stored access policy for a service SAS. Celles-ci vous donnent la possibilité de révoquer les autorisations pour une SAP de service sans avoir à régénérer les clés de compte de stockage.Stored access policies give you the option to revoke permissions for a service SAS without having to regenerate the storage account keys. Définissez une échéance très éloignée dans le temps (voire infinie) pour l’expiration de ces dernières et veillez à ce qu’elle soit régulièrement mise à jour et repoussée dans le futur.Set the expiration on these very far in the future (or infinite) and make sure it's regularly updated to move it farther into the future.

  • Utilisez des heures d'expiration avec une échéance à court terme sur une SAP de service ou une SAP de compte ad hoc.Use near-term expiration times on an ad hoc SAS service SAS or account SAS. De cette manière, même si une signature d’accès partagé est compromise, elle n’est valide que pendant une courte durée.In this way, even if a SAS is compromised, it's valid only for a short time. Cette pratique est particulièrement importante si vous ne pouvez pas référencer une stratégie d'accès stockée.This practice is especially important if you cannot reference a stored access policy. Des heures d’expiration avec une échéance à court terme permettent également de limiter la quantité de données pouvant être écrites dans un objet blob en limitant le temps disponible pour le chargement vers ce dernier.Near-term expiration times also limit the amount of data that can be written to a blob by limiting the time available to upload to it.

  • Faites en sorte que les clients renouvellent automatiquement la signature d'accès partagé si nécessaire.Have clients automatically renew the SAS if necessary. Les clients doivent renouveler la signature d’accès partagé bien avant l’heure d’expiration afin de laisser suffisamment de temps pour de nouvelles tentatives, si le service qui fournit la signature est indisponible.Clients should renew the SAS well before the expiration, in order to allow time for retries if the service providing the SAS is unavailable. Cela peut ne pas être nécessaire dans certains cas.This might be unnecessary in some cases. Par exemple, vous voulez peut-être utiliser la SAS pour un petit nombre d’opérations immédiates de courte durée.For example, you might intend for the SAS to be used for a small number of immediate, short-lived operations. Ces opérations sont censées être terminées pendant la période d’expiration.These operations are expected to be completed within the expiration period. Par conséquent, vous n’attendez pas que la SAS soit renouvelée.As a result, you are not expecting the SAS to be renewed. Toutefois, si vous avez un client qui effectue régulièrement des demandes par le biais de signatures d’accès partagé, le risque d’expiration est à prendre en compte.However, if you have a client that is routinely making requests via SAS, then the possibility of expiration comes into play.

  • Faites attention à la date de début de la signature d’accès partagé.Be careful with SAS start time. Si vous définissez l’heure de début d’une signature d’accès partagé sur l’heure actuelle, des échecs peuvent se produire par intermittence pendant les premières minutes.If you set the start time for a SAS to the current time, failures might occur intermittently for the first few minutes. Cela est dû au fait que des machines différentes ont des heures actuelles légèrement différents (phénomène appelé décalage de l’horloge).This is due to different machines having slightly different current times (known as clock skew). En règle générale, définissez une heure de début située au moins 15 minutes avant l’heure couranteIn general, set the start time to be at least 15 minutes in the past. ou ne la définissez pas du tout, et elle sera alors valide immédiatement dans tous les cas.Or, don't set it at all, which will make it valid immediately in all cases. Cela vaut également d’une manière générale pour l’heure d’expiration. Souvenez-vous que vous pouvez observer jusqu’à 15 minutes de décalage d’horloge (dans l’une ou l’autre direction) sur une demande.The same generally applies to expiry time as well--remember that you may observe up to 15 minutes of clock skew in either direction on any request. Pour les clients qui utilisent une version de REST antérieure à la version 2012-02-12, la durée maximale pour une signature d’accès partagé qui ne renvoie pas à une stratégie d’accès stockée est de 1 heure.For clients using a REST version prior to 2012-02-12, the maximum duration for a SAS that does not reference a stored access policy is 1 hour. Toutes les stratégies spécifiant une période plus longue échouent.Any policies that specify a longer term than 1 hour will fail.

  • Soyez vigilant avec le format DateHeure SAP.Be careful with SAS datetime format. Pour certains utilitaires (tels que AzCopy), les formats DateTime doivent être : « +%Y-%m-%dT%H:%M:%SZ ».For some utilities (such as AzCopy), you need datetime formats to be '+%Y-%m-%dT%H:%M:%SZ'. Ce format comprend spécifiquement les secondes.This format specifically includes the seconds.

  • Soyez précis quant à la ressource pour laquelle vous voulez configurer l'accès.Be specific with the resource to be accessed. Une bonne pratique en matière de sécurité consiste à fournir à l’utilisateur les privilèges minimaux requis.A security best practice is to provide a user with the minimum required privileges. Si un utilisateur a besoin d'un accès en lecture à une seule entité, accordez-lui un accès en lecture à cette seule entité, plutôt qu'un accès en lecture/écriture/suppression à toutes les entités.If a user only needs read access to a single entity, then grant them read access to that single entity, and not read/write/delete access to all entities. Cela permet également d’atténuer les dégâts si une signature d’accès partagé est compromise, car son pouvoir est moindre entre les mains d’une personne malveillante.This also helps lessen the damage if a SAS is compromised because the SAS has less power in the hands of an attacker.

  • Sachez que toute utilisation de votre compte sera facturée, notamment via une SAP.Understand that your account will be billed for any usage, including via a SAS. Si vous fournissez un accès en écriture à un objet blob, un utilisateur peut choisir de charger un objet blob de 200 Go.If you provide write access to a blob, a user may choose to upload a 200 GB blob. Si vous lui avez également accordé un accès en lecture, il peut choisir de le télécharger 10 fois, et vous devrez alors acquitter des frais de sortie pour l’équivalent de 2 To.If you've given them read access as well, they may choose to download it 10 times, incurring 2 TB in egress costs for you. Accordez des autorisations limitées pour atténuer les risques liés aux actions éventuelles d’utilisateurs malveillants.Again, provide limited permissions to help mitigate the potential actions of malicious users. Utilisez des signatures d'accès partagé à durée de vie limitée pour atténuer cette menace (mais pensez au décalage d'horloge pour l'heure de fin).Use short-lived SAS to reduce this threat (but be mindful of clock skew on the end time).

  • Validez les données écrites avec une signature d'accès partagé.Validate data written using a SAS. Lorsqu'une application cliente écrit des données dans votre compte de stockage, n'oubliez pas que ces données peuvent être une source de problèmes.When a client application writes data to your storage account, keep in mind that there can be problems with that data. Si vous envisagez de valider des données, effectuez cette validation une fois que les données ont été écrites et avant qu’elles soient utilisées par votre application.If you plan to validate data, perform that validation after the data is written and before it is used by your application. Cette pratique assure également une protection contre l'écriture de données endommagées ou malveillantes dans votre compte, soit par un utilisateur qui a acquis correctement la signature d'accès partagé, soit par un utilisateur qui exploite sa divulgation.This practice also protects against corrupt or malicious data being written to your account, either by a user who properly acquired the SAS, or by a user exploiting a leaked SAS.

  • Savoir quand ne pas utiliser une SAP.Know when not to use a SAS. Parfois, les risques associés à une opération particulière sur votre compte de stockage l'emportent sur les avantages de l’utilisation d’une signature d'accès partagé.Sometimes the risks associated with a particular operation against your storage account outweigh the benefits of using a SAS. Pour ces opérations, créez un service de niveau intermédiaire qui écrit dans votre compte de stockage après avoir effectué la validation des règles métier, l'authentification et un audit.For such operations, create a middle-tier service that writes to your storage account after performing business rule validation, authentication, and auditing. Parfois aussi, il est plus simple de gérer l'accès par d'autres moyens.Also, sometimes it's simpler to manage access in other ways. Par exemple, si vous voulez que tous les objets blob dans un conteneur soient publiquement lisibles, vous pouvez rendre le conteneur public, au lieu de fournir une signature d'accès partagé à chaque client.For example, if you want to make all blobs in a container publicly readable, you can make the container Public, rather than providing a SAS to every client for access.

  • Utilisez Azure Monitor et les journaux de stockage Azure pour surveiller votre application.Use Azure Monitor and Azure Storage logs to monitor your application. Des échecs d’autorisation peuvent survenir en raison d’une panne dans votre service fournisseur SAS.Authorization failures can occur because of an outage in your SAS provider service. Ils peuvent également provenir d’une suppression accidentelle d’une stratégie d’accès stockée.They can also occur from an inadvertent removal of a stored access policy. Vous pouvez utiliser Azure Monitor et la journalisation de l’analytique du stockage pour observer les pics dans ces types d’échecs d’autorisation.You can use Azure Monitor and storage analytics logging to observe any spike in these types of authorization failures. Pour plus d’informations, consultez Métriques de stockage Azure dans Azure Monitor et Journalisation Azure Storage Analytics.For more information, see Azure Storage metrics in Azure Monitor and Azure Storage Analytics logging.

Prise en main de la SAPGet started with SAS

Pour prendre en main les signatures d’accès partagé, consultez les articles suivants pour chaque type de SAP.To get started with shared access signatures, see the following articles for each SAS type.

SAP de délégation d’utilisateurUser delegation SAS

SAP de serviceService SAS

SAP de compteAccount SAS

Étapes suivantesNext steps