mirror of
https://github.com/rustfs/rustfs.git
synced 2026-01-17 01:30:33 +00:00
* feat(append): implement object append operations with state tracking Signed-off-by: junxiang Mu <1948535941@qq.com> * chore: rebase Signed-off-by: junxiang Mu <1948535941@qq.com> --------- Signed-off-by: junxiang Mu <1948535941@qq.com>
RustFS 文档中心
欢迎来到 RustFS 分布式文件系统文档中心!
📚 文档导航
🔐 KMS (密钥管理服务)
RustFS KMS 提供企业级密钥管理和数据加密服务。
| 文档 | 描述 | 适用场景 |
|---|---|---|
| KMS 使用指南 | 完整的 KMS 使用文档,包含快速开始、配置和部署 | 所有用户必读 |
| HTTP API 接口 | HTTP REST API 接口文档和使用示例 | 管理员和运维 |
| 编程 API 接口 | Rust 库编程接口和代码示例 | 开发者集成 |
| 配置参考 | 完整的配置选项和环境变量说明 | 系统管理员 |
| 故障排除 | 常见问题诊断和解决方案 | 运维人员 |
| 安全指南 | 安全最佳实践和合规指导 | 安全架构师 |
🚀 快速开始
1. KMS 5分钟快速部署
生产环境(使用 Vault)
# 1. 启用 Vault 功能编译
cargo build --features vault --release
# 2. 配置环境变量
export RUSTFS_VAULT_ADDRESS=https://vault.company.com:8200
export RUSTFS_VAULT_TOKEN=hvs.CAESIJ...
# 3. 启动服务
./target/release/rustfs server
开发测试(使用本地后端)
# 1. 编译测试版本
cargo build --release
# 2. 配置本地存储
export RUSTFS_KMS_BACKEND=Local
export RUSTFS_KMS_LOCAL_KEY_DIR=/tmp/rustfs-keys
# 3. 启动服务
./target/release/rustfs server
2. S3 兼容加密
# 上传加密文件
curl -X PUT https://rustfs.company.com/bucket/sensitive.txt \
-H "x-amz-server-side-encryption: AES256" \
--data-binary @sensitive.txt
# 自动解密下载
curl https://rustfs.company.com/bucket/sensitive.txt
🏗️ 架构概览
KMS 三层安全架构
┌─────────────────────────────────────────────────┐
│ 应用层 │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ S3 API │ │ REST API │ │
│ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────┤
│ 加密层 │
│ ┌─────────────┐ 加密 ┌─────────────────┐ │
│ │ 对象数据 │ ◄───► │ 数据密钥 (DEK) │ │
│ └─────────────┘ └─────────────────┘ │
├─────────────────────────────────────────────────┤
│ 密钥管理层 │
│ ┌─────────────────┐ 加密 ┌──────────────┐ │
│ │ 数据密钥 (DEK) │ ◄────│ 主密钥 │ │
│ └─────────────────┘ │ (Vault/HSM) │ │
│ └──────────────┘ │
└─────────────────────────────────────────────────┘
核心特性
- ✅ 多层加密: Master Key → DEK → Object Data
- ✅ 高性能: 1MB 流式加密,支持大文件
- ✅ 多后端: Vault (生产) + Local (测试)
- ✅ S3 兼容: 支持标准 SSE-S3/SSE-KMS 头
- ✅ 企业级: 审计、监控、合规支持
📖 学习路径
👨💻 开发者
👨💼 系统管理员
- 从 KMS 使用指南 开始
- 学习 HTTP API 接口 进行管理
- 详细阅读 配置参考
- 设置监控和日志
👨🔧 运维工程师
- 熟悉 HTTP API 接口 进行日常管理
- 掌握 故障排除 技能
- 了解 安全指南 要求
- 建立运维流程
🔒 安全架构师
- 深入学习 安全指南
- 评估威胁模型和风险
- 制定安全策略
🤝 贡献指南
我们欢迎社区贡献!
文档贡献
# 1. Fork 项目
git clone https://github.com/your-username/rustfs.git
# 2. 创建文档分支
git checkout -b docs/improve-kms-guide
# 3. 编辑文档
# 编辑 docs/kms/ 下的 Markdown 文件
# 4. 提交更改
git add docs/
git commit -m "docs: improve KMS configuration examples"
# 5. 创建 Pull Request
gh pr create --title "Improve KMS documentation"
文档规范
- 使用清晰的标题和结构
- 提供可运行的代码示例
- 包含适当的警告和提示
- 支持多种使用场景
- 保持内容最新
📞 支持与反馈
获取帮助
- GitHub Issues: https://github.com/rustfs/rustfs/issues
- 讨论区: https://github.com/rustfs/rustfs/discussions
- 文档问题: 在相关文档页面创建 Issue
- 安全问题: security@rustfs.com
问题报告模板
报告问题时请提供:
**环境信息**
- RustFS 版本: v1.0.0
- 操作系统: Ubuntu 20.04
- Rust 版本: 1.75.0
**问题描述**
简要描述遇到的问题...
**重现步骤**
1. 步骤一
2. 步骤二
3. 步骤三
**期望行为**
描述期望的正确行为...
**实际行为**
描述实际发生的情况...
**相关日志**
```bash
# 粘贴相关日志
附加信息 其他可能有用的信息...
## 📈 版本历史
| 版本 | 发布日期 | 主要特性 |
|------|----------|----------|
| v1.0.0 | 2024-01-15 | 🎉 首个正式版本,完整 KMS 功能 |
| v0.9.0 | 2024-01-01 | 🔐 KMS 系统重构,性能优化 |
| v0.8.0 | 2023-12-15 | ⚡ 流式加密,1MB 块大小优化 |
## 🗺️ 开发路线图
### 即将发布 (v1.1.0)
- [ ] 密钥自动轮转
- [ ] HSM 集成支持
- [ ] Web UI 管理界面
- [ ] 更多合规性支持 (SOC2, HIPAA)
### 长期规划
- [ ] 多租户密钥隔离
- [ ] 密钥导入/导出工具
- [ ] 性能基准测试套件
- [ ] Kubernetes Operator
## 📋 文档反馈
帮助我们改进文档!
**这些文档对您有帮助吗?**
- 👍 很有帮助
- 👌 基本满意
- 👎 需要改进
**改进建议**:
请在 GitHub Issues 中提出具体的改进建议。
---
**最后更新**: 2024-01-15
**文档版本**: v1.0.0
*感谢使用 RustFS!我们致力于为您提供最好的分布式文件系统解决方案。*