Todos os produtos
Search
Central de documentação

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

Última atualização: Oct 09, 2026

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

ACLs de objetos

Um objeto possui quatro permissões de leitura e gravação:

Nota

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

Tipo de permissão

Descrição

Valor da permissão

Herdada do bucket

Se não configurar a ACL de um objeto, a ACL do objeto será igual à do bucket em que ele está armazenado.

Aliyun::OSS::ACL::DEFAULT

Privada

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

Aliyun::OSS::ACL::PRIVATE

Public-read

Somente o proprietário do objeto pode executar operações de gravação. Outros usuários, incluindo usuários anônimos, podem apenas ler o objeto.

Aviso

Isso pode causar acesso não autorizado e custos inesperados. Tenha cuidado ao usar esta ACL.

Aliyun::OSS::ACL::PUBLIC_READ

Public-read-write

Todos os usuários, incluindo usuários anônimos, podem executar operações de leitura e gravação no objeto.

Aviso

Esta ACL permite que todos os usuários acessem e gravem dados no objeto pela Internet. Isso pode causar acesso não autorizado, custos inesperados ou upload de conteúdo proibido. Não defina 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 a seguir mostra como configurar e obter 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 obter mais informações sobre a operação da API para configurar a ACL de um objeto, consulte PutObjectACL.

  • Para saber mais sobre a operação da API para consultar a ACL de um objeto, consulte GetObjectACL.