Set Table ACL

L'opération Set Table ACL définit les stratégies d'accès stockées pour la table qui peuvent être utilisées avec des signatures d'accès partagé. Pour plus d’informations, consultez définir une stratégie d’accès stockée.

Notes

L'opération Set Table ACL est disponible dans la version du 12/02/2012 et ultérieure.

Notes

Une liste de contrôle d'accès (ACL) est une liste d'entrées de contrôle d'accès (ACE). Chaque ACE dans une ACL identifie un tiers de confiance et spécifie les droits d'accès autorisés, refusés ou audités pour ce tiers de confiance. Pour plus d’informations, consultez Access Control Lists.

Requête

La demande Set Table ACL peut être construite comme indiqué ci-dessous. HTTPS est recommandé. Remplacez moncompte par le nom de votre compte de stockage :

Méthode URI de demande Version HTTP
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1

URI du service de stockage émulé

Lorsque vous élaborez une demande pour le service de stockage émulé, spécifiez le nom d'hôte de l'émulateur et le port de service de Table sous la forme 127.0.0.1:10002, suivi du nom de compte de stockage émulé :

Méthode URI de demande Version HTTP
PUT http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl HTTP/1.1

pour plus d’informations, consultez différences entre les Services Stockage Emulator et stockage Azure.

Paramètres URI

Les paramètres supplémentaires suivants peuvent être spécifiés dans l'URI de la demande.

Paramètre Description
timeout facultatif. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez définition de délais d’attente pour les opérations de service de table.

En-têtes de requête

Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.

En-tête de requête Description
Authorization Obligatoire. Spécifie le schéma d’autorisation, le nom de compte et la signature. pour plus d’informations, consultez autoriser les demandes à 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 demandes à stockage Azure.
x-ms-version Facultatif. Spécifie la version de l'opération à utiliser pour cette demande. pour plus d’informations, consultez contrôle de version pour les Services stockage Azure.
x-ms-client-request-id Facultatif. Fournit une valeur opaque générée par le client avec une limite de 1 Kio de caractères qui est enregistrée dans les journaux d’analyse lorsque la journalisation de l’analyse de stockage est activée. L’utilisation de cet en-tête est fortement recommandée pour la mise en corrélation des activités côté client avec les requêtes reçues par le serveur. pour plus d’informations, consultez à propos de la journalisation des Storage Analytics et de la journalisation Azure : utilisation des journaux pour suivre les demandes de Stockage.

Corps de la demande

Pour spécifier une stratégie d'accès stockée, indiquez un identificateur unique et une stratégie d'accès dans le corps de la demande pour l'opération Set Table ACL.

L'élément SignedIdentifier comprend l'identificateur unique, comme indiqué dans l'élément Id, et les détails de la stratégie d'accès, comme indiqué dans l'élément AccessPolicy. La longueur maximale de l'identificateur unique est de 64 caractères.

Les champs Start et Expiry doivent être exprimés en heures UTC et doivent être dans un format ISO 8061 valide. Les formats ISO 8061 pris en charge sont notamment :

  • YYYY-MM-DD

  • YYYY-MM-DDThh:mmTZD

  • YYYY-MM-DDThh:mm:ssTZD

  • YYYY-MM-DDThh:mm:ss.ffffffTZD

Pour la partie date de ces formats, YYYY est une représentation de l'année à quatre chiffres, MM est une représentation du mois à deux chiffres et DD est une représentation du jour à deux chiffres. Pour la partie heure, hh est la représentation de l'heure au format 24 heures, mm est la représentation des minutes à deux chiffres, ss est la représentation des secondes à deux chiffres et ffffff est la représentation des millisecondes à six chiffres. Un indicateur de temps T sépare les parties date et heure de la chaîne, et un indicateur de fuseau horaire TZD spécifie un fuseau horaire.

<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>unique-64-character-value</Id>  
    <AccessPolicy>  
      <Start>start-time</Start>  
      <Expiry>expiry-time</Expiry>  
      <Permission>abbreviated-permission-list</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Exemple de demande

Request Syntax:  
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1  
  
Request Headers:  
x-ms-version: 2013-08-15  
x-ms-date: Mon, 25 Nov 2013 00:42:49 GMT  
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2013-11-26T08:49:37.0000000Z</Start>  
      <Expiry>2013-11-27T08:49:37.0000000Z</Expiry>  
      <Permission>raud</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Réponse

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 renvoie le code d'état 204 (Aucun contenu).

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

