All Products
Search
Document Center

Object Storage Service:PutObjectACL

Last Updated:Apr 01, 2026

Operasi PutObjectACL mengubah daftar kontrol akses (ACL) suatu objek. Untuk menjalankan operasi ini, Anda harus merupakan pemilik bucket dan memiliki izin baca serta tulis terhadap objek tersebut.

Versioning

Secara default, operasi PutObjectACL menetapkan ACL untuk versi terkini suatu objek. Untuk menetapkan ACL pada versi tertentu, sertakan parameter versionId dalam permintaan Anda.

  • Jika Anda menentukan versionId untuk versi objek yang merupakan penanda hapus, OSS mengembalikan error 405 Method Not Allowed.

  • Jika Anda tidak menentukan versionId dan versi terbaru objek tersebut adalah penanda hapus, OSS mengembalikan error 404 NoSuchKey.

ACL

Operasi PutObjectACL menggunakan header permintaan x-oss-object-acl dalam permintaan PUT untuk menetapkan ACL objek. Izin akses berikut tersedia untuk objek.

ACL

Description

private

Objek merupakan resource privat. Hanya pemilik objek yang memiliki izin baca dan tulis. Pengguna lain tidak dapat mengakses objek tersebut.

public-read

Objek merupakan resource public-read. Pemilik objek memiliki izin baca dan tulis. Semua pengguna lain memiliki izin read-only.

public-read-write

Objek merupakan resource public-read-write. Semua pengguna memiliki izin baca dan tulis untuk objek tersebut.

default

Objek mewarisi izin dari bucket tempat objek tersebut disimpan.

Catatan
  • ACL objek memiliki prioritas lebih tinggi daripada ACL bucket. Misalnya, jika suatu objek memiliki ACL public-read-write tetapi berada di bucket privat, semua pengguna tetap dapat mengakses objek tersebut. Jika suatu objek tidak memiliki ACL khusus, objek tersebut akan mewarisi ACL bucket-nya.

  • Operasi baca mencakup GetObject, HeadObject, dan membaca objek sumber dalam operasi CopyObject dan UploadPartCopy. Operasi tulis mencakup PutObject, PostObject, AppendObject, DeleteObject, DeleteMultipleObjects, CompleteMultipartUpload, serta menulis objek tujuan dalam operasi CopyObject.

  • Anda juga dapat menetapkan ACL objek dengan menyertakan header x-oss-object-acl dalam permintaan tulis, yang setara dengan memanggil operasi PutObjectACL. Sebagai contoh, dengan menyertakan header x-oss-object-acl dalam permintaan PutObject, Anda dapat menetapkan ACL objek saat mengunggahnya.

  • Jika suatu bucket memiliki kebijakan retensi tingkat bucket (BucketWorm) atau kebijakan retensi tingkat objek (ObjectWorm) yang diaktifkan, Anda tidak dapat menetapkan atau mengubah ACL objek yang sedang dalam periode retensi.

Permissions

Secara default, Akun Alibaba Cloud memiliki izin penuh. Pengguna RAM atau Peran RAM di bawah Akun Alibaba Cloud tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator akun harus memberikan izin operasi melalui kebijakan RAM atau Bucket Policy.

API

Action

Description

PutObjectACL

oss:PutObjectAcl

Memodifikasi ACL objek dalam bucket.

oss:PutObjectVersionAcl

Memodifikasi ACL versi tertentu dari suatu objek.

Request syntax

PUT /ObjectName?acl HTTP/1.1
x-oss-object-acl: Permission
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue

Request headers

Header

Type

Required

Example

Description

x-oss-object-acl

String

Yes

public-read

Menentukan ACL objek.

Nilai yang valid:

  • default: Objek mewarisi ACL bucket.

  • private: Objek merupakan resource privat. Hanya pemilik objek dan pengguna yang berwenang yang memiliki izin baca dan tulis untuk objek tersebut. Pengguna lain tidak dapat mengakses objek tersebut.

  • public-read: Objek merupakan resource public-read. Hanya pemilik objek dan pengguna yang berwenang yang memiliki izin baca dan tulis untuk objek tersebut. Pengguna lain memiliki izin read-only untuk objek tersebut. Gunakan izin ini dengan hati-hati.

  • public-read-write: Objek merupakan resource public-read-write. Semua pengguna memiliki izin baca dan tulis untuk objek tersebut. Gunakan izin ini dengan hati-hati.

Untuk informasi selengkapnya tentang izin akses, lihat object ACL.

Operasi ini juga mencakup header permintaan umum, seperti Host dan Date. Untuk informasi selengkapnya, lihat Common Request Headers.

Response headers

Semua header dalam respons terhadap permintaan DescribeRegions merupakan header respons umum. Untuk informasi selengkapnya, lihat Common response headers.

Examples

  • Modifikasi ACL objek dalam bucket tanpa versioning

    Contoh permintaan

    PUT /test-object?acl HTTP/1.1
    x-oss-object-acl: public-read
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Wed, 29 Apr 2015 05:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

    Contoh respons

    HTTP/1.1 200 OK
    x-oss-request-id: 559CC9BDC755F95A64485981
    Date: Wed, 29 Apr 2015 05:21:12 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
  • Modifikasi ACL objek dalam bucket dengan versioning

    Contoh permintaan

    PUT /example?acl&versionId=CAEQMhiBgIC3rpSD0BYiIDBjYTk5MmIzN2JlNjQxZTFiNGIzM2E3OTliODA0**** HTTP/1.1
    x-oss-object-acl: public-read
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 06:30:11 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

    Contoh respons

    HTTP/1.1 200 OK
    x-oss-version-id: CAEQMhiBgIC3rpSD0BYiIDBjYTk5MmIzN2JlNjQxZTFiNGIzM2E3OTliODA0****
    x-oss-request-id: 5CAC3BF3B7AEADE017000624
    Date: Tue, 09 Apr 2019 06:30:11 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS

SDKs

Anda dapat menggunakan SDK OSS untuk bahasa pemrograman berikut untuk memanggil operasi ini:

ossutil CLI

Perintah yang sesuai dalam ossutil adalah put-object-acl.

Error codes

Error code

HTTP status code

Description

AccessDenied

403

Anda bukan pemilik bucket, atau Anda tidak memiliki izin baca dan tulis untuk objek tersebut.

InvalidArgument

400

Nilai x-oss-object-acl yang ditentukan tidak valid.

FileAlreadyExists

409

Jika namespace hirarkis diaktifkan untuk bucket, error ini dikembalikan ketika Anda mencoba memodifikasi ACL direktori.