对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

Queryable Encryption快速入门

本教程将展示如何构建一个实现 MongoDB Queryable Encryption 功能的应用程序,以自动加密和解密文档字段。

本教程包括以下部分:

  • 设置项目:安装驱动程序和加密依赖项,配置环境变量,并使用所需的应用程序变量创建项目文件。

  • 配置加密:创建客户主密钥 (客户主密钥)、配置 KMS 提供商和自动加密设置,并创建启用加密的客户端和集合。

  • 执行加密操作:插入带有加密字段的文档,对加密字段进行查询,并运行应用程序以查看解密结果。

在下拉菜单中选择您的驱动程序语言,了解如何创建自动加密和解密文档字段的应用程序。

重要

请勿在生产环境中使用此示例应用程序

本教程中的操作说明包括在不安全的环境中存储加密密钥,因此您不应在生产环境中使用此应用程序的未修改版本。在生产环境中使用此应用程序存在以下风险:未经授权访问加密密钥或丢失解密数据所需的密钥。本教程旨在演示如何使用 Queryable Encryption,而无需设置密钥管理系统。

您可以使用密钥管理系统将加密密钥安全地存储在生产环境中。KMS 是一种远程服务,可安全地存储和托管加密密钥。要了解如何设置使用 KMS 且支持 Queryable Encryption 的应用程序,请参阅 Queryable Encryption 教程。

在开始本教程之前,请完成以下先决条件步骤:

  1. Download the Automatic Encryption Shared Library from the MongoDB Download Center. Navigate to the MongoDB Enterprise Server Download section and select the following options:

    • 在 Version 下拉菜单中,选择标记为 "current" 的版本。

    • 在 Platform 下拉列表中,选择您的平台。

    • 在 Package 下拉菜单中,选择 crypt_shared。

    提取存档文件并保存共享库文件的路径以供将来使用。

    注意

    查询分析组件

    自动加密共享库是 mongocryptd 的首选替代方案,并且不需要生成新进程来执行自动加密。本教程使用自动加密共享库。

  2. Configure a MongoDB Atlas cluster or a local replica set deployment, and save your connection string for future use. To learn more, see the Get Started tutorial.

    注意

    MongoDB Community Edition 不支持 Queryable Encryption 与自动加密。

  3. 确保数据库用户在以下命名空间中具有 dbAdmin 权限:

    • encryption.__keyVault

    • medicalRecords database

在本教程中,您创建了一个应用程序,该程序可自动加密和解密 patients 集合中的 ssn 和 billing 字段。由于您的应用程序使用加密客户端,因此查询会返回解密字段值。未配置加密密钥的客户端将看到这些字段的加密值。

要查看有关使用远程KMS进行生产就绪的Queryable Encryption的教程,请参阅Queryable Encryption教程。

要学习;了解Queryable Encryption 的工作原理,请参阅Queryable Encryption基础知识。

如需详细了解本指南中提到的主题,请参阅以下链接:

  • 有关 Queryable Encryption 组件的更多信息,请参阅参考页面。

  • 在加密密钥和密钥保管库页面上了解客户主密钥和数据加密密钥的工作原理。

  • 在 KMS 提供商页面上查看 KMS 提供商如何管理您的可查询加密密钥。