En-têtes de réponse

La réponse de l'opération inclut les en-têtes suivants. 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 Cet en-tête identifie de façon unique la demande qui a été effectuée et peut être utilisé pour résoudre les problèmes de la demande. Pour plus d’informations, consultez Dépannage des opérations d’API .
x-ms-version Indique la version du service de Table utilisée pour exécuter la demande. Cet en-tête est renvoyé pour les demandes effectuées avec la version 2009-09-19 ou une version ultérieure.
Date Une valeur de date/heure UTC générée par le service qui indique le moment auquel la réponse a été initiée.
x-ms-client-request-id Cet en-tête peut être utilisé pour dépanner les demandes et les réponses correspondantes. La valeur de cet en-tête est égale à la valeur de l' x-ms-client-request-id en-tête si elle est présente dans la demande et que la valeur est supérieure à 1024 caractères ASCII visibles. Si l' x-ms-client-request-id en-tête n’est pas présent dans la demande, cet en-tête ne sera pas présent dans la réponse.

Exemple de réponse

Response Status:  
HTTP/1.1 204 No Content  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: Mon, 25 Nov 2013 22:42:55 GMT  
x-ms-version: 2013-08-15  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
  

Autorisation

Seul le propriétaire du compte peut appeler cette opération.

Remarques

Seul le propriétaire du compte peut accéder aux ressources d'une table donnée, sauf si le propriétaire a émis une signature d'accès partagé pour une ressource au sein de la table.

Quand vous définissez des autorisations pour une table, les autorisations existantes sont remplacées. Pour mettre à jour les autorisations de la table, appelez obtenir la liste de contrôle d’accès de la table pour extraire toutes les stratégies d’accès associées à la table, modifier la stratégie d’accès que vous souhaitez modifier, puis appeler Set Table ACL avec l’ensemble complet de données pour effectuer la mise à jour.

Définition des stratégies d'accès stockées

Une stratégie d'accès stockée peut spécifier l'heure de début, l'heure d'expiration et les autorisations pour les signatures d'accès partagé auxquelles elle est associée. Selon la façon dont vous voulez contrôler l'accès aux ressources de votre table, vous pouvez spécifier tous ces paramètres au sein de la stratégie d'accès stockée et les omettre de l'URL pour la signature d'accès partagé. De cette façon, vous pouvez modifier le comportement de la signature associée à tout moment, de même que la révoquer. Vous pouvez aussi spécifier un ou plusieurs paramètres de stratégie d'accès dans la stratégie d'accès stockée et les autres dans l'URL. Enfin, vous pouvez spécifier tous les paramètres dans l'URL. Dans ce cas, vous pouvez utiliser la stratégie d'accès stockée pour révoquer la signature et non pour modifier son comportement. Pour plus d’informations sur la définition de stratégies d’accès, consultez définir une stratégie d’accès stockée .

La signature d’accès partagé et la stratégie d’accès stockée doivent inclure tous les champs requis pour autoriser la signature. Si les champs obligatoires sont manquants, la demande échoue. De même, si un champ est spécifié dans l'URL de signature d'accès partagé et dans la stratégie d'accès stockée, la demande échoue avec le code d'état 400 (Requête incorrecte). Consultez créer une SAP de service pour plus d’informations sur les champs qui composent une signature d’accès partagé.

Notez qu'un maximum de cinq stratégies d'accès séparées peuvent être définies pour une table à un moment donné. Si plus de cinq stratégies d'accès sont passées dans le corps de la demande, le service renvoie le code d'état 400 (Demande incorrecte).

Notes

Lorsque vous établissez une stratégie d'accès stockée sur une table, son application peut prendre trente secondes. Au cours de cet intervalle, une signature d'accès partagé associée à la stratégie d'accès stockée échoue avec le code d'état 403 (Forbidden), jusqu'à ce que la stratégie d'accès devienne active.

Voir aussi

Définir une stratégie d’accès stockée
Créer et utiliser une signature d’accès partagé
Déléguer l’accès avec une signature d’accès partagé
Obtient la liste de contrôle d’accès de table
autoriser les demandes à stockage Azure
Codes d’État et d’erreur