对于 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. 从MongoDB下载中心下载自动加密共享库。导航至 MongoDB Enterprise Server Download部分并选择以下选项:

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

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

    • Package 下拉菜单中,选择 crypt_shared

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

    注意

    查询分析组件

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

  2. 配置 MongoDB Atlas 集群或本地副本集部署,并保存连接字符串以备将来使用。要了解更多信息,请参阅入门教程。

    注意

    MongoDB Community Edition不支持具有自动加密功能的Queryable Encryption

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

    • encryption.__keyVault

    • medicalRecords database

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

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

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

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

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

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

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