Tous les produits
Search
Centre de documentation

Object Storage Service:PutObjectACL

Dernière mise à jour :Aug 18, 2026

Modifie la liste de contrôle d'accès (ACL) d'un objet. Seul le propriétaire du bucket disposant des autorisations de lecture et d'écriture sur l'objet peut appeler cette opération.

Versioning

Par défaut, PutObjectACL configure l'ACL de la version actuelle d'un objet. Spécifiez un ID de version pour configurer l'ACL d'une version spécifique.

  • Si la version spécifiée est un marqueur de suppression, OSS renvoie l'erreur 405 MethodNotAllowed.

  • Si aucun ID de version n'est spécifié et que la dernière version est un marqueur de suppression, OSS renvoie l'erreur 404 NoSuchKey.

ACL overview

L'opération PutObjectACL définit l'en-tête x-oss-object-acl pour configurer l'ACL d'un objet. Le tableau suivant décrit les valeurs d'ACL valides.

ACL

Description

private

Seul le propriétaire de l'objet dispose des autorisations de lecture et d'écriture. Les autres utilisateurs ne peuvent pas accéder à l'objet.

public-read

Le propriétaire de l'objet dispose des autorisations de lecture et d'écriture. Les autres utilisateurs ont un accès en lecture seule.

public-read-write

Tous les utilisateurs disposent des autorisations de lecture et d'écriture sur l'objet.

default

L'objet hérite de l'ACL de son bucket.

Remarque
  • Les ACL des objets sont prioritaires sur les ACL des buckets. Par exemple, un objet public-read-write dans un bucket privé est accessible à tous les utilisateurs. Si aucune ACL d'objet n'est définie, l'objet hérite de l'ACL du bucket.

  • Opérations de lecture : GetObject, HeadObject, CopyObject et UploadPartCopy. CopyObject et UploadPartCopy lisent l'objet source. Opérations d'écriture : PutObject, PostObject, AppendObject, DeleteObject, DeleteMultipleObjects, CompleteMultipartUpload et CopyObject. CopyObject écrit l'objet de destination.

  • Incluez l'en-tête x-oss-object-acl dans les opérations d'écriture pour définir l'ACL de l'objet. Par exemple, incluez x-oss-object-acl dans une requête PutObject pour définir l'ACL de l'objet téléchargé.

Permissions

Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. Les utilisateurs RAM ou les rôles RAM sous un compte Alibaba Cloud ne disposent d'aucune autorisation par défaut. Le compte Alibaba Cloud ou l'administrateur du compte doit accorder les autorisations d'opération via des stratégies RAM ou une Bucket Policy.

API

Action

Description

PutObjectACL

oss:PutObjectAcl

Modifie l'ACL d'un objet dans un bucket.

oss:PutObjectVersionAcl

Modifie l'ACL d'une version spécifique d'un objet.

Syntax

PUT /ObjectName?acl HTTP/1.1
x-oss-object-acl: Permission
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue

Request headers

Header

Type

Required

Example

Description

x-oss-object-acl

String

Yes

public-read

L'ACL de l'objet.

Valeurs valides :

  • default (par défaut) : L'objet hérite de l'ACL de son bucket.

  • private : Seul le propriétaire de l'objet et les utilisateurs autorisés disposent des autorisations de lecture et d'écriture.

  • public-read : Le propriétaire de l'objet et les utilisateurs autorisés disposent des autorisations de lecture et d'écriture. Les autres utilisateurs ont un accès en lecture seule. Soyez prudent lorsque vous utilisez cette ACL.

  • public-read-write : Tous les utilisateurs disposent des autorisations de lecture et d'écriture. Soyez prudent lorsque vous utilisez cette ACL.

Pour plus d'informations, consultez Object ACLs.

Pour plus d'informations sur les en-têtes de requête communs dans une requête PutObjectACL, tels que Host et Date, consultez Common request headers.

Response headers

La réponse à une requête PutObjectACL contient uniquement des en-têtes de réponse communs. Pour plus d'informations, consultez Common response headers.

Examples

  • Modifier l'ACL d'un objet dans un bucket sans versioning

    Exemple de requête

    PUT /test-object?acl HTTP/1.1
    x-oss-object-acl: public-read
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Wed, 29 Apr 2015 05:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

    Exemple de réponse

    HTTP/1.1 200 OK
    x-oss-request-id: 559CC9BDC755F95A64485981
    Date: Wed, 29 Apr 2015 05:21:12 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
  • Modifier l'ACL d'un objet dans un bucket avec versioning

    Exemple de requête

    PUT /example?acl&versionId=CAEQMhiBgIC3rpSD0BYiIDBjYTk5MmIzN2JlNjQxZTFiNGIzM2E3OTliODA0**** HTTP/1.1
    x-oss-object-acl: public-read
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 06:30:11 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

    Exemple de réponse

    HTTP/1.1 200 OK
    x-oss-version-id: CAEQMhiBgIC3rpSD0BYiIDBjYTk5MmIzN2JlNjQxZTFiNGIzM2E3OTliODA0****
    x-oss-request-id: 5CAC3BF3B7AEADE017000624
    Date: Tue, 09 Apr 2019 06:30:11 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS

OSS SDKs

Les SDK OSS suivants prennent en charge PutObjectACL :

ossutil

Pour obtenir des informations sur la commande ossutil correspondant à l'opération PutObjectACL, consultez put-object-acl.

Error codes

Error code

HTTP status code

Description

AccessDenied

403

Vous n'êtes pas le propriétaire du bucket ou vous ne disposez pas des autorisations de lecture et d'écriture sur l'objet.

InvalidArgument

400

La valeur x-oss-object-acl spécifiée n'est pas valide.

FileAlreadyExists

409

L'objet cible est un répertoire dans un bucket avec namespace hiérarchique.