💻 入门: MongoDB 集群基础设施和加密安全 💻
Danny Chan
Posted on August 6, 2024
🔒 管理数据安全的考虑因素:
- 合规性和隐私法规 🔍
- 惩罚: 高管完全知道存储和管理数据的成本 💰
- 可扩展性: 未来增长需求 🚀
- 遗留基础设施: 轻松满足数据法规要求 👨💻
- 灵活性: 满足法规要求, 在广度和复杂性上增长 🧠
- 成本: 手动过程, 不合规 💸
🌍 分片集群区域:
- 分片部署大型数据集 📊
- 根据分片键创建分片数据区域 🗺️
🔐 网络隔离和访问:
- 虚拟私有云 (VPC) 🛡️
- 隔离数据, 系统 🔒
- 每个区域高度可用 ↔️
- 每个数据分片将有多个节点 💻
- 自动透明故障转移, 实现零停机 ⚠️
🌐 多云集群:
- AWS, Microsoft Azure, Google Cloud 🌍
- 为每个文档定义地理位置 📍
- 将相关数据保持在靠近终端用户的位置, 满足法规合规性 🌍
🔒 IP 白名单:
- 允许指定访问的 IP 地址范围 🔐
- 对数据的细粒度控制 🔍
🔒 可查询加密:
- 从客户端加密敏感数据, 以完全随机的形式存储 🔐
- 不牺牲性能 🚀
🌍 MongoDB Atlas 全球集群:
- 控制数据部署到特定地理区域, 满足数据策略和合规性要求 🌍
🔒 客户端字段级加密:
- 在传输、静止和使用时保护数据 🔒
- 数据库从未看到明文, 但数据仍可查询 🔍
- 隐私法规 (GDPR, CCPA, PII) 🌍
- 使数据不可读, 不可恢复: 在内存、静止状态、备份和日志中 🔒
🔒 KMIP: 加密操作 🔒
- 定义了客户端和服务器之间的密钥管理操作和数据交换方式 🔑
- 支持任何 KMIP 支持的密钥提供商 (例如 AWS、Google Cloud、Azure) 🌍
- 允许使用自定义的内部密钥管理软件 💻
🔒 加密数据示例: 🔒
- MongoDB 驱动程序从 KMIP 密钥提供商 (例如 AWS) 请求密钥 🔑
- 驱动程序使用该密钥加密 SSN 号码 🔒
- 驱动程序将加密的 SSN 号码作为密文提交查询到数据库 🔒
- 数据库将加密的查询结果返回给驱动程序 🔒
- 驱动程序使用密钥解密查询结果 🔓
🔒 加密数据的优势: 🔒
- 减少未经授权访问的风险 🚫
- 减少敏感数据泄露的风险 🚫
- 数据在离开应用程序之前就已加密 🔒
- 保护网络上、数据库内存中、静态存储和备份中以及系统日志中的数据 🔒
🌍 通过分片集群分区数据位置: 🌍
挑战:
- CPU 和/或内存过载 🔥
- 无法响应请求流量 🚦
- 数据库响应时间增加 🕰️
- 存储用尽 💽
- 网络接口过载 🌐
解决方案: 分片 🔧
- 水平扩展 🚀
- 增加数据库节点 (副本) 以分担请求流量 💻
- 在不同区域的节点上分布, 实现集群均衡 🌍
- 根据分片键创建分片数据区域 🗺️
- 将每个区域与集群中的一个或多个分片关联 🔗
分片细节:
- 如果额外的数据库节点宕机, 其他节点 (副本) 仍可提供读写操作 🔁
- 如果额外的数据库节点宕机, 其他节点 (副本) 只能提供读操作 📖
Reference:
https://www.mongodb.com/library/mainframe-modernization/reference-architecture-mainframe-modernization?lb-mode=overlay
Reference Architecture: Mainframe Modernization
https://www.mongodb.com/solutions/solutions-library
Solutions Library
Editor
Danny Chan, specialty of FSI and Serverless
Kenny Chan, specialty of FSI and Machine Learning
💖 💪 🙅 🚩
Danny Chan
Posted on August 6, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.