SSE-S3
为 RustFS 存储桶和对象写入配置由服务器管理的 SSE-S3 加密。
SSE-S3 使用 S3 AES256 加密模式。RustFS 为每个加密对象生成唯一的数据加密密钥,并使用配置的 KMS 服务封装该密钥。客户端无需提供或保留加密密钥。
要求
KMS 必须可用
即使 KMS 不可用,RustFS 也会接受 SSE-S3 存储桶默认设置,但之后加密对象写入会失败。将存储桶用于生产数据之前,请验证一次加密写入和读取。
设置存储桶默认加密
对未指定对象级加密模式的新写入应用 SSE-S3:
rc bucket encryption set rustfs/my-bucket --mode sse-s3
rc bucket encryption info rustfs/my-bucket报告的模式应为 SSE-S3。
上传并读取一个测试对象:
rc object copy /path/to/hello.txt rustfs/my-bucket/hello.txt
rc object show rustfs/my-bucket/hello.txt显式加密单个对象
在不更改存储桶默认设置的情况下,对单个目标应用 SSE-S3:
rc object copy /path/to/hello.txt rustfs/my-bucket/hello.txt \
--enc-s3 rustfs/my-bucket/hello.txt对于递归写入,加密选择器必须与目标前缀完全匹配:
rc object copy ./reports/ rustfs/my-bucket/reports/ --recursive \
--enc-s3 rustfs/my-bucket/reports/清除存储桶默认设置
移除默认规则:
rc bucket encryption clear rustfs/my-bucket
rc bucket encryption info rustfs/my-bucket清除或更改存储桶默认设置只影响之后的写入,不会解密或重写现有对象。
请求约定
S3 客户端使用以下请求启用 SSE-S3:
x-amz-server-side-encryption: AES256对象级请求会覆盖该次写入的存储桶默认设置。如果未提供对象级模式,RustFS 会从存储桶加密配置中确定有效模式。