Todos os produtos
Search
Central de documentação

Object Storage Service:Manage file access permissions (Ruby SDK)

Última atualização: Jul 03, 2026

Além das listas de controle de acesso (ACLs) no nível do bucket, o Object Storage Service (OSS) oferece ACLs no nível do objeto. Configure a ACL de um objeto durante o upload ou modifique-a posteriormente.

ACLs de objeto

Um objeto possui quatro tipos de permissão de leitura e escrita:

Nota

A ACL de um objeto tem precedência sobre a ACL do bucket onde ele está armazenado. Por exemplo, se a ACL de um objeto em um bucket privado for definida como public-read, todos os usuários, incluindo anônimos, poderão ler esse objeto.

Tipo de permissão

Descrição

Valor da permissão

Herdada do bucket

Se você não configurar a ACL de um objeto, ela será igual à ACL do bucket onde o objeto está armazenado.

Aliyun::OSS::ACL::DEFAULT

Private

Somente o proprietário do objeto pode executar operações de leitura e escrita nele. Outros usuários não têm acesso ao objeto.

Aliyun::OSS::ACL::PRIVATE

Public-read

Apenas o proprietário do objeto pode executar operações de escrita. Demais usuários, inclusive anônimos, têm permissão somente para leitura.

Aviso

Isso pode resultar em acesso não autorizado e custos inesperados. Tenha cautela ao utilizar esta ACL.

Aliyun::OSS::ACL::PUBLIC_READ

Public-read-write

Qualquer usuário, incluindo anônimos, pode ler e escrever no objeto.

Aviso

Esta ACL permite que todos os usuários acessem e gravem dados no objeto pela internet, o que pode causar acessos não autorizados, custos imprevistos ou envio de conteúdo proibido. Evite definir a ACL do objeto como public-read-write, a menos que seja estritamente necessário.

Aliyun::OSS::ACL::PUBLIC_READ_WRITE

Exemplos

O código abaixo demonstra como configurar e consultar a ACL de um objeto:

require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
  # The China (Hangzhou) region is used as an example. Replace the endpoint with the one for your region.
  endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
  # Obtain access credentials from environment variables. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
  access_key_id: ENV['OSS_ACCESS_KEY_ID'],
  access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Specify the bucket name. For example, examplebucket.
bucket = client.get_bucket('examplebucket')
# Specify the full path of the object. The full path cannot contain the bucket name. For example, exampledir/example.txt.
# Get the ACL of the object that is set during the upload.
acl = bucket.get_object_acl('exampledir/example.txt')
puts acl
# Modify the ACL of the object.
bucket.set_object_acl('exampledir/example.txt', Aliyun::OSS::ACL::PUBLIC_READ)
acl = bucket.get_object_acl('exampledir/example.txt')
puts acl                

Referências

  • Para mais detalhes sobre a operação de API usada para configurar a ACL de um objeto, consulte PutObjectACL.

  • Para obter informações sobre a operação de API destinada a consultar a ACL de um objeto, consulte GetObjectACL.