DEV Community

Cover image for 💻 入门: MongoDB 集群基础设施和加密安全 💻
Danny Chan for MongoDB Builders

Posted on

2 2 2 2 2

💻 入门: MongoDB 集群基础设施和加密安全 💻

🔒 管理数据安全的考虑因素:

  • 合规性和隐私法规 🔍
  • 惩罚: 高管完全知道存储和管理数据的成本 💰
  • 可扩展性: 未来增长需求 🚀
  • 遗留基础设施: 轻松满足数据法规要求 👨‍💻
  • 灵活性: 满足法规要求, 在广度和复杂性上增长 🧠
  • 成本: 手动过程, 不合规 💸


🌍 分片集群区域:

  • 分片部署大型数据集 📊
  • 根据分片键创建分片数据区域 🗺️


🔐 网络隔离和访问:

  • 虚拟私有云 (VPC) 🛡️
  • 隔离数据, 系统 🔒
  • 每个区域高度可用 ↔️
  • 每个数据分片将有多个节点 💻
  • 自动透明故障转移, 实现零停机 ⚠️


🌐 多云集群:

  • AWS, Microsoft Azure, Google Cloud 🌍
  • 为每个文档定义地理位置 📍
  • 将相关数据保持在靠近终端用户的位置, 满足法规合规性 🌍


🔒 IP 白名单:

  • 允许指定访问的 IP 地址范围 🔐
  • 对数据的细粒度控制 🔍


🔒 可查询加密:

  • 从客户端加密敏感数据, 以完全随机的形式存储 🔐
  • 不牺牲性能 🚀


🌍 MongoDB Atlas 全球集群:

  • 控制数据部署到特定地理区域, 满足数据策略和合规性要求 🌍


🔒 客户端字段级加密:

  • 在传输、静止和使用时保护数据 🔒
  • 数据库从未看到明文, 但数据仍可查询 🔍
  • 隐私法规 (GDPR, CCPA, PII) 🌍
  • 使数据不可读, 不可恢复: 在内存、静止状态、备份和日志中 🔒



🔒 KMIP: 加密操作 🔒

  • 定义了客户端和服务器之间的密钥管理操作和数据交换方式 🔑
  • 支持任何 KMIP 支持的密钥提供商 (例如 AWS、Google Cloud、Azure) 🌍
  • 允许使用自定义的内部密钥管理软件 💻


🔒 加密数据示例: 🔒

  1. MongoDB 驱动程序从 KMIP 密钥提供商 (例如 AWS) 请求密钥 🔑
  2. 驱动程序使用该密钥加密 SSN 号码 🔒
  3. 驱动程序将加密的 SSN 号码作为密文提交查询到数据库 🔒
  4. 数据库将加密的查询结果返回给驱动程序 🔒
  5. 驱动程序使用密钥解密查询结果 🔓


🔒 加密数据的优势: 🔒

  • 减少未经授权访问的风险 🚫
  • 减少敏感数据泄露的风险 🚫
  • 数据在离开应用程序之前就已加密 🔒
  • 保护网络上、数据库内存中、静态存储和备份中以及系统日志中的数据 🔒



🌍 通过分片集群分区数据位置: 🌍



挑战:

  • 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

Image description

Danny Chan, specialty of FSI and Serverless

Image description

Kenny Chan, specialty of FSI and Machine Learning

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay