Définir la stratégie d’immuabilité des objets blob

L’opération Set Blob Immutability Policy définit la stratégie d’immuabilité sur un objet blob. Cette opération ne met pas à jour l’ETag de l’objet blob. Cette API est disponible à partir de la version 2020-06-12.

Requête

La demande Set Blob Immutability Policy peut être construite comme indiqué ci-dessous. Nous vous recommandons d’utiliser HTTPS. Remplacez myaccount par le nom de votre compte de stockage et myblob par le nom de l’objet blob pour lequel la stratégie d’immuabilité doit être modifiée.

Méthode URI de demande Version HTTP
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=immutabilityPolicies HTTP/1.1

Paramètres URI

Vous pouvez spécifier les paramètres supplémentaires suivants dans l’URI de requête :

Paramètre Description
snapshot facultatif. Le paramètre instantané est une valeur opaque DateTime qui, lorsqu’elle est présente, spécifie le instantané d’objet blob sur lequel définir un niveau. Pour plus d’informations sur l’utilisation des instantanés d’objets blob, consultez Créer un instantané d’un objet blob
versionid Facultatif pour les versions 2019-12-12 et ultérieures. Le versionid paramètre est une valeur opaque DateTime qui, lorsqu’il est présent, spécifie la version de l’objet blob sur laquelle définir un niveau.
timeout facultatif. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez Définir des délais d’attente pour les opérations de stockage Blob.

En-têtes de requête

Les en-têtes de requête obligatoires et facultatifs sont décrits dans le tableau suivant :

En-tête de requête Description
Authorization Obligatoire. Spécifie le schéma d’autorisation, le nom du compte de stockage et la signature. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure.
Date ou x-ms-date Obligatoire. Spécifie la date/heure en temps universel coordonné (UTC) pour la requête. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure.
x-ms-immutability-policy-until-date Obligatoire. Indique la rétention jusqu’à la date à définir sur l’objet blob. Il s’agit de la date jusqu’à laquelle l’objet blob peut être protégé contre la modification ou la suppression. Pour le stockage blob ou le compte v2 à usage général, les valeurs valides sont au format RFC1123. Les heures passées ne sont pas valides.
x-ms-immutability-policy-mode facultatif. Si elle n’est pas spécifiée, la valeur par défaut est Unlocked. Indique le mode de stratégie d’immuabilité à définir sur l’objet blob. Pour le stockage d’objets blob ou le compte v2 à usage général, les valeurs valides sont Unlocked/Locked. unlocked indique que l’utilisateur peut modifier la stratégie en augmentant ou en diminuant la rétention jusqu’à la date. locked indique que ces actions sont interdites.
x-ms-version Obligatoire pour toutes les demandes autorisées. Spécifie la version de l'opération à utiliser pour cette demande. Pour plus d'informations, consultez la page Contrôle de version pour les services de Stockage Microsoft Azure.
x-ms-client-request-id facultatif. Fournit une valeur opaque générée par le client avec une limite de caractères de 1 kibioctet (Kio) enregistrée dans les journaux lors de la configuration de la journalisation. Nous vous recommandons vivement d’utiliser cet en-tête pour mettre en corrélation les activités côté client avec les demandes reçues par le serveur. Pour plus d’informations, consultez Surveiller Stockage Blob Azure.

Cette opération prend également en charge l’utilisation d’en-têtes conditionnels pour définir l’objet blob uniquement si une condition spécifiée est remplie. Pour plus d’informations, consultez Spécifier des en-têtes conditionnels pour les opérations de stockage Blob.

Corps de la demande

Aucun.

response

La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.

Code d’état

Une opération réussie envoie le code d'état 200 (OK).

Pour plus d’informations sur les codes status, consultez État et codes d’erreur.

En-têtes de réponse

La réponse à cette opération inclut les en-têtes ci-dessous. La réponse peut aussi inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.

En-tête de réponse Description
x-ms-request-id Identifie de manière unique la demande qui a été effectuée et peut être utilisée pour résoudre la demande. Pour plus d’informations, consultez Résoudre les problèmes liés aux opérations d’API.
x-ms-version Indique la version du Stockage Blob qui a été utilisée pour exécuter la demande. Retourné pour les demandes effectuées sur les versions 2009-09-19 et ultérieures.
x-ms-client-request-id Peut être utilisé pour résoudre les demandes et les réponses correspondantes. La valeur de cet en-tête est égale à la valeur de l’en-tête x-ms-client-request-id s’il est présent dans la requête et que la valeur ne contient pas plus de 1 024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la demande, il ne sera pas présent dans la réponse.
x-ms-immutability-policy-until-date Indique la date de rétention jusqu’à définir sur l’objet blob. Il s’agit de la date jusqu’à laquelle l’objet blob peut être protégé contre la modification ou la suppression.
x-ms-immutability-policy-mode Indique le mode de stratégie d’immuabilité défini sur l’objet blob. Les valeurs sont unlocked et locked. Launlocked valeur indique que l’utilisateur peut modifier la stratégie en augmentant ou en diminuant la date de rétention jusqu’à , et locked indique que ces actions sont interdites.

