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

通过私有端点使用Azure Key Vault管理客户数密钥

注意

此功能不适用于以下任何部署:

  • 免费集群

  • Flex 集群

要学习;了解更多信息,请参阅限制。

您可以使用Azure Key Vault (AKV) 中的客户托管密钥 ( 集合扫描 ) 进一步加密Atlas中的静态静态数据。 您还可以将AKV的所有流量配置为使用Azure Private Link。

注意

MongoDB Atlas责任共担模型定义了MongoDB及其客户在维护安全和弹性数据环境方面的互补职责。在此框架下, MongoDB管理根本的平台的安全性和操作完整性,而客户则负责其特定部署的配置、管理和数据策略。有关安全性和卓越运营之间所有权的详细划分,请参阅责任共担模型。

本页介绍如何使用Atlas Administration API在 AKV 中自动设立Azure Private Link,确保Atlas和 AKV 之间的所有流量都通过Azure的专用网络接口进行。

在通过私有端点使用 AKV启用静态加密之前,查看以下使用案例、优势、限制和先决条件。

假设您的Atlas部署在单个云服务提供商上。现在,您要求对 AKV 的所有访问权限都通过云提供商的私有网络基础架构进行。本页将引导您完成为Atlas项目启用私有端点连接的步骤。

您可以使用Atlas Administration API ,允许Atlas使用私有端点通过 AKV 配置静态加密。这样,流向 AKV 的所有流量都可以通过一设立私有端点,避免将 AKV 暴露给公共互联网或公共IP地址。它无需维护允许的IP地址,同时通过将所有 AKV 流量保持在Azure的专用网络内来增强数据安全性。

警告

与Atlas对等互连的 VNet 上的Azure资源锁可以区块创建和删除静态加密私有端点。

Atlas在 Atlas 托管的 VNet 中为集群地区创建私有端点。如果该Atlas VNet 与Azure订阅中的 VNet 建立对等互连, Azure将在私有端点操作中更新对等互连 VNet 上的网络资源。如果该对等互连 VNet 或包含该资源群组上存在资源锁,则Azure将返回 ScopeLocked,并且私有端点无法完成。

此锁通常位于对等互连 VNet 的资源群组上,而不是位于 AKV资源群组上。仅锁AKV资源群组不会导致此故障。

当资源锁定存在时,创建或删除私有端点:

1

暂时删除该锁,或将资源组锁替换为不覆盖对等互连 VNet 的资源级锁。

2
3

如果要创建私有端点,请批准 AKV 上待处理的私有端点连接。

4

您的 AKV 可以位于与Atlas私有端点不同的地区。支持跨区域 AKV,并且不会导致 ScopeLocked 错误。

若要学习;了解有关Azure资源锁的更多信息,请参阅锁定资源以保护基础架构。

如果您使用的是多区域集群,则必须在部署集群的每个地区中为 AKV 创建私有端点。

要使用 AKV 为MongoDB项目启用客户管理的密钥,您必须:

  • 使用 M10 或更大的集群。
  • 拥有Azure帐户和 Key Vault凭证,以及 AKV 中加密密钥的密钥标识符。

    要学习;了解如何配置这些Azure组件,请参阅Azure文档。

    Atlas 在为 Atlas 项目中的集群启用静态加密时使用这些资源。

注意

您必须在Azure订阅资源提供程序下注册Microsoft .Network。要学习;了解详情,请参阅Azure文档。

您必须为项目启用集合扫描 ,然后才能在该项目中的集群上启用CMK。 您可以通过Atlas用户界面和Atlas Administration API为项目启用集合扫描 。

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access。

  4. 在侧边栏中,单击 Advanced。

    显示“高级”页面。

2
3
4

Atlas支持两种 AKV身份验证方法:

5

客户 ID

输入Azure应用程序的 Client ID(或 Application ID)。确保您已为 Active Directory Application 分配必要的访问权限。要学习;了解更多信息,请参阅所需的访问权限。

租户 ID

输入 Active Directory 租户的 Tenant ID(或 Directory ID)。

密钥

输入与 Active Directory 租户关联的应用程序的未过期客户端密钥之一。

Azure 环境

选择 Active Directory 租户所在的 Azure 云。

6

订阅 ID

输入密钥保管库的 Subscription ID(订阅 ID)。

资源组名称

输入包含密钥保管库的Azure Resource Group的Resource Group名称。

Key Vault 名称

输入密钥保管库的名称。确保密钥保管库具有必要的访问策略。要学习;了解更多信息,请参阅所需的访问权限。

注意

启用并设立AKV 的私有端点连接后,您无法在此处修改 AKV凭证。

7

密钥标识符

输入在密钥库中创建的密钥的完整 URL。

重要提示:密钥标识符必须以完整的Azure通用格式提供:

https://{keyvault-name}.vault.azure.net/{object-type}/{object-name}

您可以附加 /{object-version}。但是,我们建议您省略版本,以启用自动解析到最新版本的功能。

