保护 Azure Cosmos DB for Apache Gremlin 帐户

重要

你是否正在寻找一种数据库解决方案,以应对需要高扩展性、99.999% 可用性服务级别协议(SLA)、即时自动扩展和跨多个区域的自动故障转移的场景? 请考虑 Azure Cosmos DB for NoSQL

适用于 Apache Gremlin 的Azure Cosmos DB是一种完全托管的图形数据库服务,可用于使用 Gremlin 查询语言来存储、查询和遍历大规模图形数据。

本文提供了有关如何最好地保护用于 Apache Gremlin 部署的 Azure Cosmos DB 的指导。

网络安全

  • 禁用公共网络访问并且仅使用专用终结点:使用将网络访问限制为只能通过 Azure 中部署的虚拟网络进行访问的配置,部署用于 NoSQL 的 Azure Cosmos DB。 该帐户通过配置的特定子网公开。 然后,为整个帐户禁用公用网络访问,并为连接到该帐户的服务专门使用专用终结点。 有关详细信息,请参阅 配置虚拟网络访问 并从 专用终结点配置访问权限
  • 启用用于网络隔离的网络安全边界 (NSP):使用 NSP 通过定义网络边界并使其与公共互联网访问隔离,来限制对 Azure Cosmos DB 帐户的访问。 有关详细信息,请参阅 配置网络安全外围

标识管理

  • 使用托管标识从其他 Azure 服务访问你的帐户: 使用 Microsoft Entra ID 中自动管理的标识,无需管理凭据。 使用托管标识从其他 Azure 服务安全地访问 Azure Cosmos DB,而无需在代码中嵌入凭据。 有关详细信息,请参阅 Azure 资源的托管标识
  • 分离用于数据和控制平面访问的Azure标识:对数据平面和控制平面操作使用不同的Azure标识,以减少特权升级的风险,并确保更好的访问控制。 这种分离通过限制每个标识的范围来提高安全性。

运输安全

  • 使用和强制实施传输层安全性 (TLS) 1.3 实现传输安全性: 使用最新的加密协议强制实施 TLS 1.3 来保护传输中的数据,以确保更强加密并提高性能。 有关详细信息,请参阅 最低 TLS 强制要求

数据加密

  • 使用服务管理的密钥或客户管理的密钥(CMK):加密静态数据或动态数据: 通过在静态和传输中加密敏感数据来保护敏感数据。 为简单起见,使用服务管理的密钥或 CMK 可以更好地控制加密。 有关详细信息,请参阅配置客户管理的密钥

  • 使用客户端加密:确保在将数据发送到Azure Cosmos DB之前在客户端加密敏感数据。 使用 Always Encrypted 实现额外的安全层。 有关详细信息,请参阅 Always Encrypted

备份和还原

  • 启用本机连续备份和还原:启用连续备份来保护数据,以便可以将Azure Cosmos DB帐户还原到保留期内的任何时间点。 有关详细信息,请参阅 连续备份和还原
  • 测试备份和恢复过程: 通过定期测试数据库、容器和项的还原来验证备份过程的有效性。 有关详细信息,请参阅 还原容器或数据库