更新时间:2024-02-18 GMT+08:00

获取桶的加密配置

功能介绍

OBS使用GET操作来获取指定桶的加密配置。

要正确执行此操作,需要确保执行者有GetEncryptionConfiguration权限。缺省情况下只有桶的所有者可以执行此操作,也可以通过设置桶策略或用户策略授权给其他用户。

有关权限控制的更多信息请参考《对象存储服务权限配置指南》的OBS权限控制概述章节。

请求消息样式

1
2
3
4
5
6
GET /?encryption  HTTP/1.1
User-Agent: curl/7.29.0
Host: bucketname.obs.region.myhuaweicloud.com 
Accept: */*
Date: date 
Authorization: authorization string

请求消息参数

该请求消息中不使用消息参数。

请求消息头

该请求使用公共消息头,具体参见表3

请求消息元素

此请求消息中不使用消息元素。

响应消息样式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
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.region.myhuaweicloud.com/doc/2015-06-30/"> 
    <Rule>
        <ApplyServerSideEncryptionByDefault>
            <SSEAlgorithm>kms</SSEAlgorithm>
            <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

KMSMasterKeyID

表示SSE-KMS加密方式下指定的KMS主密钥ID。

类型:String

父元素:ApplyServerSideEncryptionByDefault

ProjectID

表示SSE-KMS加密方式下KMS主密钥所属的项目ID。

类型:String

父元素:ApplyServerSideEncryptionByDefault

说明:

使用非默认IAM项目下的自定义密钥对桶内对象进行SSE-KMS加密,只有密钥拥有者可以对加密后的对象进行上传下载类操作,非密钥拥有者不能对加密对象进行上传下载类操作。

错误响应消息

除了公共的错误码外,此接口还会返回一些其他的错误码。下表中列出本接口的一些常见错误,以及可能原因。如表2

表2 获取桶加密配置的错误码列表

错误码

描述

HTTP状态码

NoSuchEncryptionConfiguration

指定的桶没有设置加密配置。

404 Not Found

请求示例

1
2
3
4
5
6
GET /?encryption HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date:  Thu, 21 Feb 2019 03:05:34 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:DpSAlmLX/BTdjxU5HOEwflhM0WI=

响应示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
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.region.myhuaweicloud.com/doc/2015-06-30/"> 
    <Rule>
        <ApplyServerSideEncryptionByDefault>
            <SSEAlgorithm>kms</SSEAlgorithm>
            <KMSMasterKeyID>4f1cd4de-ab64-4807-920a-47fc42e7f0d0</KMSMasterKeyID>
        </ApplyServerSideEncryptionByDefault>
    </Rule>
</ServerSideEncryptionConfiguration>