8

要学习;了解更多信息,请参阅为项目启用和设置私有端点连接

9

如果使用Atlas Administration API将Atlas配置为使用Azure Private Link与 AKV 通信,以确保Atlas和 Key Vault 之间的所有流量都通过Azure的专用网络接口进行,Atlas会将 Require Private Networking 状态设置为 Active。如果状态为 Inactive,并且您希望Atlas使用 AKV 的私有端点连接,则可以选择完成为项目启用和设置私有端点连接的步骤。

10

在加密过程中,Atlas 会在 Atlas 控制台中显示横幅。

您可以使用Atlas用户界面和Atlas Administration API启用和设立私有端点。要启用私有网络并在 AKV 中设立私有端点,您必须执行以下操作:

在开始之前,要学习;了解Azure资源锁如何区块私有端点创建,请参阅Azure资源锁。

2
  1. 切换 Require Private Networking 以启用私有端点连接。

  2. 单击 Save(连接)。

3

显示Set Up Private Networking for Azure页面。

4

如果您的集群已启用AKV静态加密,则Atlas会自动使用您的集群区域填充这些区域。否则,要添加区域,请执行以下操作:

  1. 从下拉列表中选择Azure区域。

    重要

    对于多区域集群,必须选择部署集群的每个地区。

  2. 单击 Continue(连接)。

    Atlas会自动在这些区域中创建私有端点,允许您使用私有网络进行连接。

5

您可以使用Azure用户界面、 CLI或 Terraform 批准私有端点连接。

批准后, Atlas自动迁移您启用了客户托管密钥的所有集群(包括允许使用公共互联网连接的现有集群),以仅使用私有端点连接。在迁移集群以使用私有端点连接后,您可以选择禁用对 AKV 的公共互联网访问权限。默认下, Azure上的所有新Atlas集群将仅使用活动的私有端点连接。 Atlas仅在私有端点获批的区域为现有集群部署额外节点。

批准私有端点后, Atlas最多可能需要三分钟才能反映私有端点的当前状态。对于每个地区中的私有端点,Approve Endpoints 页面显示每个私有端点的状态。要学习;了解更多信息,请参阅查看私有端点及其状态。

6

为项目启用使用集合扫描 的静态加密(通过专用网络)后,您可以为项目中的每个Atlas 集群启用使用集合扫描 的静态加密。

为项目启用客户管理的密钥后,您必须为包含要加密的数据的每个Atlas 集群启用客户密钥管理。如果您为Atlas项目配置了私有端点连接, Atlas自动迁移您已启用客户托管密钥的所有集群(包括允许使用公共互联网连接的现有集群),以仅使用私有端点连接。

注意

您必须拥有 Project Owner 角色才能为该项目中的集群启用客户密钥管理。

对于新集群,请在创建集群时将“管理自己的加密密钥”设置切换为Yes (如果尚未启用)。

对于现有群组:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 在侧边栏中,单击 Database 标题下的 Clusters。

会显示集群页面。

2

对于包含要加密的数据的集群,请单击 ,然后选择 Edit Configuration。

3
  1. 展开 Additional Settings 面板。

  2. 将 Manage your own encryption keys 设置切换为 Yes。

  3. 验证您的集群的 Require Private Networking 设置的状态。

    如果您在项目级别为Atlas配置了使用集合扫描 (通过专用网络)进行静态加密,则状态为 Active。如果您尚未为项目配置任何私有端点连接,则状态为 Inactive。

4
  1. 单击 Review Changes(连接)。

  2. 查看更改,然后单击 Apply Changes 以更新集群。

要为项目禁用集合扫描 ,必须先删除与项目关联的所有私有端点,无论其状态如何。如果您尝试为与活动私有端点关联的项目禁用集合扫描 , Atlas会显示错误。

删除项目的所有私有端点后,必须先禁用项目中每个集群的客户密钥管理,然后再禁用项目的功能。

警告

在禁用Atlas项目中的客户密钥管理之前,请勿禁用或删除Atlas项目中的任何集群使用的任何AKV密钥。 如果Atlas无法访问权限AKV密钥,则任何经该密钥加密的数据都将无法访问。

为项目启用并设置私有端点连接后,您可以随时从Atlas用户界面和Atlas Administration API添加其他端点。

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access。

  4. 在侧边栏中,单击 Advanced。

    显示“高级”页面。

2

在 Advanced 页面的 Encryption at Rest using your Key Management 部分中,执行以下操作:

  1. 如果您的 Azure Key Vault 的 Network Settings 已折叠,请将其展开。

  2. 单击 Manage(连接)。

    Private Endpoints for Azure Key Vault 页面显示Atlas集群的区域、端点名称、私有端点状态以及可以对私有端点执行的操作。

3
4
  1. 从下拉列表中选择地区。

  2. 单击 Continue(连接)。

    Atlas会自动在这些区域中创建私有端点,允许您使用私有网络进行连接。

5

