全部产品
Search
文档中心

Object Storage Service:set-acl

更新时间:Jul 02, 2025

Daftar kontrol akses (ACL) adalah kebijakan yang digunakan untuk mengelola izin akses pada bucket dan objek di Object Storage Service (OSS). Anda dapat mengonfigurasi ACL untuk bucket saat membuat bucket atau untuk objek saat mengunggah objek. Anda juga dapat memodifikasi ACL dari objek dan bucket yang ada kapan saja. Topik ini menjelaskan cara menggunakan perintah set-acl untuk mengonfigurasi atau memodifikasi ACL bucket dan objek.

Catatan penggunaan

  • Untuk mengonfigurasi atau memodifikasi ACL bucket, Anda harus memiliki izin oss:PutBucketAcl. Untuk mengonfigurasi atau memodifikasi ACL objek, Anda harus memiliki izin oss:PutObjectAcl. Untuk memodifikasi ACL beberapa objek sekaligus, Anda harus memiliki izin oss:PutObjectAcl dan oss:ListObjects. Untuk informasi lebih lanjut, lihat Lampirkan kebijakan kustom ke pengguna RAM.

  • Untuk ossutil versi 1.6.16 dan yang lebih baru, Anda dapat langsung menggunakan ossutil sebagai nama biner di baris perintah tanpa perlu memperbarui nama biner berdasarkan sistem operasi. Untuk ossutil versi sebelum 1.6.16, Anda harus memperbarui nama biner sesuai dengan sistem operasi. Untuk informasi lebih lanjut, lihat Referensi perintah ossutil.

Konfigurasikan atau modifikasi ACL bucket

  • Sintaks Perintah

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

    Tabel berikut menjelaskan parameter dan opsi dalam sintaks.

    Parameter/Opsi

    Deskripsi

    bucketname

    Nama bucket yang ingin Anda konfigurasi atau modifikasi ACL-nya.

    acl

    ACL bucket. Nilai valid:

    • private (default): Hanya pemilik bucket yang dapat melakukan operasi baca dan tulis pada objek di bucket. Pengguna lain tidak dapat mengakses objek di bucket.

    • public-read: Hanya pemilik bucket yang dapat melakukan operasi tulis pada objek di bucket. Pengguna lain, termasuk pengguna anonim, hanya dapat melakukan operasi baca pada objek di bucket. Ini dapat mengakibatkan akses tanpa batas ke data di bucket Anda dan biaya tak terduga yang tinggi. Jika pengguna mengunggah data atau informasi yang dilarang, hak hukum Anda mungkin dilanggar. Kami menyarankan agar Anda tidak menyetel ACL ke public-read kecuali diperlukan.

    • public-read-write: Semua pengguna, termasuk pengguna anonim, dapat melakukan operasi baca dan tulis pada objek di bucket. Ini dapat mengakibatkan akses tanpa batas ke data di bucket Anda dan biaya tak terduga yang tinggi. Berhati-hatilah saat menyetel ACL ke public-read-write.

    -b

    Jika Anda tidak menentukan opsi ini, ACL yang ditentukan dalam perintah adalah ACL objek. Untuk menggunakan perintah untuk mengonfigurasi ACL bucket, Anda harus menentukan opsi ini.

    --retry-times

    Jumlah percobaan ulang setelah perintah gagal dijalankan. Nilai default: 10. Nilai valid: 1 hingga 500.

  • Contoh

    Anda dapat menjalankan perintah berikut untuk menyetel ACL bucket bernama examplebucket menjadi private:

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