Autorisation

Une autorisation est requise lors de l’appel d’une opération d’accès aux données dans Stockage Azure. Vous pouvez autoriser l’opération Set Blob Immutability Policy comme décrit ci-dessous.

Stockage Azure prend en charge l’utilisation de Microsoft Entra ID pour autoriser les demandes de données blob. Avec Microsoft Entra ID, vous pouvez utiliser le contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour accorder des autorisations à un principal de sécurité. Le principal de sécurité peut être un utilisateur, un groupe, un principal de service d’application ou une identité managée Azure. Le principal de sécurité est authentifié par Microsoft Entra ID pour retourner un jeton OAuth 2.0. Le jeton peut ensuite être utilisé pour autoriser une requête auprès du service BLOB.

Pour en savoir plus sur l’autorisation à l’aide de Microsoft Entra ID, consultez Autoriser l’accès aux objets blob à l’aide de Microsoft Entra ID.

Autorisations

Vous trouverez ci-dessous l’action RBAC nécessaire pour qu’un utilisateur, un groupe ou un principal de service Microsoft Entra appelle l’opérationSet Blob Immutability Policy, ainsi que le rôle RBAC Azure intégré le moins privilégié qui inclut cette action :

Pour en savoir plus sur l’attribution de rôles à l’aide d’Azure RBAC, consultez Attribuer un rôle Azure pour l’accès aux données d’objets blob.

Remarques

La définition de la stratégie d’immuabilité de l’objet blob sur un stockage d’objets blob ou un compte v2 à usage général présente les restrictions suivantes :

  • La définition d’une stratégie d’immuabilité sur un instantané ou une version est autorisée à compter de la version REST 2020-06-12.
  • Lorsque la stratégie d’immuabilité est en unlocked mode, les utilisateurs peuvent mettre à jour la rétention jusqu’à la date. Lorsque la stratégie d’immuabilité est en locked mode, les utilisateurs peuvent étendre la rétention jusqu’à la date uniquement. Le mode de stratégie d’immuabilité peut être modifié de unlocked à locked, mais pas de locked à unlocked.
  • Lorsqu’il existe une stratégie d’immuabilité sur un objet blob et qu’il existe également une stratégie d’immuabilité par défaut sur un conteneur ou un compte, la stratégie d’immuabilité d’objet blob a un précédent.
  • Pour une stratégie d’immuabilité au niveau de l’objet blob, PutBlockList/PutBlob/CopyBlob les opérations sont autorisées, car ces opérations génèrent une nouvelle version.
  • Lorsque la stratégie d’immuabilité est en mode, les utilisateurs peuvent supprimer la stratégie d’immuabilité à unlocked l’aide de l’API suivante :
Méthode URI de demande Version HTTP
Delete https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=immutabilityPolicies HTTP/1.1

Notes

Pour plus d’informations, consultez Stockage immuable.

Facturation

Les demandes de tarification peuvent provenir de clients qui utilisent les API Stockage Blob, soit directement via l’API REST Stockage Blob, soit à partir d’une bibliothèque cliente stockage Azure. Ces demandes accumulent des frais par transaction. Le type de transaction affecte la façon dont le compte est facturé. Par exemple, les transactions de lecture s’accumulent dans une catégorie de facturation différente de celle des transactions d’écriture. Le tableau suivant montre la catégorie de facturation pour Set Blob Immutability Policy les demandes en fonction du type de compte de stockage :

Opération Type de compte de stockage Catégorie de facturation
Définir la stratégie d’immuabilité des objets blob Objet blob de blocs Premium
Usage général v2 Standard
Usage général v1 standard
Autres opérations

Pour en savoir plus sur la tarification de la catégorie de facturation spécifiée, consultez tarification Stockage Blob Azure.

Voir aussi

Autoriser les demandes dans le Stockage Azure
Codes d’état et d’erreur
Codes d’erreur stockage Blob
Définir des délais d’attente pour les opérations de stockage Blob