Todos los productos
Search
Centro de documentos

Object Storage Service:PutObjectACL

Última actualización: Sep 03, 2026

Modifica la lista de control de acceso (ACL) de un objeto. Solo el propietario del bucket con permisos de lectura y escritura sobre el objeto puede invocar esta operación.

Control de versiones

De forma predeterminada, PutObjectACL configura la ACL de la versión actual de un objeto. Puede especificar un ID de versión para configurar la ACL de una versión específica.

  • Si la versión especificada es un marcador de eliminación, OSS devuelve 405 MethodNotAllowed.

  • Si no se especifica ningún ID de versión y la versión más reciente es un marcador de eliminación, OSS devuelve 404 NoSuchKey.

Descripción general de las ACL

La operación PutObjectACL establece el encabezado x-oss-object-acl para configurar la ACL de un objeto. La siguiente tabla describe los valores válidos de ACL.

ACL

Descripción

private

Solo el propietario del objeto tiene permisos de lectura y escritura. Los demás usuarios no pueden acceder al objeto.

public-read

El propietario del objeto tiene permisos de lectura y escritura. Los demás usuarios tienen acceso de solo lectura.

public-read-write

Todos los usuarios tienen permisos de lectura y escritura sobre el objeto.

default

El objeto hereda la ACL de su bucket.

Nota
  • Las ACL de objeto tienen prioridad sobre las ACL de bucket. Por ejemplo, un objeto con configuración public-read-write dentro de un bucket privado es accesible para todos los usuarios. Si no se define una ACL de objeto, este hereda la ACL del bucket.

  • Operaciones de lectura: GetObject, HeadObject, CopyObject y UploadPartCopy. CopyObject y UploadPartCopy leen el objeto de origen. Operaciones de escritura: PutObject, PostObject, AppendObject, DeleteObject, DeleteMultipleObjects, CompleteMultipartUpload y CopyObject. CopyObject escribe en el objeto de destino.

  • Puede incluir el encabezado x-oss-object-acl en operaciones de escritura para establecer la ACL del objeto. Por ejemplo, incluya x-oss-object-acl en una solicitud PutObject para definir la ACL del objeto cargado.

Permisos

De forma predeterminada, una cuenta de Alibaba Cloud cuenta con todos los permisos. Los usuarios de RAM o los roles de RAM bajo una cuenta de Alibaba Cloud no tienen ningún permiso por defecto. La cuenta de Alibaba Cloud o el administrador de la cuenta debe otorgar los permisos de operación mediante RAM policies o Bucket Policy.

API

Action

Descripción

PutObjectACL

oss:PutObjectAcl

Modifica la ACL de un objeto en un bucket.

oss:PutObjectVersionAcl

Modifica la ACL de una versión específica de un objeto.

Sintaxis

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

Encabezados de solicitud

Encabezado

Tipo

Obligatorio

Ejemplo

Descripción

x-oss-object-acl

String

Sí

public-read

La ACL del objeto.

Valores válidos:

  • default (predeterminado): El objeto hereda la ACL de su bucket.

  • private: Solo el propietario del objeto y los usuarios autorizados tienen permisos de lectura y escritura.

  • public-read: El propietario del objeto y los usuarios autorizados tienen permisos de lectura y escritura. Los demás usuarios tienen acceso de solo lectura. Tenga precaución al utilizar esta ACL.

  • public-read-write: Todos los usuarios tienen permisos de lectura y escritura. Tenga precaución al utilizar esta ACL.

Para obtener más información, consulte Object ACLs.

Para obtener más información sobre los encabezados de solicitud comunes en una petición PutObjectACL, como Host y Date, consulte Common request headers.

Encabezados de respuesta

La respuesta a una solicitud PutObjectACL contiene únicamente encabezados de respuesta comunes. Para obtener más información, consulte Common response headers.

Ejemplos

  • Modificar la ACL de un objeto en un bucket sin control de versiones

    Solicitud de ejemplo

    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

    Respuesta de ejemplo

    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
  • Modificar la ACL de un objeto en un bucket con control de versiones

    Solicitud de ejemplo

    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

    Respuesta de ejemplo

    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

SDK de OSS

Los siguientes SDK de OSS admiten PutObjectACL:

ossutil

Para obtener información sobre el comando de ossutil correspondiente a la operación PutObjectACL, consulte put-object-acl.

Códigos de error

Código de error

Código de estado HTTP

Descripción

AccessDenied

403

No es el propietario del bucket o carece de permisos de lectura y escritura sobre el objeto.

InvalidArgument

400

El valor especificado para x-oss-object-acl no es válido.

FileAlreadyExists

409

El objeto de destino es un directorio en un bucket con namespace jerárquico.