服务端加密
使用场景
当启用服务端加密功能后,用户上传对象时,数据会在服务端加密成密文后存储。用户下载加密对象时,存储的密文会先在服务端解密为明文,再提供给用户。
OBS支持以下三种方式的服务端加密,三种方式都采用了行业标准的AES256加密算法。
- KMS托管密钥的服务端加密(SSE-KMS)
用户首先需要在KMS中创建密钥(或者使用KMS提供的默认密钥),当用户在OBS中上传对象时使用该密钥进行服务端加密。
在使用SSE-KMS方式加密时,您可以在创建桶时开启默认加密,开启后,所有上传到桶中的对象都会被加密;也可以在已创建的桶中根据需要开启默认加密,开启后,新上传到桶中的对象会被加密。
OBS仅会对开启桶默认加密之后上传的对象进行加密,不会改变开启前已经有对象的加密状态。关闭默认加密,也不会影响桶中已有对象的加密状态,关闭默认加密后可在上传对象时进行单独加密。
您可以通过控制台、API、SDK、OBS Browser+方式配置SSE-KMS加密。
- 客户提供加密密钥的服务端加密(SSE-C)
您可以通过API、SDK方式配置SSE-C加密。
- OBS根密钥派生密钥的服务端加密(SSE-OBS)
您可以通过控制台配置SSE-OBS加密。
约束与限制
- 一个对象每次上传,只支持一种服务器端加密方式。
- 当桶或者桶内对象开启了SSE-KMS服务端加密功能,需要使用IAM为请求者配置kms:cmk:get、kms:cmk:list、kms:cmk:create、kms:dek:create、kms:dek:crypto权限,才能上传下载对象。
- SSE-KMS服务端加密方式支持中国-香港、亚太-新加坡、拉美-墨西哥城一、拉美-圣保罗一、华南-广州、非洲-约翰内斯堡、亚太-曼谷、西南-贵阳一、亚太-雅加达、土耳其-伊斯坦布尔区域。
- SSE-OBS服务端加密方式仅支持亚太-曼谷、亚太-雅加达区域。
背景知识
对于SSE-KMS方式,KMS通过使用硬件安全模块 (HSM) 保护密钥安全的托管,帮助用户轻松创建和控制加密密钥。用户密钥不会明文出现在HSM之外,避免密钥泄露。对密钥的所有操作都会进行访问控制及日志跟踪,提供所有密钥的使用记录,满足监督和合规性要求。
注意事项
桶加密开关关闭后,访问加密对象必须使用HTTPS协议。
使用方式
OBS支持通过控制台、API、SDK、OBS Browser+方式设置服务端加密。
支持的使用方式 |
参考文档 |
---|---|
控制台 |
|
SDK |
OBS支持多种语言SDK,请从SDK概述页面选择进入对应的开发指南查阅。 |
API |
|
OBS Browser+ |
- |