全部产品
Search
文档中心

Object Storage Service:Mengelola izin akses file (Ruby SDK)

更新时间:Nov 30, 2025

Selain daftar kontrol akses (ACL) tingkat bucket, Object Storage Service (OSS) menyediakan ACL tingkat objek. Anda dapat mengonfigurasi ACL suatu objek saat mengunggahnya atau mengubah ACL-nya setelah diunggah.

ACL Objek

Suatu objek memiliki empat izin baca/tulis:

Catatan

ACL objek memiliki prioritas lebih tinggi daripada ACL bucket tempat objek tersebut disimpan. Misalnya, jika ACL suatu objek dalam bucket private diatur ke public-read, semua pengguna, termasuk pengguna anonim, dapat membaca objek tersebut.

Jenis izin

Deskripsi

Nilai izin

Inherited from bucket

Jika Anda tidak mengonfigurasi ACL objek, ACL objek tersebut akan sama dengan ACL bucket tempat objek tersebut disimpan.

Aliyun::OSS::ACL::DEFAULT

Private

Hanya pemilik objek yang dapat melakukan operasi baca dan tulis pada objek tersebut. Pengguna lain tidak dapat mengakses objek tersebut.

Aliyun::OSS::ACL::PRIVATE

Public-read

Hanya pemilik objek yang dapat melakukan operasi tulis pada objek tersebut. Pengguna lain, termasuk pengguna anonim, hanya dapat membaca objek tersebut.

Peringatan

Pengaturan ini dapat menyebabkan akses tidak sah ke data dalam bucket Anda dan biaya tinggi. Harap berhati-hati saat mengatur ACL objek ke public-read.

Aliyun::OSS::ACL::PUBLIC_READ

Public-read-write

Semua pengguna, termasuk pengguna anonim, dapat melakukan operasi baca dan tulis pada objek tersebut.

Peringatan

Jika Anda mengatur ACL objek ke nilai ini, semua pengguna dapat mengakses objek tersebut dan menulis data ke objek melalui Internet. Hal ini dapat menyebabkan akses tidak sah ke data dalam bucket Anda serta biaya tinggi. Jika pengguna mengunggah data atau informasi terlarang ke bucket, kepentingan dan hak sah Anda mungkin dilanggar. Oleh karena itu, kami menyarankan agar Anda tidak mengatur ACL bucket ke public-read-write kecuali benar-benar diperlukan.

Aliyun::OSS::ACL::PUBLIC_READ_WRITE

Contoh

Kode berikut menunjukkan cara mengonfigurasi dan mendapatkan ACL suatu objek:

require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
  # Wilayah China (Hangzhou) digunakan sebagai contoh. Ganti endpoint dengan yang sesuai untuk wilayah Anda.
  endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
  # Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
  access_key_id: ENV['OSS_ACCESS_KEY_ID'],
  access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Tentukan nama bucket. Misalnya, examplebucket.
bucket = client.get_bucket('examplebucket')
# Tentukan path lengkap objek. Path lengkap tidak boleh mengandung nama bucket. Misalnya, exampledir/example.txt.
# Dapatkan ACL objek yang diatur saat pengunggahan.
acl = bucket.get_object_acl('exampledir/example.txt')
puts acl
# Ubah ACL objek.
bucket.set_object_acl('exampledir/example.txt', Aliyun::OSS::ACL::PUBLIC_READ)
acl = bucket.get_object_acl('exampledir/example.txt')
puts acl                

Referensi

  • Untuk informasi selengkapnya tentang operasi API yang dapat Anda panggil untuk mengonfigurasi ACL objek, lihat PutObjectACL.

  • Untuk informasi selengkapnya tentang operasi API yang dapat Anda panggil untuk mengkueri ACL objek, lihat GetObjectACL.