全部产品
Search
文档中心

Object Storage Service:PutBucketEncryption

更新时间:Jul 29, 2025

Operasi ini digunakan untuk mengonfigurasi aturan enkripsi pada sebuah bucket.

Catatan

Izin oss:PutBucketEncryption diperlukan untuk mengonfigurasi aturan enkripsi bucket. Untuk informasi lebih lanjut, lihat Lampirkan kebijakan kustom ke Pengguna RAM.

Catatan

Hanya pemilik bucket atau Pengguna RAM yang berwenang yang dapat mengonfigurasi aturan enkripsi bucket. Jika tidak, OSS akan mengembalikan kesalahan 403. Untuk detail tentang enkripsi bucket, lihat Enkripsi sisi server.

Struktur permintaan

PUT /? encryption HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Host: BucketName.oss.aliyuncs.com
Authorization: SignatureValue
<? xml version="1.0" encoding="UTF-8"? >
<ServerSideEncryptionRule>
  <ApplyServerSideEncryptionByDefault>
    <SSEAlgorithm>AES256</SSEAlgorithm>
    <KMSMasterKeyID></KMSMasterKeyID>
  </ApplyServerSideEncryptionByDefault>
</ServerSideEncryptionRule>

Elemen permintaan

Elemen

Tipe

Diperlukan

Contoh

Deskripsi

ServerSideEncryptionRule

Kontainer

Ya

Tidak tersedia

Kontainer yang menyimpan aturan enkripsi sisi server.

Node anak: ApplyServerSideEncryptionByDefault

ApplyServerSideEncryptionByDefault

Kontainer

Ya

Tidak tersedia

Kontainer yang menyimpan metode enkripsi sisi server default.

Node anak: SSEAlgorithm dan KMSMasterKeyID

SSEAlgorithm

String

Ya

AES256

Metode enkripsi sisi server default.

Nilai valid: KMS, AES256.

Catatan

Jika Anda menggunakan OSS pada CloudBox, hanya AES-256 yang didukung.

Anda akan dikenakan biaya untuk memanggil operasi API saat menggunakan CMK untuk mengenkripsi atau mendekripsi data. Untuk informasi lebih lanjut tentang biaya, lihat Harga KMS.

Dalam replikasi lintas wilayah, jika metode enkripsi sisi server default dikonfigurasikan untuk bucket tujuan dan ReplicaCMKID dikonfigurasikan dalam aturan replikasi:

  • Jika objek di bucket sumber tidak dienkripsi, mereka akan dienkripsi menggunakan metode enkripsi default bucket tujuan setelah direplikasi.

  • Jika objek di bucket sumber dienkripsi menggunakan SSE-KMS atau SSE-OSS, mereka akan dienkripsi menggunakan metode yang sama setelah direplikasi.

Untuk informasi lebih lanjut, lihat Gunakan replikasi lintas wilayah dengan enkripsi sisi server.

KMSDataEncryption

String

Tidak

SM4

Algoritma yang digunakan untuk mengenkripsi objek. Jika elemen ini tidak ditentukan, objek dienkripsi menggunakan AES256. Elemen ini hanya valid ketika nilai SSEAlgorithm diatur ke KMS.

Nilai valid: SM4.

Jika Anda menggunakan OSS pada CloudBox, parameter ini tidak didukung.

KMSMasterKeyID

String

Tidak

9468da86-3509-4f8d-a61e-6eab1eac****

ID CMK yang harus ditentukan ketika SSEAlgorithm diatur ke KMS dan CMK tertentu digunakan untuk enkripsi. Dalam kasus lain, elemen ini harus diatur ke null.

Jika Anda menggunakan OSS pada CloudBox, parameter ini tidak didukung.

Untuk informasi lebih lanjut tentang header permintaan umum lainnya dalam permintaan PutBucketEncryption, seperti Host dan Date, lihat Header Permintaan Umum.

Header tanggapan

Semua header dalam tanggapan terhadap permintaan DescribeRegions adalah header tanggapan umum. Untuk informasi lebih lanjut, lihat Header Tanggapan Umum.

Contoh

  • Contoh Permintaan

    • Atur metode enkripsi ke SSE-KMS

      Contoh permintaan berikut mengonfigurasi metode enkripsi bucket bernama oss-example ke SSE-KMS:

      PUT /? encryption HTTP/1.1
      Date: Thu, 17 Apr 2025 11:09:13 GMT
      Content-Length: ContentLength
      Content-Type: application/xml
      Host: oss-example.oss-cn-hangzhou.aliyuncs.com
      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"? >
      <ServerSideEncryptionRule>
        <ApplyServerSideEncryptionByDefault>
          <SSEAlgorithm>KMS</SSEAlgorithm>
          <KMSMasterKeyID>9468da86-3509-4f8d-a61e-6eab1eac****</KMSMasterKeyID>
        </ApplyServerSideEncryptionByDefault>
      </ServerSideEncryptionRule>
  • Contoh Tanggapan

    HTTP/1.1 200 OK
    x-oss-request-id: 5C1B138A109F4E405B2D****
    Date: Thur, 5 Nov 2020 11:09:13 GMT

SDK OSS

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

ossutil

Untuk informasi tentang perintah ossutil yang sesuai dengan operasi PutBucketEncryption, lihat put-bucket-encryption.

Kode kesalahan

Kode kesalahan

Status HTTP

Deskripsi

InvalidEncryptionAlgorithmError

400

Kesalahan dikembalikan karena nilai SSEAlgorithm bukan KMS atau AES256. Pesan kesalahan berikut dikembalikan: Permintaan Enkripsi yang Anda tentukan tidak valid. Nilai yang didukung: AES256/KMS.

InvalidArgument

400

Kesalahan dikembalikan karena nilai SSEAlgorithm adalah AES256 tetapi KMSMasterKeyID ditentukan. Pesan kesalahan berikut dikembalikan: KMSMasterKeyID tidak berlaku jika algoritma sse default bukan KMS.