Tüm Ürünler
Search
Belge Merkezi

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

Son Güncelleme:Oct 09, 2026

Object Storage Service (OSS), paket düzeyindeki erişim kontrol listelerine (ACL) ek olarak nesne düzeyinde ACL'ler de sunar. Bir nesneyi yüklerken ACL'sini yapılandırabilir veya yükleme sonrasında ACL'sini değiştirebilirsiniz.

Nesne ACL'leri

Bir nesnenin dört okuma/yazma izni bulunur:

Not

Nesnenin ACL'si, nesnenin depolandığı paketin ACL'sinden önceliklidir. Örneğin, özel bir paketteki bir nesnenin ACL'si public-read olarak ayarlanırsa anonim kullanıcılar dahil tüm kullanıcılar bu nesneyi okuyabilir.

İzin türü

Açıklama

İzin değeri

Paketten devralınan

Bir nesnenin ACL'sini yapılandırmazsanız nesnenin ACL'si, nesnenin depolandığı paketin ACL'si ile aynı olur.

Aliyun::OSS::ACL::DEFAULT

Özel

Nesne üzerinde okuma ve yazma işlemlerini yalnızca nesne sahibi yapabilir. Diğer kullanıcılar nesneye erişemez.

Aliyun::OSS::ACL::PRIVATE

Public-read

Nesne üzerinde yazma işlemlerini yalnızca nesne sahibi yapabilir. Anonim kullanıcılar dahil diğer kullanıcılar nesneyi yalnızca okuyabilir.

Uyarı

Bu durum yetkisiz erişime ve beklenmeyen maliyetlere neden olabilir. Bu ACL'yi kullanırken dikkatli olun.

Aliyun::OSS::ACL::PUBLIC_READ

Public-read-write

Anonim kullanıcılar dahil tüm kullanıcılar nesne üzerinde okuma ve yazma işlemleri yapabilir.

Uyarı

Bu ACL, tüm kullanıcıların nesneye İnternet üzerinden erişmesine ve veri yazmasına olanak tanır; bu durum yetkisiz erişime, beklenmeyen maliyetlere veya yasaklı içeriklerin yüklenmesine neden olabilir. Gerekmeyen durumlarda nesne ACL'sini public-read-write olarak ayarlamayın.

Aliyun::OSS::ACL::PUBLIC_READ_WRITE

Örnekler

Aşağıdaki kod, bir nesnenin ACL'sinin nasıl yapılandırılacağını ve alınacağını gösterir:

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                

İlgili Konular

  • Bir nesnenin ACL'sini yapılandırmak için çağırabileceğiniz API işlemi hakkında daha fazla bilgi için bkz. PutObjectACL.

  • Bir nesnenin ACL'sini sorgulamak için çağırabileceğiniz API işlemi hakkında daha fazla bilgi için bkz. GetObjectACL.