设置服务端加密
更新时间:2024-06-14
概述
为了更好地保证数据安全性,BOS 支持在服务端为数据进行 SSE(Server-Side Encryption)加密编码。当您在配置 SSE 加密后,当文件上传时,BOS 会通过携带加密参数的方式来对上传数据执行服务端加密设置。同时,为了提升易用性,BOS 在 Bucket 设置中增设了服务端加密开关,开启之后该 Bucket 内新上传的数据都会默认执行加密,而不影响设置开启前的历史存量数据。
加密方式
目前 BOS 支持两种加密方式:BOS 托管密钥和 KMS 服务托管密钥
- BOS 托管密钥:当选择BOS托管密钥时,所有上传该Bucket的数据都会使用BOS服务托管的密钥进行统一加密保护,用户获取数据时将由BOS服务进行自动解密,用户不需做其他操作,简单方便。
- KMS 服务托管密钥:您需要开通百度智能云密钥管理服务,并创建由自己管理的 KMS 密钥。KMS 中会为根据您创建的 KMS 主密钥生成对应的 Data Key,数据上传时会根据生成的 Data Key 来对数据进行自动加密。
设置服务端加密
- 登录 对象存储 BOS 管理控制台。
- 在左侧 Bucket 列表中,选择需要设置权限的 Bucket,点击 Bucket 名称进入 Bucket 管理目录。
- 在上方导航栏选择 配置管理 页签。
- 在 配置管理 页面中选择 高级配置,在 服务端加密配置 区域点击 修改配置 对该 Bucket 进行服务端加密配置。
-
在服务端加密操作栏中,打开加密设置并选择加密方式。您可以选择 BOS 托管密钥或者 KMS 托管密钥的方式对上传的数据进行服务端加密。
- 若您选择 BOS 托管密钥,则无需进行其他额外配置,点击确认后即可生效。
- 若您选择 KMS 托管密钥的方式进行加密,您需要先开通百度智能云密钥管理服务,并创建由自己管理的 KMS 密钥。选择 KMS 服务托管密钥方式,您需要在下拉列表中选择自己在百度智能云 KMS 密钥管理服务中已经创建好的密钥。之后,用户上传该 Bucket 的数据将以用户选择的自定义密钥进行加密保护。同样,当用户读取数据时,BOS 服务会向 KMS 服务申请进行数据解密后,向用户返回明文数据。
- 点击 确认,完成服务端加密配置。
相关 API
- PutBucketEncryption 接口:使用 PutBucketEncryption API 接口开启指定 Bucket 的加密开关。
- GetBucketEncryption 接口:使用 GetBucketEncryption API 接口获取 Bucket 服务端加密是否打开。
- DeleteBucketEncryption 接口:使用 DeleteBucketEncryption API 接口关闭服务端加密功能。