Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:PutObjectACL

Son Güncelleme:Oct 13, 2026

Bir nesnenin erişim kontrol listesini (ACL) değiştirir. Bu işlemi yalnızca nesne üzerinde okuma ve yazma izinlerine sahip paket sahibi çağırabilir.

Sürüm Oluşturma

PutObjectACL, varsayılan olarak bir nesnenin mevcut sürümünün ACL'sini yapılandırır. Belirli bir sürümün ACL'sini yapılandırmak için bir sürüm kimliği belirtebilirsiniz.

  • Belirtilen sürüm bir silme işaretçisi ise OSS 405 MethodNotAllowed hatası döndürür.

  • Sürüm kimliği belirtilmezse ve en son sürüm bir silme işaretçisi ise OSS 404 NoSuchKey hatası döndürür.

ACL'ye genel bakış

PutObjectACL işlemi, bir nesnenin ACL'sini yapılandırmak üzere x-oss-object-acl başlığını ayarlar. Geçerli ACL değerleri aşağıdaki tabloda açıklanmıştır.


ACL


Açıklama


private


Yalnızca nesne sahibi okuma ve yazma izinlerine sahiptir. Diğer kullanıcılar nesneye erişemez.


public-read


Nesne sahibi okuma ve yazma izinlerine sahiptir. Diğer kullanıcıların yalnızca okuma erişimi vardır.


public-read-write


Tüm kullanıcıların nesne üzerinde okuma ve yazma izinleri bulunur.


default


Nesne, bağlı olduğu paketin ACL'sini miras alır.

Not
  • Nesne ACL'leri, paket ACL'lerinden önceliklidir. Örneğin, özel bir paketteki public-read-write nesnesine tüm kullanıcılar erişebilir. Nesne ACL'si ayarlanmamışsa nesne paket ACL'sini miras alır.

  • Okuma işlemleri: GetObject, HeadObject, CopyObject ve UploadPartCopy. CopyObject ve UploadPartCopy kaynak nesneyi okur. Yazma işlemleri: PutObject, PostObject, AppendObject, DeleteObject, DeleteMultipleObjects, CompleteMultipartUpload ve CopyObject. CopyObject hedef nesneyi yazar.

  • Nesne ACL'sini ayarlamak için yazma işlemlerine x-oss-object-acl başlığını ekleyebilirsiniz. Örneğin, yüklenen nesnenin ACL'sini ayarlamak amacıyla bir PutObject isteğine x-oss-object-acl ekleyin.

İzinler

Varsayılan olarak bir Alibaba Cloud hesabı tam izinlere sahiptir. Bir Alibaba Cloud hesabı altındaki RAM kullanıcıları veya RAM rollerinin varsayılan olarak hiçbir izni yoktur. Alibaba Cloud hesabı veya hesap yöneticisi, işlem izinlerini RAM ilkeleri veya Paket İlkesi aracılığıyla vermelidir.

API

Action

Description

PutObjectACL

oss:PutObjectAcl

Paketteki bir nesnenin ACL'sini değiştirir.

oss:PutObjectVersionAcl

Belirtilen bir nesne sürümünün ACL'sini değiştirir.

Söz dizimi

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

İstek üstbilgileri

Başlık

Tür

Zorunlu

Örnek

Açıklama

x-oss-object-acl

String

Evet

public-read

Nesnenin ACL'si.

Geçerli değerler:

  • default (varsayılan): Nesne, bağlı olduğu paketin ACL'sini miras alır.

  • private: Yalnızca nesne sahibi ve yetkili kullanıcılar okuma ve yazma izinlerine sahiptir.

  • public-read: Nesne sahibi ve yetkili kullanıcılar okuma ve yazma izinlerine sahiptir. Diğer kullanıcıların yalnızca okuma erişimi vardır. Bu ACL'yi kullanırken dikkatli olun.

  • public-read-write: Tüm kullanıcıların okuma ve yazma izinleri bulunur. Bu ACL'yi kullanırken dikkatli olun.

Daha fazla bilgi için bkz. Nesne ACL'leri.

Host ve Date gibi bir PutObjectACL isteğindeki ortak istek üstbilgileri hakkında daha fazla bilgi için bkz. Ortak istek üstbilgileri.

Yanıt üstbilgileri

PutObjectACL isteğine verilen yanıt yalnızca ortak yanıt üstbilgilerini içerir. Daha fazla bilgi için bkz. Ortak yanıt üstbilgileri.

Örnekler

  • Sürüm oluşturulmamış bir paketteki nesnenin ACL'sini değiştirme

    Örnek istek

    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

    Örnek yanıt

    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
  • Sürüm oluşturma etkinleştirilmiş bir paketteki nesnenin ACL'sini değiştirme

    Örnek istek

    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

    Örnek yanıt

    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

OSS SDK'ları

Aşağıdaki OSS SDK'ları PutObjectACL işlemini destekler:

ossutil

PutObjectACL işlemine karşılık gelen ossutil komutu hakkında bilgi için bkz. put-object-acl.

Hata kodları


Hata kodu


HTTP durum kodu


Açıklama


AccessDenied


403


Paket sahibi değilsiniz veya nesne üzerinde okuma ve yazma izniniz yok.


InvalidArgument


400


Belirtilen x-oss-object-acl değeri geçersiz.


FileAlreadyExists


409


Hedef nesne, hiyerarşik ad alanına sahip bir paketteki bir dizindir.