minio 服务端加密方式
一、核心加密方式及特点
1. SSE-S3(Server-Side Encryption with MinIO-Managed Keys)
密钥由 MinIO 自身生成、管理和轮换,无需用户干预。
加密范围覆盖对象数据和元数据,默认支持自动加密桶内新增对象。
2. SSE-KMS(Server-Side Encryption with KMS-Managed Keys)
密钥由外部 KMS 服务(如 HashiCorp Vault、AWS KMS)管理,MinIO 仅存储密钥标识符。
支持细粒度密钥策略,可对接 KMS 的密钥轮换、权限管控功能。
3. SSE-C(Server-Side Encryption with Customer-Provided Keys)
密钥由用户自行提供,MinIO 仅在加密 / 解密时临时使用,不存储任何密钥信息。
需用户自行负责密钥的备份、轮换和安全保管。
二、各类加密方式优缺点对比
SSE-S3(服务器端加密每部署密钥)
优点
配置最简单,零密钥管理成本,开箱即用,适合中小规模部署。
缺点
密钥与 MinIO 服务共存,若 MinIO 服务被入侵可能导致密钥泄露,缺乏第三方密钥审计能力。
实现
此方式需要部署minio官网的kes服务支持,具体方法参考官方文档
官方参考地址:https://min-io.cn/docs/kes/tutorials/kes-for-minio/
SSE-KMS(使用存储桶密钥的服务器端加密)
优点
密钥安全性最高,分离存储与密钥管理,支持合规审计,适合企业级、大规模部署。
缺点
需额外部署 / 对接 KMS 服务,增加运维成本和系统复杂度。
实现
此方式实现需要使用云厂商的KMS服务。
AWS Secrets Manager
Azure Key Vault
Entrust KeyControl
Fortanix SDKMS
Google Cloud Secret Manager
HashiCorp Vault Keystore
Thales CipherTrust Manager (以前称为 Gemalto KeySecure)
SSE-C(服务器端加密与客户端管理密钥)
优点
用户完全掌控密钥,MinIO 无密钥存储风险,满足极高隐私需求场景。
缺点
用户需自行处理密钥丢失、轮换问题,密钥传输过程需额外保障安全,易因密钥管理不当导致数据丢失。
具体实现
官方参考地址:https://www.minio.org.cn/docs/minio/linux/administration/server-side-encryption/server-side-encryption-sse-c.html
1、生成加密密钥
cat /dev/urandom | head -c 32 | base64 -
2、使用 SSE-C 加密一个对象
mc cp ~/data/mydata.json ALIAS/BUCKET/mydata.json \
--encrypt-key "ALIAS/BUCKET/=c2VjcmV0ZW5jcnlwdGlvbmtleWNoYW5nZW1lMTIzNAo="
- 将 ALIAS 替换为 MinIO部署的 alias, 您希望在此部署上写入 SSE-C加密的对象。
- 将 BUCKET 替换为要写入 SSE-C加密对象的完整桶路径或桶前缀。
3、复制一个SSE-C加密的对象
mc cp SOURCE/BUCKET/mydata.json TARGET/BUCKET/mydata.json \
--encrypt-key "SOURCE/BUCKET/=c2VjcmV0ZW5jcnlwdGlvbmtleWNoYW5nZW1lMTIzNAo=,TARGET/BUCKET/=c2VjcmV0ZW5jcnlwdGlvbmtleWNoYW5nZW1lMTIzNAo="
- 将 SOURCE/BUCKET 替换为从其读取加密对象的MinIO部署的 别名 以及您想要读取SSE-C加密对象的完整存储桶 或存储桶前缀 路径。
- 将 TARGET/BUCKET 替换为写入加密对象的MinIO部署的 别名 以及您想要写入SSE-C加密对象的完整存储桶 或存储桶前缀 路径
备注:此加密方法是有客户端保存密钥,上传和下载文件的时候,传入相同的密钥,需要客户端保存好自己的密钥,如密钥丢失,则数据丢失。
三、通用优缺点(所有服务端加密)
共同优点
数据静态加密,符合 GDPR、HIPAA 等合规要求,防止存储介质泄露导致数据泄露。
加密 / 解密过程由 MinIO 服务端处理,对客户端透明,不影响业务使用。
共同缺点
增加服务端 CPU 开销,可能导致读写性能下降(通常降低 10%-20%,视硬件配置而定)。
加密后的数据无法直接通过存储介质读取,需通过 MinIO 服务解密,增加数据恢复依赖。

浙公网安备 33010602011771号