Todos os produtos
Search
Central de documentação

Object Storage Service:set-acl (Set or modify ACLs)

Última atualização: Sep 09, 2026

Uma lista de controle de acesso (ACL) é uma política que concede permissões de acesso a buckets e objetos. Defina uma ACL ao criar um bucket ou carregar um objeto, ou modifique-a a qualquer momento. Use o comando set-acl para definir ou modificar a ACL de um bucket ou objeto.

Observações de uso

  • Para definir ou modificar a ACL de um bucket, você precisa da permissão oss:PutBucketAcl. Para definir ou modificar a ACL de um objeto, é necessária a permissão oss:PutObjectAcl. Já para modificar as ACLs de vários objetos em lote, são exigidas as permissões oss:PutObjectAcl e oss:ListObjects. Para mais informações, consulte Grant custom permissions to a RAM user.

  • A partir da versão 1.6.16 do ossutil, use o nome do binário diretamente na linha de comando, sem precisar renomeá-lo conforme o sistema operacional. Caso utilize uma versão anterior à 1.6.16, será necessário renomear o binário de acordo com seu sistema operacional. Para mais detalhes, veja ossutil command reference.

Definir ou modificar a ACL de um bucket

  • Sintaxe do comando

    ossutil set-acl oss://bucketname acl -b [--retry-times <value>]

    A tabela a seguir descreve os parâmetros e opções.

    Item de configuração

    Descrição

    bucketname

    Nome do bucket cuja ACL você deseja definir ou modificar.

    acl

    ACL do bucket. Valores válidos:

    • private (padrão): Somente o proprietário do bucket pode ler e gravar objetos nele. Outros usuários não têm acesso aos objetos do bucket.

    • public-read: Apenas o proprietário do bucket pode gravar objetos. Demais usuários, incluindo anônimos, conseguem somente ler os objetos. Essa configuração pode causar vazamento de dados e custos inesperadamente altos. Se alguém fizer upload de conteúdo proibido, seus direitos legais podem ser violados. Evite configurar a ACL como public-read, a menos que seja estritamente necessário.

    • public-read-write: Todos os usuários, inclusive anônimos, podem ler e gravar objetos no bucket. Isso pode resultar em vazamento de dados e cobranças elevadas. Tenha cautela ao definir a ACL como public-read-write.

    -b

    Por padrão, este comando define a ACL de um objeto. Para aplicar a configuração a um bucket, inclua esta opção.

    --retry-times

    Número de tentativas em caso de erro. Valor padrão: 10. Intervalo válido: 1 a 500.

  • Exemplo

    Defina a ACL do bucket examplebucket como private.

    ossutil set-acl oss://examplebucket private -b   

Definir ou modificar a ACL de um objeto

  • Sintaxe do comando

    ossutil set-acl oss://bucketname[/prefix] acl
    [-r]
    [--include <value>] 
    [--exclude <value>]
    [--version-id <value>]
    [--job <value>] 
    [--retry-times <value>]
    [--encoding-type <value>]

    A tabela abaixo detalha os parâmetros e opções disponíveis.

    Item de configuração

    Descrição

    bucketname

    Nome do bucket.

    prefix

    Recurso dentro do bucket, como uma pasta ou arquivo.

    acl

    ACL do objeto. Valores válidos:

    • default: O objeto herda a ACL do bucket.

    • private (padrão): Apenas o proprietário do bucket tem permissão para ler e gravar o objeto. Outros usuários não podem acessá-lo.

    • public-read: A gravação é restrita ao proprietário do bucket. Qualquer outro usuário, mesmo anônimo, consegue apenas ler o objeto. Tal configuração pode gerar vazamento de dados e despesas imprevistas. Além disso, uploads de conteúdo proibido por terceiros podem infringir seus direitos legais. Configure como public-read somente se for indispensável.

    • public-read-write: Permite que todos os usuários, incluindo anônimos, leiam e gravem o objeto. Existe risco de vazamento de dados e custos elevados. Use essa configuração com extrema cautela.

    -r

    Define recursivamente a ACL para todos os objetos correspondentes ao prefixo especificado. Sem essa opção, o ossutil aplica a alteração apenas ao objeto único indicado na URL da cloud.

    --include

    Inclui exclusivamente os objetos que atendem às condições definidas.

    Para mais informações, consulte --include and --exclude options.

    --exclude

    Exclui os objetos que correspondem às condições especificadas.

    Para mais informações, consulte --include and --exclude options.

    --version-id

    ID da versão do objeto. Esta opção aplica-se apenas a objetos em buckets com versionamento ativado ou suspenso.

    --job

    Quantidade de tarefas simultâneas para operações em lote. Valor padrão: 3. Intervalo válido: 1 a 10000.

    --retry-times

    Número de novas tentativas caso ocorra falha. Valor padrão: 10. Intervalo válido: 1 a 500.

    --encoding-type

    Tipo de codificação do prefixo após oss://bucket_name. Defina o valor como url. Se você não especificar esta opção, o prefixo não será codificado.

  • Exemplos

    • Configure a ACL do objeto exampleobject.txt, localizado no bucket examplebucket, como private.

      ossutil set-acl oss://examplebucket/exampleobject.txt private
    • Altere a ACL de uma versão específica (CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****) do objeto exampleobject.txt no bucket examplebucket para private.

      ossutil set-acl oss://examplebucket/exampleobject.txt private --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
    • Aplique a ACL default a todos os objetos com o prefixo test dentro do bucket examplebucket.

      ossutil set-acl oss://examplebucket/test default -r
    • Defina a ACL como private para todos os arquivos com extensão .jpg no bucket examplebucket.

      ossutil set-acl oss://examplebucket private --include "*.jpg" -r
    • Configure a ACL como default para todos os objetos no bucket examplebucket que contenham abc no nome, exceto aqueles com extensão .png ou .txt.

      ossutil set-acl oss://examplebucket default --include "*abc*" --exclude "*.png" --exclude "*.txt" -r

Opções comuns

Para acessar um bucket em outra região, utilize -e para especificar o endpoint. Quando precisar acessar um bucket pertencente a outra conta Alibaba Cloud, informe o AccessKey ID com -i e o AccessKey secret com -k.

Por exemplo, para definir a ACL de um bucket chamado testbucket como private, execute o comando abaixo. O bucket está localizado na região China (Shanghai) e pertence a outra conta Alibaba Cloud.

ossutil set-acl oss://testbucket private -b -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID  -k yourAccessKeySecret

Common options.