全部產品
Search
文件中心

:PutBucketEncryption

更新時間:Jun 19, 2024

PutBucketEncryption介面用於配置儲存空間(Bucket)的加密規則。

說明

只有Bucket的擁有者及授權的RAM使用者才能為Bucket設定加密規則,否則返回403錯誤。有關Bucket加密的更多資訊,請參見伺服器端加密

請求文法

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>

請求元素

名稱

類型

是否必選

樣本值

描述

ServerSideEncryptionRule

容器

不涉及

伺服器端加密規則的容器。

子項目:ApplyServerSideEncryptionByDefault

ApplyServerSideEncryptionByDefault

容器

不涉及

伺服器端預設加密方式的容器。

子項目:SSEAlgorithm,KMSMasterKeyID

SSEAlgorithm

字串

AES256

設定伺服器端預設加密方式。

取值:KMS、AES256

說明

在OSS ON雲盒使用情境中,僅支援AES256。

使用KMS密鑰功能時會產生少量的KMS密鑰API調用費用,費用詳情請參見KMS計費標準

進行跨地區複製時,如果目標Bucket啟用了預設伺服器端加密方式,且複製規則配置了ReplicaCMKID,有以下兩種情況:

  • 如果源Bucket中的對象未加密,則使用目標Bucket的預設加密方式對跨地區複製過來的明文對象進行加密。

  • 如果源Bucket中的對象使用了SSE-KMS或SSE-OSS的加密方式,則目標Bucket針對這些對象仍然使用原加密方式進行加密。

更多資訊,請參見跨地區複製結合伺服器端加密

KMSMasterKeyID

字串

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

當SSEAlgorithm值為KMS,且使用指定的祕密金鑰加密時,需輸入KMSMasterKeyID。其他情況下,必須為空白。

在OSS ON雲盒使用情境中,不支援使用此選項。

此介面涉及的其他公用要求標頭,例如Date、Host等。更多資訊,請參見公用要求標頭(Common Request Headers)

回應標頭

此介面僅涉及公用回應標頭。更多資訊,請參見公用回應標頭(Common Response Headers)

樣本

  • 請求樣本

    • 設定SSE-KMS加密

      以下樣本用於對名為oss-example的Bucket設定SSE-KMS加密。

      PUT /?encryption HTTP/1.1
      Date: Thur, 5 Nov 2020 11:09:13 GMT
      Content-Length:ContentLength
      Content-Type: application/xml
      Host: oss-example.oss-cn-hangzhou.aliyuncs.com
      Authorization: OSS qn6q**************:77Dv****************
      <?xml version="1.0" encoding="UTF-8"?>
      <ServerSideEncryptionRule>
        <ApplyServerSideEncryptionByDefault>
          <SSEAlgorithm>KMS</SSEAlgorithm>
          <KMSMasterKeyID>9468da86-3509-4f8d-a61e-6eab1eac****</KMSMasterKeyID>
        </ApplyServerSideEncryptionByDefault>
      </ServerSideEncryptionRule>
  • 返回樣本

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

SDK

PutBucketEncryption介面對應的各語言SDK如下:

錯誤碼

錯誤碼

HTTP狀態代碼

說明

InvalidEncryptionAlgorithmError

400

當SSEAlgorithm取值不為KMS或者AES256時,則返回此錯誤,錯誤提示為The Encryption request you specified is not valid. Supported value: AES256/KMS

InvalidArgument

400

當SSEAlgorithm取值為AES256,但填寫了KMSMasterKeyID,則返回此錯誤,錯誤提示為KMSMasterKeyID is not applicable if the default sse algorithm is not KMS