GetBucketEncryption接口用于獲取存儲空間(Bucket)的加密規則。
只有Bucket的擁有者及授權的RAM用戶才能獲取Bucket的加密規則,否則返回403錯誤。有關Bucket加密的更多信息,請參見服務器端加密。
請求語法
Get /?encryption HTTP/1.1
Date: GMT Date
Host: BucketName.oss.aliyuncs.com
Authorization: SignatureValue
當您在OSS ON云盒中調用該接口時,您需要將Host替換為云盒Endpoint。更多信息,請參見云盒Endpoint。
請求頭
此接口僅涉及公共請求頭。更多信息,請參見公共請求頭(Common Request Headers)。
響應頭
此接口僅涉及公共響應頭。更多信息,請參見公共響應頭(Common Response Headers)。
響應元素
名稱 | 類型 | 示例值 | 描述 |
ServerSideEncryptionRule | 容器 | 不涉及 | 服務端加密規則的容器。 子元素:ApplyServerSideEncryptionByDefault |
ApplyServerSideEncryptionByDefault | 容器 | 不涉及 | 服務端默認加密方式的容器。 子元素:SSEAlgorithm,KMSMasterKeyID |
SSEAlgorithm | 字符串 | KMS | 顯示服務端默認加密方式。 取值:KMS、AES256、SM4 |
KMSDataEncryption | 字符串 | SM4 | Object的加密算法。如果響應中未包含此元素,表明Object使用AES256加密算法。此選項僅當SSEAlgorithm取值為KMS有效。 取值:SM4 |
KMSMasterKeyID | 字符串 | 9468da86-3509-4f8d-a61e-6eab1eac**** | 顯示當前使用的KMS密鑰ID。 僅當SSEAlgorithm為KMS且指定了密鑰ID時返回,其他情況下,此項為空。 |
示例
請求示例
Get /?encryption HTTP/1.1 Date: Tue, 20 Dec 2018 11:20:10 GMT Host: oss-example.oss-cn-hangzhou.aliyuncs.com Authorization: OSS qn6q**************:77Dv****************
返回示例
以下返回示例表明Bucket設置了SSE-KMS加密。
HTTP/1.1 204 NoContent x-oss-request-id: 5C1B138A109F4E405B2D8AEF Date: Tue, 20 Dec 2018 11:22:05 GMT <?xml version="1.0" encoding="UTF-8"?> <ServerSideEncryptionRule> <ApplyServerSideEncryptionByDefault> <SSEAlgorithm>KMS</SSEAlgorithm> <KMSMasterKeyID>9468da86-3509-4f8d-a61e-6eab1eac****</KMSMasterKeyID> </ApplyServerSideEncryptionByDefault> </ServerSideEncryptionRule>
以下返回示例表明Bucket設置了KMS-SM4加密。
HTTP/1.1 200 OK x-oss-request-id: 5C1B138A109F4E405B2D8AEF Date: Tue, 20 Dec 2018 11:22:05 GMT <?xml version="1.0" encoding="UTF-8"?> <ServerSideEncryptionRule> <ApplyServerSideEncryptionByDefault> <SSEAlgorithm>KMS</SSEAlgorithm> <KMSDataEncryption>SM4</KMSDataEncryption> <KMSMasterKeyID>9468da86-3509-4f8d-a61e-6eab1eac****</KMSMasterKeyID> </ApplyServerSideEncryptionByDefault> </ServerSideEncryptionRule>
SDK
GetBucketEncryption接口對應的各語言SDK如下:
錯誤碼
錯誤碼 | HTTP狀態碼 | 說明 |
AccessDenied | 403 | 無獲取Bucket加密規則的權限。 |
NoSuchBucket | 400 | 指定獲取加密規則對應的Bucket不存在。 |
NoSuchServerSideEncryptionRule | 400 | Bucket未設置加密規則。 |