您必须批准 AKV 中的每个端点才能使用私有端点。您可以使用Azure用户界面、CLI或 Terraform 批准私有端点连接。

对于每个地区的私有端点,Approve Endpoints 页面显示每个私有端点的状态。批准私有端点后, Atlas最多可能需要三分钟才能反映私有端点的当前状态。要学习;了解有关私有端点状态的更多信息,请参阅查看私有端点及其状态。

6

您可以从Atlas用户界面和Atlas Administration API删除私有端点连接。

在开始之前,要学习;了解Azure资源锁如何区块私有端点删除,请参阅Azure资源锁。

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access。

  4. 在侧边栏中,单击 Advanced。

    显示“高级”页面。

2

在 Advanced 页面的 Encryption at Rest using your Key Management 部分中,执行以下操作:

  1. 如果您的 Azure Key Vault 的 Network Settings 已折叠,请将其展开。

  2. 单击 Manage(连接)。

    Private Endpoints for Azure Key Vault 页面显示Atlas集群的区域、端点名称、私有端点状态以及可以对私有端点执行的操作。

3
  1. 单击要删除的私有端点的 Actions 列中的 图标。

  2. 单击 Delete,确认删除私有端点。

删除私有端点时,在Atlas删除私有端点时,私有端点会转换为 DELETING 状态。

如果您从Azure用户界面中删除或拒绝活动的私有端点, Atlas会自动尝试在同一地区中重新创建新的私有端点。您可以从Atlas用户界面和Atlas Administration API检查私有端点的状态。要学习;了解更多信息,请参阅查看私有端点及其状态。

当Atlas尝试创建新的私有端点时,您拒绝或删除的私有端点的状态将转换为PENDING_RECREATION ,并且Atlas尝试创建的新端点处于INITIATING状态。 创建新的私有端点后,必须予以批准。

您可以从Atlas用户界面和Atlas Administration API查看各个区域中的私有端点及其状态。

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access。

  4. 在侧边栏中,单击 Advanced。

    显示“高级”页面。

2

在 Advanced 页面的 Encryption at Rest using your Key Management 部分中,执行以下操作:

  1. 如果您的 Azure Key Vault 的 Network Settings 已折叠,请将其展开。

  2. 单击 Manage(连接)。

    Private Endpoints for Azure Key Vault 页面显示Atlas集群的区域、端点名称、私有端点状态以及可以对私有端点执行的操作。

每个私有端点均可处于以下状态之一:

待批准

表示私有端点尚未获得批准。 您必须接受私有端点才能允许Atlas使用它。

活跃的

表示私有端点已获批准, Atlas可以或正在使用它。

已失败

表示创建私有端点失败。

要禁用项目的私有端点连接,必须首先删除与项目关联的所有私有端点,无论其状态如何。如果项目与活动的私有端点关联, Atlas不会禁用项目的私有端点连接。

删除项目的所有私有端点后,您可以使用Atlas用户界面和Atlas Administration API禁用项目的私有端点连接。

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access。

  4. 在侧边栏中,单击 Advanced。

    显示“高级”页面。

2
  1. 在 Encryption at Rest using your Key Management 下,选择 Azure Key Vault 。

  2. 在 Network Settings 下,将 Require Private Networking 旁边的按钮切换为 Off。

  3. 单击 Save(连接)。

您可以从 AKV 中撤销 Atlas 对加密密钥的访问权限,以冻结您的数据。当您撤销对加密密钥的访问权限时, Atlas会自动暂停您的集群。

注意

此功能不适用于以下任何部署:

  • 免费集群

  • Flex 集群

要学习;了解更多信息,请参阅限制。

开始之前,请学习;了解关于轮换Azure密钥标识符。

您必须在与Atlas项目关联的AKV中创建新密钥。 以下过程介绍如何通过在Atlas中指定新的密钥标识符来轮换Atlas项目密钥标识符。

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access。

  4. 在侧边栏中,单击 Advanced。

    显示“高级”页面。

2
3
  1. 如果 Azure Key Vault 选择器尚未激活,请单击 Azure Key Vault 。

  2. 如果 Encryption Key 选择器尚未激活,请单击 Encryption Key 。

  3. 在 Key Identifier(密钥标识符)字段中输入 Azure 密钥标识符。

    包含新加密密钥标识符的完整URL 。示例:

    https://mykeyvault.vault.azure.net/keys/AtlasKMSKey/a241124e3d364e9eb99fbd3e11124b23

    重要

    加密密钥必须属于为该项目配置的密钥保管库。单击 Key Vault 部分可查看当前为项目配置的密钥保管库。

  4. 单击 Update Credentials(连接)。

在密钥标识符轮换过程中,Atlas 在 Atlas 用户界面中显示横幅。在部署更改之前,请勿删除或禁用原始密钥标识符。

如果集群使用备份集群,在您验证没有快照使用过原始密钥密钥进行加密之前,请勿删除或禁用原始密钥标识符。