Définir les LCA du bucket

Pour définir ou modifier les LCA d'un bucket existant, exécutez une requête PUT limitée au bucket et utilisez le paramètre de chaîne de requête acl. Vous devez inclure un document XML dans le corps de la requête contenant les paramètres de LCA à appliquer. Sachez que vous ne pouvez pas définir les LCA sur un bucket que vous créez. Lorsque vous créez un bucket, la LCA par défaut (projet privé) est automatiquement appliquée au bucket.

Vous devez disposer de l'autorisation FULL_CONTROL pour appliquer des LCA à un bucket existant. Vous devez également vous authentifier pour utiliser la méthode PUT Bucket. Les requêtes de création de buckets anonymes échouent.

Paramètres de la chaîne de requête

Paramètre Description Requis
acl Il permet de modifier les LCA d'un bucket existant. Vous devez fournir le document XML de la LCA dans le corps de la requête. Non

Pour en savoir plus sur les paramètres à inclure lors de la création et de l'utilisation d'URL signées, consultez la section Paramètres des chaînes de requête d'URL signée.

En-têtes de requête

Voir les en-têtes de requêtes courants.

Éléments du corps de la requête

Les éléments de corps de requête suivants ne sont disponibles que si vous utilisez le paramètre de chaîne de requête acl pour appliquer des LCA à un bucket existant.

Élément Description
Owner Conteneur pour les informations du propriétaire du bucket.
ID ID Google Storage du propriétaire du bucket ou de l'utilisateur Google Storage de l'utilisateur ou du groupe pour lequel les LCA sont appliquées.
Name Champ de commentaire pour GroupByEmail, GroupById, UserByEmail et UserById. Si vous ne spécifiez rien dans Name lorsque vous appliquez une LCA, le système Cloud Storage renseigne ce champ avec l'adresse e-mail que vous avez spécifiée dans EmailAddress.
AccessControlList Conteneur pour les LCA que vous appliquez.
Entries Conteneur des entrées de LCA que vous appliquez.
Entry Entrée de la LCA que vous appliquez.
Scope Champ d'application auquel les LCA s'appliquent.
Permission L'autorisation que vous accordez. Il peut s'agir de n'importe quelle autorisation Cloud Storage, y compris READ, WRITE ou FULL_CONTROL.
EmailAddress L'adresse e-mail d'un compte Google ou celle d'un groupe Google.
Domain Un espace de travail Google ou un domaine Cloud Identity.

Syntaxe des requêtes

PUT /?acl HTTP/1.1
Host: BUCKET_NAME.storage.googleapis.com
Date: DATE
Content-Length: REQUEST_BODY_LENGTH
Content-Type: MIME_TYPE_OF_THE_BODY
Authorization: AUTHENTICATION_STRING

XML_DOCUMENT_DEFINING_ACLS

En-têtes de réponse

La requête peut renvoyer divers en-têtes de réponse en fonction des en-têtes de requête que vous utilisez.

Éléments du corps de la réponse

La réponse n'inclut pas de document XML dans le corps de la réponse.

Exemple

L'exemple suivant applique des LCA à un bucket nommé "acme-pets". Les LCA accordent l'autorisation WRITE aux membres de Google Storage (un groupe Google). L'autorisation WRITE du groupe permet à chaque membre du groupe d'importer des objets dans le bucket "acme-pets", de supprimer des objets du bucket "acme-pets" et de répertorier les objets dans le bucket "acme-pets". Les LCA accordent également à jane@gmail.com FULL_CONTROL le bucket acme-pets, ce qui permet à Jane d'importer des objets, de supprimer des objets, de les répertorier et de modifier des LCA sur le bucket acme-pets. s'affiche en haut de l'écran.

Requête

PUT /?acl HTTP/1.1
Host: acme-pets.storage.googleapis.com
Date: Thu, 10 Jun 2010 03:38:42 GMT
Content-Length: 705
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg

<?xml version="1.0" encoding="UTF-8"?>
<AccessControlList>
  <Owner>
  <ID>84fac329bceSAMPLE777d5d22b8SAMPLE77d85ac2SAMPLE2dfcf7c4adf34da46</ID>
    <Name></Name>
  </Owner>
  <Entries>
    <Entry>
      <Scope type="UserById">
        <ID>84fac329bceSAMPLE777d5d22b8SAMPLE77d85ac2SAMPLE2dfcf7c4adf34da46</ID>
        <Name></Name>
      </Scope>
      <Permission>FULL_CONTROL</Permission>
    </Entry>
    <Entry>
      <Scope type="UserByEmail">
        <EmailAddress>jane@gmail.com</EmailAddress>
        <Name></Name>
      </Scope>
      <Permission>FULL_CONTROL</Permission>
    </Entry>
    <Entry>
      <Scope type="GroupByEmail">
        <EmailAddress>gs-discussion@googlegroups.com</EmailAddress>
      </Scope>
      <Permission>WRITE</Permission>
    </Entry>
  </Entries>
</AccessControlList>