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,有以下兩種情況:
更多資訊,請參見跨地區複製結合伺服器端加密。 |
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時,則返回此錯誤,錯誤提示為 |
InvalidArgument | 400 | 當SSEAlgorithm取值為AES256,但填寫了KMSMasterKeyID,則返回此錯誤,錯誤提示為 |