GetBucketEncryption

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。

仅当SSEAlgorithmKMS且指定了密钥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未设置加密规则。