Créer une SAP de compte
Important
Pour une sécurité optimale, Microsoft recommande d’utiliser l’ID Microsoft Entra avec des identités managées pour autoriser les demandes sur les données d’objet blob, de file d’attente et de table, dans la mesure du possible. L’autorisation avec l’ID Microsoft Entra et les identités managées offre une sécurité et une facilité d’utilisation supérieures sur l’autorisation de clé partagée. Pour plus d’informations, consultez Autoriser avec microsoft Entra ID. Pour en savoir plus sur les identités managées, consultez Qu’est-ce que les identités managées pour les ressources Azure.
Pour les ressources hébergées en dehors d’Azure, telles que les applications locales, vous pouvez utiliser des identités managées via Azure Arc. Par exemple, les applications s’exécutant sur des serveurs avec Azure Arc peuvent utiliser des identités managées pour se connecter aux services Azure. Pour plus d’informations, consultez s’authentifier sur des ressources Azure avec des serveurs avec Azure Arc.
Pour les scénarios où les signatures d’accès partagé (SAP) sont utilisées, Microsoft recommande d’utiliser une SAP de délégation d’utilisateur. Une SAP de délégation d’utilisateur est sécurisée avec les informations d’identification Microsoft Entra au lieu de la clé de compte. Pour en savoir plus sur les signatures d’accès partagé, consultez Créer une SAP de délégation d’utilisateur.
Depuis la version 2015-04-05, Stockage Azure prend en charge la création d’un nouveau type de signature d’accès partagé (SAP) au niveau du compte de stockage. En créant une SAP de compte, vous pouvez :
Déléguer l’accès aux opérations de niveau de service qui ne sont pas actuellement disponibles avec une SAP spécifique au service, telles que les opérations de
Get/Set Service Properties
et deGet Service Stats
.Déléguer l’accès à plusieurs services dans un compte de stockage à la fois. Par exemple, vous pouvez déléguer l’accès aux ressources dans Stockage Blob Azure et Azure Files à l’aide d’une SAP de compte.
Déléguer l’accès aux opérations d’écriture et de suppression pour les conteneurs, les files d’attente, les tables et les partages de fichiers, qui ne sont pas disponibles avec une SAP spécifique à un objet.
Spécifiez une adresse IP ou une plage d’adresses IP à partir de laquelle accepter les demandes.
Spécifiez le protocole HTTP à partir duquel accepter les demandes (HTTPS ou HTTP/HTTPS).
Les stratégies d’accès stockées ne sont actuellement pas prises en charge pour une SAP de compte.
Attention
Les signatures d’accès partagé sont des clés qui accordent des autorisations aux ressources de stockage, et vous devez les protéger comme vous le feriez pour protéger une clé de compte. Il est important de protéger une SAP contre une utilisation malveillante ou involontaire. Utilisez la discrétion pour distribuer une SAP et disposer d’un plan en place pour révoquer une SAP compromise. Les opérations qui utilisent des signatures d’accès partagé doivent être effectuées uniquement sur une connexion HTTPS, et les URI SAP doivent être distribués uniquement sur une connexion sécurisée, telle que HTTPS.
Autoriser une SAP de compte
Vous sécurisez une SAP de compte à l’aide d’une clé de compte de stockage. Lorsque vous créez une SAP de compte, votre application cliente doit posséder la clé de compte.
Pour utiliser les informations d’identification Microsoft Entra pour sécuriser une SAP pour un conteneur ou un objet blob, créer une SAP de délégation d’utilisateur.
Construire un URI SAP de compte
L’URI SAP du compte se compose de l’URI vers la ressource pour laquelle la SAP délègue l’accès, suivie d’un jeton SAP. Le jeton SAP est la chaîne de requête qui inclut toutes les informations requises pour autoriser une demande à la ressource. Il spécifie le service, la ressource et les autorisations disponibles pour l’accès, ainsi que la période pendant laquelle la signature est valide.
Spécifier les paramètres SAP du compte
Les paramètres obligatoires et facultatifs pour le jeton SAP sont décrits dans le tableau suivant :
Paramètre de requête SAP | Description |
---|---|
api-version |
facultatif. Spécifie la version du service de stockage à utiliser pour exécuter la requête effectuée à l’aide de l’URI SAP du compte. Pour plus d’informations, consultez Autoriser les demandes à l’aide d’une signature d’accès partagé. |
SignedVersion (sv) |
Obligatoire. Spécifie la version du service de stockage signé à utiliser pour autoriser les demandes effectuées avec cette SAP de compte. Elle doit être définie sur la version 2015-04-05 ou ultérieure. Pour plus d’informations, consultez Autoriser les demandes à l’aide d’une signature d’accès partagé. |
SignedServices (ss) |
Obligatoire. Spécifie les services signés accessibles avec la SAP du compte. Valeurs possibles : - Blob ( b )- File d’attente ( q )- Table ( t )- Fichier ( f )Vous pouvez combiner des valeurs pour fournir l’accès à plusieurs services. Par exemple, ss=bf spécifie l’accès aux points de terminaison Stockage Blob et Azure Files. |
SignedResourceTypes (srt) |
Obligatoire. Spécifie les types de ressources signés accessibles avec la SAP de compte. - Service ( s ) : accès aux API au niveau du service (par exemple, Get/Set Service Properties, Get Service Stats, List Containers/Queues/Tables/Shares).- Conteneur ( c ) : accès aux API au niveau du conteneur (par exemple, Créer/Supprimer un conteneur, Créer/Supprimer une file d’attente, Créer/Supprimer une table, Créer/Supprimer un partage, Répertorier des objets blob/fichiers et répertoires).- Objet ( o ) : accès aux API au niveau de l’objet pour les objets blob, les messages de file d’attente, les entités de table et les fichiers (par exemple, Put Blob, Query Entity, Get Messages, Create File).Vous pouvez combiner des valeurs pour fournir l’accès à plusieurs types de ressources. Par exemple, srt=sc spécifie l’accès aux ressources de service et de conteneur. |
SignedPermissions (sp) |
Obligatoire. Spécifie les autorisations signées pour la SAP du compte. Les autorisations sont valides uniquement si elles correspondent au type de ressource signé spécifié. S’ils ne correspondent pas, ils sont ignorés. - Lecture ( r ) : valide pour tous les types de ressources signés (Service, Conteneur et Objet). Autorise les autorisations de lecture au type de ressource spécifié.- Écriture ( w ) : valide pour tous les types de ressources signées (Service, Conteneur et Objet). Autorise l’accès en écriture pour le type de ressource spécifié, ce qui permet à un utilisateur de créer et de mettre à jour des ressources.- Supprimer ( d ) : valide pour les types de ressources Conteneur et Objet, à l’exception des messages de file d’attente.- Supprimer la version ( x ) : valide pour le type de ressource Objet blob uniquement.- Suppression permanente ( y ) : valide pour le type de ressource Objet blob uniquement.- Liste ( l ) : valide uniquement pour les types de ressources de service et de conteneur.- Ajouter ( a ) : valide pour les types de ressources Object suivants uniquement : messages de file d’attente, entités de table et objets blob d’ajout.- Créer ( c ) : valide pour les types de ressources conteneur et les types de ressources Objet suivants : objets blob et fichiers. Les utilisateurs peuvent créer de nouvelles ressources, mais peuvent ne pas remplacer les ressources existantes.- Mise à jour ( u ) : valide pour les types de ressources Objet suivants uniquement : messages de file d’attente et entités de table.- Traiter ( p ) : valide pour le type de ressource Objet suivant uniquement : messages de file d’attente.- Balise ( t ) : valide pour le type de ressource Objet suivant uniquement : objets blob. Autorise les opérations d’étiquette d’objet blob.- Filtre ( f ) : valide pour le type de ressource Objet suivant uniquement : objet blob. Autorise le filtrage par balise d’objet blob.- Définir une stratégie d’immuabilité ( i ) : valide pour le type de ressource Objet suivant uniquement : objet blob. Autorise la stratégie d’immuabilité définie/suppression et la conservation légale sur un objet blob. |
SignedStart (st) |
facultatif. Heure à laquelle la SAP devient valide, exprimée dans l’un des formats UTC ISO 8601 acceptés. S’il est omis, l’heure de début est supposée être l’heure à laquelle le service de stockage reçoit la demande. Pour plus d’informations sur les formats UTC acceptés, consultez valeurs DateTime de mise en forme. |
SignedExpiry (se) |
Obligatoire. Heure à laquelle la signature d’accès partagé devient non valide, exprimée dans l’un des formats UTC ISO 8601 acceptés. Pour plus d’informations sur les formats UTC acceptés, consultez valeurs DateTime de mise en forme. |
SignedIP (sip) |
facultatif. Spécifie une adresse IP ou une plage d’adresses IP à partir de laquelle accepter les demandes. Lorsque vous spécifiez une plage, gardez à l’esprit que la plage est inclusive. Seules les adresses IPv4 sont prises en charge. Par exemple, sip=198.51.100.0 ou sip=198.51.100.10-198.51.100.20 . |
SignedProtocol (spr) |
facultatif. Spécifie le protocole autorisé pour une requête effectuée avec la SAP du compte. Les valeurs possibles sont à la fois HTTPS et HTTP (https,http ) ou HTTPS uniquement (https ). La valeur par défaut est https,http .Notez que HTTP n’est pas une valeur autorisée uniquement. |
SignedEncryptionScope (ses) |
facultatif. Indique l’étendue de chiffrement à utiliser pour chiffrer le contenu de la requête. Ce champ est pris en charge avec la version 2020-12-06 et ultérieure. |
Signature (sig) |
Obligatoire. La partie signature de l’URI est utilisée pour autoriser la demande effectuée avec la signature d’accès partagé. La chaîne à signer est une chaîne unique construite à partir des champs qui doivent être vérifiés pour autoriser la requête. La signature est un code d’authentification de message basé sur le hachage (HMAC) calculé sur la chaîne à signer et la clé à l’aide de l’algorithme SHA256, puis encodé à l’aide de l’encodage Base64. |
Spécifier le champ signedVersion
Le champ signedVersion
(sv
) contient la version du service de la signature d’accès partagé. Cette valeur spécifie la version de l’autorisation de clé partagée utilisée par cette signature d’accès partagé (dans le champ signature
). La valeur spécifie également la version du service pour les demandes effectuées avec cette signature d’accès partagé.
Pour plus d’informations sur la version utilisée lorsque vous exécutez des demandes via une signature d’accès partagé, consultez Contrôle de version pour les services stockage Azure.
Pour plus d’informations sur la façon dont ce paramètre affecte l’autorisation des demandes effectuées avec une signature d’accès partagé, consultez Déléguer l’accès avec une signature d’accès partagé.
Nom du champ | Paramètre de requête. | Description |
---|---|---|
signedVersion |
sv |
Obligatoire. Pris en charge dans la version 2015-04-05 et versions ultérieures. Version du service de stockage à utiliser pour autoriser et gérer les demandes que vous effectuez avec cette signature d’accès partagé. Pour plus d’informations, consultez Contrôle de version pour les services stockage Azure. |
Spécifier une adresse IP ou une plage d’adresses IP
À compter de la version 2015-04-05, le champ facultatif signedIp
(sip
) spécifie une adresse IP publique ou une plage d’adresses IP publiques à partir desquelles accepter les demandes. Si l’adresse IP à partir de laquelle la requête provient ne correspond pas à l’adresse IP ou à la plage d’adresses spécifiée sur le jeton SAP, la demande n’est pas autorisée. Seules les adresses IPv4 sont prises en charge.
Lorsque vous spécifiez une plage d’adresses IP, gardez à l’esprit que la plage est inclusive. Par exemple, la spécification de sip=198.51.100.0
ou de sip=198.51.100.10-198.51.100.20
sur la SAP limite la requête à ces adresses IP.
Le tableau suivant décrit s’il faut inclure le champ signedIp
sur un jeton SAP pour un scénario spécifié, en fonction de l’environnement client et de l’emplacement du compte de stockage.
Environnement client | Emplacement du compte de stockage | Recommandation |
---|---|---|
Client s’exécutant dans Azure | Dans la même région que le client | Une SAP fournie au client dans ce scénario ne doit pas inclure d’adresse IP sortante pour le champ signedIp . Les requêtes effectuées à partir de la même région qui utilisent une SAP avec une adresse IP sortante spécifiée échouent.Utilisez plutôt un réseau virtuel Azure pour gérer les restrictions de sécurité réseau. Les demandes adressées au stockage Azure à partir de la même région ont toujours lieu sur une adresse IP privée. Pour plus d’informations, consultez Configurer Pare-feu et réseaux virtuels dans Stockage Azure. |
Client s’exécutant dans Azure | Dans une autre région du client | Une SAP fournie au client dans ce scénario peut inclure une adresse IP publique ou une plage d’adresses pour le champ signedIp . Une requête effectuée avec la SAP doit provenir de l’adresse IP ou de la plage d’adresses spécifiée. |
Client s’exécutant localement ou dans un autre environnement cloud | Dans n’importe quelle région Azure | Une SAP fournie au client dans ce scénario peut inclure une adresse IP publique ou une plage d’adresses pour le champ signedIp . Une requête effectuée avec la SAP doit provenir de l’adresse IP ou de la plage d’adresses spécifiée.Si la requête passe par un proxy ou une passerelle, fournissez l’adresse IP sortante publique de ce proxy ou passerelle pour le champ signedIp . |
Spécifier le protocole HTTP
À compter de la version 2015-04-05, le champ facultatif signedProtocol
(spr
) spécifie le protocole autorisé pour une demande effectuée avec la SAP. Les valeurs possibles sont à la fois HTTPS et HTTP (https,http
) ou HTTPS uniquement (https
). La valeur par défaut est https,http
. Notez que HTTP n’est pas une valeur autorisée.
Spécifier l’étendue de chiffrement
En utilisant le champ signedEncryptionScope
sur l’URI, vous pouvez spécifier l’étendue de chiffrement que l’application cliente peut utiliser. Il applique le chiffrement côté serveur avec l’étendue de chiffrement spécifiée lorsque vous chargez des objets blob (PUT) avec le jeton SAP. GET et HEAD ne seront pas limités et exécutés comme précédemment.
Le tableau suivant décrit comment faire référence à une étendue de chiffrement signée sur l’URI :
Nom du champ | Paramètre de requête. | Description |
---|---|---|
signedEncryptionScope |
ses |
facultatif. Indique l’étendue de chiffrement à utiliser pour chiffrer le contenu de la requête. |
Ce champ est pris en charge avec la version 2020-12-06 ou ultérieure. Si vous ajoutez le ses
avant la version prise en charge, le service retourne le code de réponse d’erreur 403 (Interdit).
Si vous définissez l’étendue de chiffrement par défaut pour le système de conteneurs ou de fichiers, le paramètre de requête ses
respecte la stratégie de chiffrement de conteneur. S’il existe une incompatibilité entre le paramètre de requête ses
et l’en-tête x-ms-default-encryption-scope
, et que l’en-tête x-ms-deny-encryption-scope-override
est défini sur true
, le service retourne le code de réponse d’erreur 403 (Interdit).
Lorsque vous fournissez l’en-tête x-ms-encryption-scope
et le paramètre de requête ses
dans la requête PUT, le service retourne le code de réponse d’erreur 400 (demande incorrecte) s’il existe une incompatibilité.
Construire la chaîne de signature
Pour construire la chaîne de signature pour une SAP de compte, commencez par construire la chaîne à signer à partir des champs qui composent la requête, puis encodez la chaîne sous la forme UTF-8 et calculez la signature à l’aide de l’algorithme HMAC-SHA256.
Remarque
Les champs inclus dans la chaîne à signer doivent être décodés par URL.
Pour construire la chaîne à signer pour une SAP de compte, utilisez le format suivant :
StringToSign = accountname + "\n" +
signedpermissions + "\n" +
signedservice + "\n" +
signedresourcetype + "\n" +
signedstart + "\n" +
signedexpiry + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedversion + "\n"
La version 2020-12-06 ajoute la prise en charge du champ d’étendue de chiffrement signé. Pour construire la chaîne à signer pour une SAP de compte, utilisez le format suivant :
StringToSign = accountname + "\n" +
signedpermissions + "\n" +
signedservice + "\n" +
signedresourcetype + "\n" +
signedstart + "\n" +
signedexpiry + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedversion + "\n" +
signedEncryptionScope + "\n"
Autorisations SAP de compte par opération
Les tableaux des sections suivantes répertorient différentes API pour chaque service et les types de ressources signés et les autorisations signées prises en charge pour chaque opération.
Service d’objets blob
Le tableau suivant répertorie les opérations de service Blob et indique le type de ressource signé et les autorisations signées à spécifier lorsque vous déléguerez l’accès à ces opérations.
Opération | Service signé | Type de ressource signé | Autorisation signée |
---|---|---|---|
Répertorier les conteneurs | Blob (b) | Service (s) | Liste (l) |
Obtenir les propriétés du service Blob | Blob (b) | Service (s) | Lecture (r) |
Définir les propriétés du service Blob | Blob (b) | Service (s) | Écriture (w) |
Obtenir les statistiques du service Blob | Blob (b) | Service (s) | Lecture (r) |
Créer un conteneur | Blob (b) | Conteneur (c) | Create(c) ou Write (w) |
Obtenir les propriétés du conteneur | Blob (b) | Conteneur (c) | Lecture (r) |
Obtenir des métadonnées de conteneur | Blob (b) | Conteneur (c) | Lecture (r) |
Définir des métadonnées de conteneur | Blob (b) | Conteneur (c) | Écriture (w) |
Conteneur de baux | Blob (b) | Conteneur (c) | Écrire (w) ou supprimer (d)1 |
Supprimer un conteneur | Blob (b) | Conteneur (c) | Supprimer (d)1 |
Rechercher des objets blob par balises dans le conteneur | Blob (b) | Conteneur (c) | Filtre (f) |
Répertorier les objets blob | Blob (b) | Conteneur (c) | Liste (l) |
Put Blob (créer un objet blob de blocs) | Blob (b) | Object (o) | Créer (c) ou écrire (w) |
Put Blob (remplacer l’objet blob de blocs existant) | Blob (b) | Object (o) | Écriture (w) |
Put Blob (créer un objet blob de pages) | Blob (b) | Object (o) | Créer (c) ou écrire (w) |
Put Blob (remplacer l’objet blob de pages existant) | Blob (b) | Object (o) | Écriture (w) |
Obtenir un objet blob | Blob (b) | Object (o) | Lecture (r) |
Obtenir les propriétés d’objet blob | Blob (b) | Object (o) | Lecture (r) |
Définir les propriétés de l’objet blob | Blob (b) | Object (o) | Écriture (w) |
Obtenir les métadonnées d’objet blob | Blob (b) | Object (o) | Lecture (r) |
Définir des métadonnées d’objet blob | Blob (b) | Object (o) | Écriture (w) |
Obtenir des balises d’objet blob | Blob (b) | Object (o) | Balises (t) |
Définir des balises d’objet blob | Blob (b) | Object (o) | Balises (t) |
Rechercher des objets blob par balises | Blob (b) | Object (o) | Filtre (f) |
Supprimer un objet blob | Blob (b) | Object (o) | Supprimer (d)1 |
Supprimer la version d’objet blob | Blob (b) | Object (o) | Supprimer la version (x)2 |
Supprimer définitivement l’instantané / version | Blob (b) | Object (o) | Suppression définitive (y)3 |
Objet blob de bail | Blob (b) | Object (o) | Écrire (w) ou supprimer (d)1 |
Blob d’instantanés | Blob (b) | Object (o) | Créer (c) ou écrire (w) |
Copier un objet blob (destination est un nouvel objet blob) | Blob (b) | Object (o) | Créer (c) ou écrire (w) |
Copier un objet blob (la destination est un objet blob existant) | Blob (b) | Object (o) | Écriture (w) |
Copie incrémentielle | Blob (b) | Object (o) | Créer (c) ou écrire (w) |
Abandonner l’objet blob de copie | Blob (b) | Object (o) | Écriture (w) |
Put Block | Blob (b) | Object (o) | Écriture (w) |
Placer la liste de blocs (créer un objet blob) | Blob (b) | Object (o) | Écriture (w) |
Placer la liste de blocs (mettre à jour l’objet blob existant) | Blob (b) | Object (o) | Écriture (w) |
Obtenir la liste des blocs | Blob (b) | Object (o) | Lecture (r) |
Put Page | Blob (b) | Object (o) | Écriture (w) |
Obtenir des plages de pages | Blob (b) | Object (o) | Lecture (r) |
Ajouter un bloc | Blob (b) | Object (o) | Ajouter (a) ou écrire (w) |
Effacer la page | Blob (b) | Object (o) | Écriture (w) |
1 L’autorisation Delete
autorise la rupture d’un bail sur un objet blob ou un conteneur avec la version 2017-07-29 et ultérieures.
2 L’autorisation Delete Version
autorise la suppression des versions d’objets blob avec la version 2019-12-12 et ultérieure.
3 L’autorisation Permanent Delete
autorise la suppression définitive d’un instantané d’objet blob ou d’une version avec la version 2020-02-10 et ultérieure.
Service de file d’attente
Le tableau suivant répertorie les opérations de service file d’attente et indique le type de ressource signé et les autorisations signées à spécifier lorsque vous déléguerez l’accès à ces opérations.
Opération | Service signé | Type de ressource signé | Autorisation signée |
---|---|---|---|
Obtenir les propriétés du service de file d’attente | File d’attente (q) | Service (s) | Lecture (r) |
Définir les propriétés du service de file d’attente | File d’attente (q) | Service (s) | Écriture (w) |
Répertorier les files d’attente | File d’attente (q) | Service (s) | Liste (l) |
Obtenir les statistiques du service de file d’attente | File d’attente (q) | Service (s) | Lecture (r) |
Créer une file d’attente | File d’attente (q) | Conteneur (c) | Create(c) ou Write (w) |
Supprimer la file d’attente | File d’attente (q) | Conteneur (c) | Supprimer (d) |
Obtenir les métadonnées de file d’attente | File d’attente (q) | Conteneur (c) | Lecture (r) |
Définir les métadonnées de file d’attente | File d’attente (q) | Conteneur (c) | Écriture (w) |
Put Message | File d’attente (q) | Object (o) | Ajouter (a) |
Obtenir des messages | File d’attente (q) | Object (o) | Processus (p) |
Aperçu des messages | File d’attente (q) | Object (o) | Lecture (r) |
Supprimer le message | File d’attente (q) | Object (o) | Processus (p) |
Effacer les messages | File d’attente (q) | Object (o) | Supprimer (d) |
Mettre à jour le message | File d’attente (q) | Object (o) | Mettre à jour (u) |
Service de table
Le tableau suivant répertorie les opérations de service table et indique le type de ressource signé et les autorisations signées à spécifier lorsque vous déléguerez l’accès à ces opérations.
Opération | Service signé | Type de ressource signé | Autorisation signée |
---|---|---|---|
Obtenir les propriétés du service table | Tableau (t) | Service (s) | Lecture (r) |
Définir les propriétés du service table | Tableau (t) | Service (s) | Écriture (w) |
Obtenir les statistiques du service de table | Tableau (t) | Service (s) | Lecture (r) |
Tables de requête | Tableau (t) | Conteneur (c) | Liste (l) |
Créer une table | Tableau (t) | Conteneur (c) | Créer (c) ou écrire (w) |
Supprimer une table | Tableau (t) | Conteneur (c) | Supprimer (d) |
Entités de requête | Tableau (t) | Object (o) | Lecture (r) |
Insérer une entité | Tableau (t) | Object (o) | Ajouter (a) |
Insérer ou fusionner une entité | Tableau (t) | Object (o) | Ajouter (a) et mettre à jour (u)1 |
Insérer ou remplacer une entité | Tableau (t) | Object (o) | Ajouter (a) et mettre à jour (u)1 |
Mettre à jour l’entité | Tableau (t) | Object (o) | Mettre à jour (u) |
Entité de fusion | Tableau (t) | Object (o) | Mettre à jour (u) |
Supprimer une entité | Tableau (t) | Object (o) | Supprimer (d) |
1 autorisations Ajouter et mettre à jour sont requises pour les opérations upsert sur le service Table.
Service de fichiers
Le tableau suivant répertorie les opérations de service de fichiers et indique le type de ressource signé et les autorisations signées à spécifier lorsque vous déléguerez l’accès à ces opérations.
Opération | Service signé | Type de ressource signé | Autorisation signée |
---|---|---|---|
Répertorier les partages | Fichier (f) | Service (s) | Liste (l) |
Obtenir les propriétés du service de fichiers | Fichier (f) | Service (s) | Lecture (r) |
Définir les propriétés du service de fichiers | Fichier (f) | Service (s) | Écriture (w) |
Obtenir des statistiques de partage | Fichier (f) | Conteneur (c) | Lecture (r) |
Créer un partage | Fichier (f) | Conteneur (c) | Créer (c) ou écrire (w) |
Partage d’instantanés | Fichier (f) | Conteneur (c) | Créer (c) ou écrire (w) |
Obtenir les propriétés de partage | Fichier (f) | Conteneur (c) | Lecture (r) |
Définir les propriétés de partage | Fichier (f) | Conteneur (c) | Écriture (w) |
Obtenir les métadonnées de partage | Fichier (f) | Conteneur (c) | Lecture (r) |
Définir des métadonnées de partage | Fichier (f) | Conteneur (c) | Écriture (w) |
Supprimer le partage | Fichier (f) | Conteneur (c) | Supprimer (d) |
Répertorier les répertoires et les fichiers | Fichier (f) | Conteneur (c) | Liste (l) |
Créer un répertoire | Fichier (f) | Object (o) | Créer (c) ou écrire (w) |
Obtenir les propriétés d’annuaire | Fichier (f) | Object (o) | Lecture (r) |
Obtenir les métadonnées d’annuaire | Fichier (f) | Object (o) | Lecture (r) |
Définir les métadonnées d’annuaire | Fichier (f) | Object (o) | Écriture (w) |
Supprimer le répertoire | Fichier (f) | Object (o) | Supprimer (d) |
Créer un fichier (créer) | Fichier (f) | Object (o) | Créer (c) ou écrire (w) |
Créer un fichier (remplacer l’existant) | Fichier (f) | Object (o) | Écriture (w) |
Obtenir un fichier | Fichier (f) | Object (o) | Lecture (r) |
Obtenir les propriétés du fichier | Fichier (f) | Object (o) | Lecture (r) |
Obtenir les métadonnées de fichier | Fichier (f) | Object (o) | Lecture (r) |
Définir les métadonnées de fichier | Fichier (f) | Object (o) | Écriture (w) |
Supprimer un fichier | Fichier (f) | Object (o) | Supprimer (d) |
Renommer un fichier | Fichier (f) | Object (o) | Supprimer (d) ou écrire (w) |
Plage de mise en place | Fichier (f) | Object (o) | Écriture (w) |
Plages de listes | Fichier (f) | Object (o) | Lecture (r) |
Abandonner le fichier de copie | Fichier (f) | Object (o) | Écriture (w) |
Copier un fichier | Fichier (f) | Object (o) | Écriture (w) |
Effacer la plage | Fichier (f) | Object (o) | Écriture (w) |
Exemple d’URI SAP de compte
L’exemple suivant montre un URI de service Blob avec un jeton SAP de compte ajouté à celui-ci. Le jeton SAP de compte fournit des autorisations pour le service, le conteneur et les objets. La table décompose chaque partie de l’URI :
https://blobsamples.blob.core.windows.net/?sv=2022-11-02&ss=b&srt=sco&sp=rwlc&se=2023-05-24T09:51:36Z&st=2023-05-24T01:51:36Z&spr=https&sig=<signature>
Name | Partie SAP | Description |
---|---|---|
URI de ressource | https://myaccount.blob.core.windows.net/?restype=service&comp=properties |
Point de terminaison de service, avec des paramètres permettant d’obtenir des propriétés de service (lorsqu’elles sont appelées avec GET) ou de définir des propriétés de service (lorsqu’elles sont appelées avec SET). En fonction de la valeur du champ de services signés (ss ), cette SAP peut être utilisée avec Stockage Blob ou Azure Files. |
Délimiteur | ? |
Délimiteur qui précède la chaîne de requête. Le délimiteur ne fait pas partie du jeton SAP. |
Version des services de stockage | sv=2022-11-02 |
Pour les services stockage Azure version 2012-02-12 et versions ultérieures, ce paramètre indique la version à utiliser. |
Services | ss=b |
La SAP s’applique aux services Blob. |
Types de ressource | srt=sco |
La SAP s’applique aux opérations au niveau du service, au niveau du conteneur et aux opérations au niveau de l’objet. |
Autorisations | sp=rwlc |
Les autorisations accordent l’accès aux opérations de lecture, d’écriture, de liste et de création. |
Heure de début | st=2019-08-01T22%3A18%3A26Z |
Spécifié en heure UTC. Si vous souhaitez que la SAP soit valide immédiatement, omettez l’heure de début. |
Heure d’expiration | se=2019-08-10T02%3A23%3A26Z |
Spécifié en heure UTC. |
Protocol | spr=https |
Seules les requêtes qui utilisent HTTPS sont autorisées. |
Signature | sig=<signature> |
Permet d’autoriser l’accès à l’objet blob. La signature est un HMAC calculé sur une chaîne à signer et une clé à l’aide de l’algorithme SHA256, puis encodé à l’aide de l’encodage Base64. |
Étant donné que les autorisations sont limitées au niveau du service, les opérations accessibles avec cette SAP sont Obtenir les propriétés du service Blob (lecture) et Définir les propriétés du service Blob (écriture). Toutefois, avec un URI de ressource différent, le même jeton SAP peut également être utilisé pour déléguer l’accès à Obtenir les statistiques du service blob (lecture).