Konfigurasikan atau modifikasi ACL objek

  • Sintaks Perintah

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

    Tabel berikut menjelaskan parameter dan opsi dalam sintaks.

    Parameter/Opsi

    Deskripsi

    bucketname

    Nama bucket yang berisi objek yang ingin Anda konfigurasi atau modifikasi ACL-nya.

    prefix

    Awalan dalam nama sumber daya, seperti direktori dan objek.

    acl

    ACL objek. Nilai valid:

    • default: ACL objek sama dengan ACL bucket tempat objek disimpan.

    • private (default): Hanya pemilik bucket yang dapat melakukan operasi baca dan tulis pada objek di bucket. Pengguna lain tidak dapat mengakses objek di bucket.

    • public-read: Hanya pemilik bucket yang dapat melakukan operasi tulis pada objek di bucket. Pengguna lain, termasuk pengguna anonim, hanya dapat melakukan operasi baca pada objek di bucket. Ini dapat mengakibatkan akses tanpa batas ke data di bucket Anda dan biaya tak terduga yang tinggi. Jika pengguna mengunggah data atau informasi yang dilarang, hak hukum Anda mungkin dilanggar. Kami menyarankan agar Anda tidak menyetel ACL ke public-read kecuali diperlukan.

    • public-read-write: Semua pengguna, termasuk pengguna anonim, dapat melakukan operasi baca dan tulis pada objek di bucket. Ini dapat mengakibatkan akses tanpa batas ke data di bucket Anda dan biaya tak terduga yang tinggi. Berhati-hatilah saat menyetel ACL ke public-read-write.

    -r

    Jika Anda menentukan opsi ini, ossutil mengonfigurasi ACL semua objek yang namanya mengandung awalan yang ditentukan oleh opsi prefix. Jika Anda tidak menentukan opsi ini, ossutil hanya mengonfigurasi ACL objek yang ditentukan oleh cloud_url.

    --include

    Menentukan bahwa perintah berlaku untuk semua objek yang memenuhi kondisi tertentu.

    Untuk informasi lebih lanjut, lihat --include dan --exclude.

    --exclude

    Menentukan bahwa perintah berlaku untuk semua objek yang tidak memenuhi kondisi tertentu.

    Untuk informasi lebih lanjut, lihat --include dan --exclude.

    --version-id

    ID versi objek yang ingin Anda konfigurasi atau modifikasi ACL-nya. Parameter ini hanya berlaku untuk objek di bucket tempat versioning diaktifkan atau ditangguhkan.

    --job

    Jumlah tugas konkuren yang dapat dilakukan di beberapa objek. Nilai valid: 1 hingga 10000. Nilai default: 3.

    --retry-times

    Jumlah percobaan ulang setelah perintah gagal dijalankan. Nilai default: 10. Nilai valid: 1 hingga 500.

    --encoding-type

    Metode yang digunakan untuk mengkodekan nilai parameter prefix yang mengikuti oss://bucket_name. Nilai valid: url. Jika Anda tidak menentukan opsi ini, prefix tidak dikodekan.

  • Contoh

    • Anda dapat menjalankan perintah berikut untuk menyetel ACL objek bernama exampleobject.txt di bucket bernama examplebucket menjadi private:

      ossutil set-acl oss://examplebucket/exampleobject.txt private
    • Anda dapat menjalankan perintah berikut untuk menyetel ACL versi tertentu (CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****) dari objek exampleobject.txt di bucket bernama examplebucket menjadi private:

      ossutil set-acl oss://examplebucket/exampleobject.txt private --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
    • Anda dapat menjalankan perintah berikut untuk menyetel ACL objek yang namanya mengandung awalan test di bucket bernama examplebucket menjadi default:

      ossutil set-acl oss://examplebucket/test default -r
    • Anda dapat menjalankan perintah berikut untuk menyetel ACL objek yang namanya mengandung ekstensi .jpg di bucket bernama examplebucket menjadi private:

      ossutil set-acl oss://examplebucket private --include "*.jpg" -r
    • Anda dapat menjalankan perintah berikut untuk menyetel ACL objek yang namanya mengandung string "abc" dan tidak mengandung ekstensi .png atau .txt di bucket bernama examplebucket menjadi default:

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

Opsi umum

Jika Anda menggunakan ossutil untuk beralih ke bucket yang berada di wilayah lain, tambahkan opsi -e untuk menentukan titik akhir wilayah tempat bucket berada. Jika Anda menggunakan ossutil untuk beralih ke bucket yang dimiliki oleh akun Alibaba Cloud lain, tambahkan opsi -i untuk menentukan ID AccessKey akun yang ditentukan, dan tambahkan opsi -k untuk menentukan Rahasia AccessKey akun yang ditentukan.

Sebagai contoh, Anda dapat menjalankan perintah berikut untuk menyetel ACL bucket bernama testbucket menjadi private. Bucket testbucket berada di wilayah China (Shanghai) dan dimiliki oleh akun Alibaba Cloud lain.

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

Untuk informasi lebih lanjut tentang opsi umum, lihat Opsi umum.