更新时间:2026-06-01 GMT+08:00
分享

设置桶加密配置

功能介绍

设置桶的加密配置,以允许在该桶中上传对象时,采用对应加密配置对数据进行加密,数据在服务端被加密成密文后存储,用户下载加密对象时,存储的密文会先在服务端解密为明文,再提供给用户。

调用设置桶加密配置接口,您可以为指定桶创建或更新加密配置信息。

接口约束

  • 您必须是桶拥有者或拥有设置桶加密配置的权限,才能设置桶加密配置。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutEncryptionConfiguration权限,如果使用桶策略则需授予PutEncryptionConfiguration权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略自定义创建桶策略
  • OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点

方法定义

ObsClient.setBucketEncryption(params)

请求参数说明

表1 请求参数列表

参数名称

参数类型

是否必选

描述

Bucket

string

必选

参数解释

桶名。

约束限制:

  • 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。
  • 桶命名规则如下:
    • 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。
    • 禁止使用IP地址。
    • 禁止以“-”或“.”开头及结尾。
    • 禁止两个“.”相邻(如:“my..bucket”)。
    • 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。
  • 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。

默认取值:

Rule

object

必选

参数解释

桶加密配置规则,详见表2 Rule

表2 Rule

参数名称

参数类型

是否必选

描述

ApplyServerSideEncryptionByDefault

object

必选

参数解释

桶的默认加密配置,详见表3 ApplyServerSideEncryptionByDefault

BucketKeyEnabled

bool

可选

参数解释:

是否开启OBS桶密钥特性。

约束限制:

  • 该参数仅支持SSEAlgorithm取值为kms时配置。
  • 设置POSIX桶时,该参数取值为true,KMSMasterKeyID为必选项。

取值范围:

  • true:开启OBS桶密钥特性。
  • false:关闭OBS桶密钥特性。

默认取值:

false

表3 ApplyServerSideEncryptionByDefault

参数名称

参数类型

是否必选

描述

SSEAlgorithm

String

必选

参数解释:

桶默认加密配置要使用的服务端加密算法。

约束限制:

不涉及

取值范围:

  • kms:使用SSE-KMS加密方式,默认使用AES256算法;如果您需要使用SM4加密算法,还需要配置KMSDataEncryption。
  • AES256:使用SSE-OBS加密方式,且使用AES256加密算法。

默认取值:

不涉及

KMSDataEncryption

String

可选

参数解释:

SSE-KMS加密方式下的数据加密算法。

约束限制:

不涉及

取值范围:

SM4:国密SM4算法。

默认取值:

不涉及

KMSMasterKeyID

String

可选

参数解释:

SSE-KMS加密方式下使用的KMS主密钥ID。

约束限制:

  • 如果用户没有提供该头域,那么默认的主密钥将会被使用。
  • BucketKeyEnabled取值为true时,KMSMasterKeyID取值为携带用户在kms上创建的主密钥ID。

取值范围:

  • regionID:domainID(账号ID):key/key_id
  • key_id

其中:

默认取值:

不涉及

ProjectID

String

可选

参数解释:

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

约束限制:

  • 如果KMS主密钥所属的项目为非默认项目,则需要通过该参数进行项目ID指定。
  • 在未设置KMSMasterKeyID的情况下,不可设置项目ID。
  • 使用非默认IAM项目下的自定义密钥对桶内对象进行SSE-KMS加密,只有密钥拥有者可以对加密后的对象进行上传下载类操作,非密钥拥有者不能对加密后的对象进行上传下载类操作。

取值范围:

与KMSMasterKeyID相匹配的项目ID,即ID为KMSMasterKeyID的主密钥所在项目的项目ID。

默认取值:

不涉及

返回结果说明

表4 ICommonMsg

参数名称

参数类型

描述

Status

number

参数解释:

OBS服务端返回的HTTP状态码。

取值范围:

状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码

Code

string

参数解释:

OBS服务端返回的错误码。

Message

string

参数解释:

OBS服务端返回的错误描述。

HostId

string

参数解释:

OBS服务端返回的请求服务端ID。

RequestId

string

参数解释:

OBS服务端返回的请求ID。

Id2

string

参数解释:

OBS服务端返回的请求ID2。

Indicator

string

参数解释:

OBS服务端返回的详细错误码。

相关文档