すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:PutBucketAcl

最終更新日:May 21, 2025

この操作を呼び出して、バケットの ACL を設定または変更できます。

使用方法

PutBucketAcl 操作を呼び出すときは、次の点に注意してください。

  • この操作を呼び出すには、バケットに対する書き込み権限が必要です。

  • PutBucketAcl は上書きセマンティクスを使用します。新しい ACL は既存の ACL を上書きします。

  • この操作の呼び出し時に、ACL を設定する指定のバケットが存在しない場合は、新しいバケットが作成されます。

権限

デフォルトでは、Alibaba Cloud アカウントはすべての権限を持っています。 RAM ユーザーまたは Alibaba Cloud アカウント下の RAM ロールは、デフォルトでは権限を持っていません。 Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。

API

アクション

定義

PutBucketAcl

oss:PutBucketAcl

バケットの ACL を設定または変更します。

リクエスト構造

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

リクエストヘッダー

ヘッダー

タイプ

必須

サンプル値

説明

x-oss-acl

String

はい

private

バケットに設定する ACL。

このヘッダーは、バケットの ACL を設定する PutBucketAcl リクエストに含まれています。このヘッダーが含まれていない場合、ACL 設定は有効になりません。

有効な値: public-read-write、public-read、private

  • public-read-write: 匿名ユーザーを含むすべてのユーザーが、バケット内のオブジェクトを読み書きできます。バケットの ACL を public-read-write に設定する場合は注意してください。

  • public-read: このバケットの所有者または承認されたユーザーのみが、バケット内のオブジェクトを書き込むことができます。匿名ユーザーを含む他のユーザーは、バケット内のオブジェクトを読み取るしかできません。バケットの ACL を public-read に設定する場合は注意してください。

  • private: このバケットの所有者または承認されたユーザーのみが、バケット内のオブジェクトを読み書きできます。匿名ユーザーを含む他のユーザーは、承認なしにバケット内のオブジェクトにアクセスできません。

PutBucketAcl リクエストに含まれる共通のリクエストヘッダーについては、「共通のリクエストヘッダー」をご参照ください。

レスポンスヘッダー

PutBucketAcl リクエストへのレスポンスには、共通のレスポンスヘッダーのみが含まれています。詳細については、「共通のレスポンスヘッダー」をご参照ください。

リクエストの例

PUT /? acl HTTP/1.1
x-oss-acl: public-read
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Thu, 17 Apr 2025 03:21:12 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

レスポンスの例

  • 成功レスポンスの例

    HTTP/1.1 200 OK
    x-oss-request-id: 534B371674E88A4D8906****
    Date: Fri, 24 Feb 2012 03:21:12 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
  • 無効な ACL 設定を含むリクエストへのレスポンスの例

    HTTP/1.1 400 Bad Request
    x-oss-request-id: 56594298207FB3044385****
    Date: Fri, 24 Feb 2012 03:55:00 GMT
    Content-Length: 309
    Content-Type: text/xml; charset=UTF-8
    Connection: keep-alive
    Server: AliyunOSS
    
    <? xml version="1.0" encoding="UTF-8"? >
    <Error>
      <Code>InvalidArgument</Code>
      <Message>no such bucket access control exists</Message>
      <RequestId>5***9</RequestId>
      <HostId>***-test.example.com</HostId>
      <ArgumentName>x-oss-acl</ArgumentName>
      <ArgumentValue>error-acl</ArgumentValue>
    </Error>

OSS SDK

次のプログラミング言語の OSS SDK を使用して、PutBucketAcl 操作を呼び出すことができます。

ossutil

PutBucketAcl 操作に対応する ossutil コマンドについては、「put-bucket-acl」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

AccessDenied

403

  • ユーザー認証の情報が PutBucketAcl リクエストに含まれていないために返されるエラーメッセージ。

  • PutBucketAcl リクエストを開始する権限がないために返されるエラーメッセージ。