此接口用于为存储桶设置服务端加密。在存储桶设置服务端加密后,在该存储桶上传文件时,如果您没有指定文件的服务端加密方式,文件会默认继承存储桶的服务端加密方式。目前支持在存储桶配置 KMS 托管密钥的服务端加密(SSE-KMS)和 TOS 托管密钥的服务端加密(SSE-TOS)。
关于服务端加密的更多信息,请参见服务端加密概述。
tos:PutBucketEncryption
权限的用户才能调用 PutBucketEncryption 接口。默认情况下,存储桶的所有者直接拥有 tos:PutBucketEncryption
权限,存储桶所有者也可以将该权限授予给其他用户。PUT /?encryption HTTPS Host: bucketname.tos-cn-beijing.volces.com Date: Fri, 30 Jul 2021 08:05:36 +0000 Authorization: authorization string Content-MD5: OolRtfRnEQlFUQVcEd5Q**** { "Rule":{ "ApplyServerSideEncryptionByDefault":{ "SSEAlgorithm":"kms", "KMSMasterKeyID":"trn:kms:cn-beijing:200000****:keyrings/ring-test/keys/key-test" } } }
该请求需要在消息头中设置请求元素的 Content-MD5 值,与上传的请求元素的 MD5 值进行比较,如果不相等,将返回错误。其他使用的公共请求消息头,请参见公共参数。
名称 | 位置 | 参数类型 | 是否必选 | 示例值 | 说明 |
---|---|---|---|---|---|
encryption | Query | String | 是 | - | 代表 PutBucketEncryption 请求的特殊标识。 |
Content-MD5 | Header | String | 是 | XrY7u+Ae7tCTyyK7j1rNww== | 消息体的 Base64MD5 摘要。 |
名称 | 参数类型 | 是否必选 | 示例值 | 说明 |
---|---|---|---|---|
Rule | Array | 是 | - | 桶加密规则信息。 |
ApplyServerSideEncryptionByDefault | Array | 是 | - | 服务端加密的配置信息。 |
SSEAlgorithm | String | 是 | AES256 | 服务端加密的默认加密方式,取值说明如下:
说明 使用 SSE-KMS 进行服务端加密会产生 API 调用费用,创建 KMS 密钥会产生密钥托管费用,由 KMS 收取,更多信息,请参见 KMS 计费说明。 |
KMSMasterKeyID | String | 否 | trn:kms:cn-beijing:200000*****:keyrings/ring-test/keys/key-test | 指定 SSE-KMS 加密使用的主密钥,格式为
|
该请求返回的公共响应消息头,请参见公共参数。
该请求响应中无消息元素。
PUT /?encryption HTTPS Host: bucketname.tos-cn-beijing.volces.com Date: Fri, 30 Jul 2021 08:05:36 +0000 Authorization: authorization string Content-MD5: OolRtfRnEQlFUQVcEd5Q**** { "Rule":{ "ApplyServerSideEncryptionByDefault":{ "SSEAlgorithm":"kms", "KMSMasterKeyID":"trn:kms:cn-beijing:200000****:keyrings/ring-test/keys/key-test" } } }
HTTPS 200 OK x-tos-id-2: f91b0c03a01300c1-a444ed0 x-tos-request-id: f91b0c03a01300c1-a444ed0 Date: Fri, 30 Jul 2021 06:45:39 GMT server: TosServer Content-Length: 0