OBS使用GET操作来获取指定桶的加密配置。
要正确执行此操作,需要确保执行者有GetEncryptionConfiguration权限。缺省情况下只有桶的所有者可以执行此操作,也可以通过设置桶策略或用户策略授权给其他用户。
有关权限控制的更多信息请参考《对象存储服务权限配置指南》的OBS权限控制概述章节。
GET /?encryption HTTP/1.1
User-Agent: curl/7.29.0
Host: bucketname.obs.cn-north-4.myhuaweicloud.com
Accept: */*
Date: date
Authorization: authorization string
该请求消息中不使用消息参数。
该请求使用公共消息头,具体参见表3。
此请求消息中不使用消息元素。
HTTP/1.1 status_code
x-obs-request-id: request id
x-obs-id-2: id
Content-Type: application/xml
Content-Length: length
Date: date
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServerSideEncryptionConfiguration xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/">
<Rule>
<ApplyServerSideEncryptionByDefault>
<SSEAlgorithm>kms</SSEAlgorithm>
<KMSDataEncryption>SM4</KMSDataEncryption>
<KMSMasterKeyID>kmskeyid-value</KMSMasterKeyID>
<ProjectID>projectid</ProjectID>
</ApplyServerSideEncryptionByDefault>
</Rule>
</ServerSideEncryptionConfiguration>
该请求的响应消息使用公共消息头,具体请参考表1。
在此请求返回的响应消息体中包含的配置元素如下。
表 1 桶的加密配置元素
消息头名称 | 描述 |
---|---|
ServerSideEncryptionConfiguration | 桶的默认加密配置的根元素。类型:Container父元素:无子元素:Rule |
Rule | 桶的默认加密配置的子元素。类型:Container父元素:ServerSideEncryptionConfiguration子元素:ApplyServerSideEncryptionByDefault |
ApplyServerSideEncryptionByDefault | 桶的默认加密配置的子元素。类型:Container父元素:Rule子元素:SSEAlgorithm,KMSMasterKeyID |
SSEAlgorithm | 表示桶的加密配置使用的服务端加密算法。类型:String有效值:kms父元素:ApplyServerSideEncryptionByDefault |
KMSDataEncryption | 表示SSE-KMS加密方式下的数据加密算法。类型:String有效值:SM4父元素:ApplyServerSideEncryptionByDefault |
KMSMasterKeyID | 表示SSE-KMS加密方式下指定的KMS主密钥ID。类型:String父元素:ApplyServerSideEncryptionByDefault |
ProjectID | 表示SSE-KMS加密方式下KMS主密钥所属的项目ID。类型:String父元素:ApplyServerSideEncryptionByDefault使用非默认IAM项目下的自定义密钥对桶内对象进行SSE-KMS加密,只有密钥拥有者可以对加密后的对象进行上传下载类操作,非密钥拥有者不能对加密对象进行上传下载类操作。 |
除了公共的错误码外,此接口还会返回一些其他的错误码。下表中列出本接口的一些常见错误,以及可能原因。如表2。
表 2 获取桶加密配置的错误码列表
错误码 | 描述 | HTTP状态码 |
---|---|---|
NoSuchEncryptionConfiguration | 指定的桶没有设置加密配置。 | 404 Not Found |
GET /?encryption HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
Accept: */*
Date: Thu, 21 Feb 2019 03:05:34 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:DpSAlmLX/BTdjxU5HOEwflhM0WI=
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF26000001643670AC06E7B9A7767921
x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSvK6z8HV6nrJh49gsB5vqzpgtohkiFm
Date: Thu, 21 Feb 2019 03:05:34 GMT
Content-Length: 788
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServerSideEncryptionConfiguration xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/">
<Rule>
<ApplyServerSideEncryptionByDefault>
<SSEAlgorithm>kms</SSEAlgorithm>
<KMSMasterKeyID>4f1cd4de-ab64-4807-920a-47fc42e7f0d0</KMSMasterKeyID>
</ApplyServerSideEncryptionByDefault>
</Rule>
</ServerSideEncryptionConfiguration>