Todos os produtos
Search
Central de documentação

Object Storage Service:PutObjectACL

Última atualização: Jul 03, 2026

Modifique a lista de controle de acesso (ACL) de um objeto. Somente o proprietário do bucket com permissões de leitura e gravação no objeto pode chamar esta operação.

Versionamento

Por padrão, o PutObjectACL configure a ACL da versão atual de um objeto. Especifique um ID de versão para configurar a ACL de uma versão específica.

  • Se a versão especificada for um marcador de exclusão, o OSS retornará 405 MethodNotAllowed.

  • Caso nenhum ID de versão seja especificado e a versão mais recente seja um marcador de exclusão, o OSS retornará 404 NoSuchKey.

Visão geral da ACL

A operação PutObjectACL defina o cabeçalho x-oss-object-acl para configurar a ACL de um objeto. A tabela a seguir descreve os valores válidos de ACL.

ACL

Descrição

private

Apenas o proprietário do objeto tem permissões de leitura e gravação. Outros usuários não podem acessar o objeto.

public-read

O proprietário do objeto tem permissões de leitura e gravação. Outros usuários têm acesso somente leitura.

public-read-write

Todos os usuários têm permissões de leitura e gravação no objeto.

default

O objeto herda a ACL do bucket.

Nota
  • As ACLs de objeto têm precedência sobre as ACLs de bucket. Por exemplo, um objeto public-read-write em um bucket privado é acessível a todos os usuários. Se nenhuma ACL de objeto estiver definida, o objeto herdará a ACL do bucket.

  • Operações de leitura: GetObject, HeadObject, CopyObject e UploadPartCopy. CopyObject e UploadPartCopy leem o objeto source. Operações de gravação: PutObject, PostObject, AppendObject, DeleteObject, DeleteMultipleObjects, CompleteMultipartUpload e CopyObject. CopyObject grava no objeto de destino.

  • Inclua o cabeçalho x-oss-object-acl nas operações de gravação para definir a ACL do objeto. Por exemplo, inclua x-oss-object-acl em uma solicitação PutObject para definir a ACL do objeto carregado.

Permissões

Por padrão, uma conta Alibaba Cloud tem permissões totais. Usuários RAM ou funções RAM vinculados a uma conta Alibaba Cloud não possuem permissões por padrão. A conta Alibaba Cloud ou o administrador da conta deve conceder permissões de operação por meio de políticas do RAM ou Bucket Policy.

API

Action

Descrição

PutObjectACL

oss:PutObjectAcl

Modifique a ACL de um objeto em um bucket.

oss:PutObjectVersionAcl

Modifique a ACL de uma versão específica de um objeto.

Sintaxe

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

Cabeçalhos da solicitação

Cabeçalho

Tipo

Obrigatório

Exemplo

Descrição

x-oss-object-acl

String

Sim

public-read

A ACL do objeto.

Valores válidos:

  • default (padrão): O objeto herda a ACL do bucket.

  • private: Apenas o proprietário do objeto e usuários autorizados têm permissões de leitura e gravação.

  • public-read: O proprietário do objeto e usuários autorizados têm permissões de leitura e gravação. Outros usuários têm acesso somente leitura. Tenha cuidado ao usar esta ACL.

  • public-read-write: Todos os usuários têm permissões de leitura e gravação. Tenha cuidado ao usar esta ACL.

Para mais informações, consulte ACLs de objetos.

Para obter mais informações sobre os cabeçalhos comuns de solicitação em uma requisição PutObjectACL, como Host e Date, consulte Cabeçalhos comuns de solicitação.

Cabeçalhos da resposta

A resposta a uma solicitação PutObjectACL contém apenas cabeçalhos comuns de resposta. Para mais informações, consulte Cabeçalhos comuns de resposta.

Exemplos

  • Modificar a ACL de um objeto em um bucket sem versionamento

    Solicitação de exemplo

    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

    Resposta de exemplo

    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 a ACL de um objeto em um bucket com versionamento

    Solicitação de exemplo

    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

    Resposta de exemplo

    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

SDKs do OSS

Os seguintes SDKs do OSS oferecem suporte ao PutObjectACL:

ossutil

Para obter informações sobre o comando ossutil correspondente à operação PutObjectACL, consulte put-object-acl.

Códigos de erro

Código de erro

Código de status HTTP

Descrição

AccessDenied

403

Você não é o proprietário do bucket ou não possui permissões de leitura e gravação no objeto.

InvalidArgument

400

O valor especificado para x-oss-object-acl é inválido.

FileAlreadyExists

409

O objeto de destino é um diretório em um bucket com namespace hierárquico.