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

Object Storage Service:PutBucketLogging

最終更新日:Nov 09, 2025

PutBucketLogging 操作を呼び出して、バケットのロギング機能を有効にします。この機能は、Object Storage Service (OSS) のアクセスログを 1 時間ごとに生成します。ログファイルは固定の命名規則に従い、指定されたバケットに書き込まれます。

使用上の注意

  • PutBucketLogging 操作を呼び出してバケットのロギング機能を有効にするには、oss:PutBucketLogging 権限が必要です。詳細については、「RAM ユーザーへのカスタムアクセスポリシーの付与」をご参照ください。

  • ソースバケットと宛先バケットは、同じでも異なっていてもかまいません。それらは同じリージョンにあり、同じ Alibaba Cloud アカウントに属している必要があります。

  • ログファイルは 1 時間ごとに生成されます。ただし、特定の時間のログファイルには、その時間のすべてのリクエストが含まれていない場合があります。一部のリクエストは、前の時間または次の時間のログファイルに表示される場合があります。

    ログファイルの命名規則とフォーマットの詳細については、「ロギング」をご参照ください。

  • OSS は、ロギング機能を無効にするまで、ログファイルを継続的に生成します。ストレージコストを削減するために、不要になったログファイルを削除してください。

    ライフサイクルルールを使用して、ログファイルを定期的に削除できます。詳細については、「最終更新時間に基づくライフサイクルルール」をご参照ください。

  • OSS は、必要に応じてログファイルの末尾にフィールドを追加することがあります。ログ処理ツールを開発する際は、互換性を考慮してください。

権限

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

API

アクション

定義

PutBucketLogging

oss:PutBucketLogging

バケットのロギングを有効にします。

oss:PutObject

バケットのロギングを有効にする際、ログが別のバケットに書き込まれる場合、この権限が宛先バケットに必要です。

リクエスト構文

PUT /?logging HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Authorization: SignatureValue 
Host: Host
<?xml version="1.0" encoding="UTF-8"?>
<BucketLoggingStatus>
    <LoggingEnabled>
        <TargetBucket>TargetBucket</TargetBucket>
        <TargetPrefix>TargetPrefix</TargetPrefix>
    </LoggingEnabled>
</BucketLoggingStatus>

リクエストヘッダー

DescribeRegions リクエストのすべてのヘッダーは、共通のリクエストヘッダーです。詳細については、「共通リクエストヘッダー」をご参照ください。

リクエスト要素

名前

タイプ

必須

説明

BucketLoggingStatus

コンテナー

はい

N/A

アクセスログのステータス情報のコンテナー。

子要素: LoggingEnabled

親要素: なし

LoggingEnabled

コンテナー

ロギングを有効にする場合は「はい」。

N/A

アクセスログ情報のコンテナー。

子要素: TargetBucket、TargetPrefix、および LoggingRole

親要素: BucketLoggingStatus

TargetBucket

文字列

ロギングを有効にする場合は「はい」。

examplebucket

アクセスログが保存されるバケット。

子要素: なし

親要素: BucketLoggingStatus.LoggingEnabled

TargetPrefix

文字列

いいえ

MyLog-

ログファイル名のプレフィックス。空にすることもできます。

子要素: なし

親要素: BucketLoggingStatus.LoggingEnabled

LoggingRole

文字列

いいえ

AliyunOSSLoggingDefaultRole

ロギングが承認されているロール。

子要素: なし

親要素: BucketLoggingStatus.LoggingEnabled

レスポンスヘッダー

DescribeRegions リクエストへのレスポンスのすべてのヘッダーは、共通のレスポンスヘッダーです。詳細については、「共通レスポンスヘッダー」をご参照ください。

バケットの例

  • バケットのロギングを有効にするリクエストの例

    PUT /?logging HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Content-Length: 186
    Date: Thu, 17 Apr 2025 03:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <BucketLoggingStatus>
        <LoggingEnabled>
            <TargetBucket>examplebucket</TargetBucket>
            <TargetPrefix>MyLog-</TargetPrefix>
            <LoggingRole>AliyunOSSLoggingDefaultRole</LoggingRole>
        </LoggingEnabled>
    </BucketLoggingStatus>

    レスポンスの例

    HTTP/1.1 200 OK
    x-oss-request-id: 534B371674E888648906008B
    Date: Fri, 04 May 2012 03:21:12 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
  • バケットのロギングを無効にするリクエストの例

    バケットのロギング機能を無効にするには、空の BucketLoggingStatus を送信します。以下に例を示します。

    PUT /?logging HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Content-Type: application/xml
    Content-Length: 86
    Date: Thu, 17 Apr 2025 04:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    <?xml version="1.0" encoding="UTF-8"?>
    <BucketLoggingStatus>
    </BucketLoggingStatus>

    レスポンスの例

    HTTP/1.1 200 OK
    x-oss-request-id: 534B371674125A4D8906008B
    Date: Fri, 04 May 2012 04:21:12 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS

ベクターバケットの例

ベクターバケットの Host の region パラメーターは、汎用バケットで使用される従来の OSS リージョン ID (oss-cn-hangzhou など) ではなく、標準の Alibaba Cloud リージョン ID (cn-hangzhou など) を使用します。

バケットのロギングを有効にするリクエストの例

PUT /?logging HTTP/1.1
Host: exampebucket-123***456.cn-hangzhou.oss-vectors.aliyuncs.com
Content-Length: 186
Content-Type: application/json
Date: Thu, 17 Apr 2025 03:21:12 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

{
  "BucketLoggingStatus": {
    "LoggingEnabled": {
      "TargetBucket": "examplebucket",
      "TargetPrefix": "MyLog-",
      "LoggingRole": "AliyunOSSLoggingDefaultRole"
    }
  }
}

レスポンスの例

HTTP/1.1 200 OK
x-oss-request-id: 534B371674E888648906008B
Date: Fri, 04 May 2012 03:21:12 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS

SDK

この操作には、次の SDK を使用できます。

ossutil コマンドラインインターフェイス

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

エラーコード

エラーコード

HTTP ステータスコード

説明

NoSuchBucket

404

ソースバケットが存在しません。

InvalidTargetBucketForLogging

400

ソースバケットと宛先バケットが同じデータセンターにありません。

InvalidDigest

400

Content-MD5 リクエストヘッダーを含めると、OSS はメッセージ本文の Content-MD5 値を計算し、一貫性をチェックします。値が一致しない場合、このエラーコードが返されます。

MalformedXML

400

リクエストの XML の形式が正しくありません。

InvalidTargetBucketForLogging

403

リクエスターは宛先バケットのオーナーではありません。

AccessDenied

403

リクエスターはソースバケットのオーナーではありません。