你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Cosmos DB for MongoDB vCore 中的数据库安全性概述
适用对象: MongoDB vCore
本文介绍了 Azure Cosmos DB for MongoDB vCore 提供的数据库安全最佳做法以及关键功能,可帮助你防范、检测和应对数据库入侵。
Azure Cosmos DB for MongoDB vCore 安全性中的新增功能
现在,静态加密已可用于大多数 Azure 区域 Azure Cosmos DB for MongoDB vCore 中存储的文档和备份。 对于这些区域中的新客户和现有客户,会自动应用静态加密。 无需配置任何内容。 可获得与以前(即知道使用静态加密可确保数据安全之前)一样的出色延迟、吞吐量、可用性和功能。 Azure Cosmos DB for MongoDB vCore 帐户中存储的数据将使用服务托管密钥通过 Microsoft 管理的密钥进行自动无缝加密。
如何保护我的数据库
数据安全性的责任由你、客户和数据库提供程序共同分担。 根据所选的数据库提供程序,要承担的责任大小将有所不同。 如果选择本地解决方案,则从终结点保护到硬件物理安全性的所有工作都由你负责 - 这不是一个轻松的任务。 如果选择 Azure Cosmos DB 等 PaaS 云数据库提供程序,要考虑的问题会明显减少。 下图摘自 Microsoft 的 Shared Responsibilities for Cloud Computing(云计算的责任分担)白皮书,显示了使用 Azure Cosmos DB 等 PaaS 提供程序时,责任会得到怎样的减轻。
上图显示了高层级的云安全组件,但是,对于数据库解决方案,需要考虑到哪些具体的事项呢? 如何对不同的解决方案进行比较?
建议根据以下要求查检表来比较数据库系统:
- 网络安全和防火墙设置
- 用户身份验证和精细用户控制
- 能够全局复制数据来应对区域性故障
- 能够从一个数据中心故障转移到另一个数据中心
- 在数据中心内执行本地数据复制
- 自动数据备份
- 从备份还原已删除的数据
- 保护和隔离敏感数据
- 监视攻击
- 响应攻击
- 能够地域隔离数据以遵守数据监管限制
- 对受保护数据中心内的服务器实施物理保护
- 认证
以下要求看似理所当然,但最近发生的大规模数据库入侵提醒我们这些要求尽管很简单,但却至关重要:
- 让修补的服务器保持最新状态
- HTTPS(默认)/TLS 加密
- 使用强密码的管理帐户
Azure Cosmos DB 如何保护数据库
Azure Cosmos DB for MongoDB vCore 可无缝满足每项安全要求。
让我们深入分析其中的每项要求。
安全要求 | Azure Cosmos DB 的安全方案 |
---|---|
网络安全性 | 通过成熟的专用链接技术实现的专用访问使你可以为 Azure VNet 中的资源提供对群集的访问权限。 公共访问使你可以将群集开放给一组定义的公共 IP 地址。 可以随时组合以及启用或禁用专用和公共访问。 默认配置:默认情况下,刚创建的 Azure Cosmos DB for MongoDB vCore 群集已锁定。 若要提供对群集的访问权限,应更新网络设置,以便在群集创建期间或之后启用群集的专用和/或公共访问。 专用访问:启用专用访问后,可以创建专用终结点,以便以私密方式从 Azure 虚拟网络访问群集。 专用终结点是在指定的 VNet 子网中创建的。 完成后,所有 Azure 虚拟网络功能 都可用于群集,包括本地和全局虚拟网络对等互连、对专用本地环境的访问权限、网络流量的筛选和路由等。 公共访问:使用 IP 防火墙是用于保护数据库的第一个保护层。 Azure Cosmos DB for MongoDB vCore 支持使用基于 IP 的策略驱动访问控制来提供入站防火墙支持。 基于 IP 的访问控制类似于传统数据库系统使用的防火墙规则。 但它们是经过扩展的,以确保只能通过获得批准的一组计算机或云服务访问 Azure Cosmos DB for MongoDB vCore 群集。 Azure Cosmos DB for MongoDB vCore 会阻止从此允许列表之外的计算机发出的所有请求。 从获批准计算机和云服务发出的请求必须完成身份验证过程才能获得资源的访问控制权。 |
本地复制 | 即使在单个区域中,Azure Cosmos DB for MongoDB vCore 也会在存储级别复制数据,始终以透明方式维护每个物理分片的 3 个同步副本。 已启用 HA 的群集在每个主物理分片和备用物理分片对之间具有另一层复制。 高可用性复制是同步的,在故障转移时提供零数据丢失,从而保证单区域设置的每月可用性 SLA 为 99.99%。 |
全局复制 | Azure Cosmos DB for MongoDB vCore 提供跨区域复制,使你可以将数据复制到另一个 Azure 区域。 全局复制可以实现全局缩放,以较低的延迟访问全球各地的数据。 从安全的上下文来看,全局复制可确保数据不会受到偶尔发生的区域性故障的影响。 使用跨区域副本群集时,数据的副本始终存在于另一个区域中。 另一个区域中的副本与高可用性相结合使用,可以保证多区域设置的每月可用 SLA 达到 99.995%。 |
数据库隔离 | Azure Cosmos DB for MongoDB vCore 数据库托管在其自己的专用资源上。 这意味着将为每个群集分配其自己的专用节点(称为物理分片)或多分片配置中的几个节点。 每个物理分片都有其自己的计算和附加到计算的远程存储。 群集之间没有基础结构共享,为数据库提供一层额外的物理和逻辑隔离。 |
自动群集备份 | Azure Cosmos DB for MongoDB vCore 群集的备份在群集创建时已启用,它已完全自动化,无法禁用。 可对 35 天备份保留期内的任何时间戳进行还原。 |
还原已删除的数据 | 可以使用自动联机备份从群集恢复意外删除事件后最多约 7 天的数据。 |
HTTPS/SSL/TLS 加密 | 所有与 Azure Cosmos DB for MongoDB vCore 群集的网络通信均已加密。 仅接受通过 MongoDB 客户端进行的连接,并且始终强制执行加密。 每当将数据写入 Azure Cosmos DB for MongoDB vCore 时,都将在传输中对数据加密。 数据加密支持最高 1.3(含)的 TLS 级别。 |
静态加密 | Azure Cosmos DB for MongoDB vCore 数据(包括所有备份)在磁盘上加密,包括临时文件。 该服务使用包含在 Azure 存储加密中的 AES 256 位密码,并且密钥由系统进行管理。 存储加密始终处于启用状态,无法禁用。 |
监视攻击 | 使用审核日志和活动日志,可以监视数据库中的正常和异常活动。 可以查看对资源执行的操作。 此类数据包括操作发起人、操作发生时间、操作的状态等等。 |
响应攻击 | 当你联系 Azure 支持来报告潜在的攻击行为后,我们会启动一个五步事件响应过程。 此五步过程的目标是恢复正常的服务安全性和操作。 此五步过程会在检测到问题并启动调查后,尽快将服务恢复正常。 详细了解云中的共同责任。 |
受保护的设施 | Azure Cosmos DB for MongoDB vCore 中的数据存储在 Azure 的受保护数据中心中。 在 Microsoft 全球数据中心中了解详细信息 |
修补的服务器 | Azure Cosmos DB for MongoDB vCore 消除了管理软件更新和修补群集的需求,因为这些工作会自动完成。 |
使用强密码的管理帐户 | 很难相信我们甚至需要提到这个要求,但与我们的一些竞争对手不同,在 Azure Cosmos DB for MongoDB vCore 中,不可能存在没有密码的管理帐户。 密码长度应至少为 8 个字符,包括英文大写字母和小写字母、数字和非字母数字字符。 默认情况下,已融入通过基于 TLS 的身份验证实现的安全性。 |
辅助帐户 | 要更精细地访问,可以在具有群集数据库的读写或只读特权的群集上创建辅助用户帐户。 |
安全和数据保护认证 | 有关最新的认证列表,请参阅 Azure 合规性和包含所有 Azure 认证(包括 Azure Cosmos DB)的最新 Azure 合规性文档。 |
以下屏幕截图显示如何使用审核日志和活动日志监视帐户:
网络安全选项
本部分概述了可为群集配置的各种网络安全选项。
无访问权限
如果未启用公共或专用访问,新建的群集默认使用 不允许访问 选项。 在这种情况下,任何计算机(无论位于 Azure 内部或外部)都无法连接到数据库节点。
使用防火墙进行公共 IP 访问
在公共访问选项中,将公共 IP 地址分配给群集,对群集的访问权限受防火墙保护。
防火墙概述
Azure Cosmos DB for MongoDB vCore 使用群集级防火墙阻止对群集的所有访问,直到你指定哪些计算机(IP 地址)具有权限。 防火墙基于每个请求的起始 IP 地址授予对群集的访问权限。 要配置防火墙,可创建防火墙规则,以指定可接受的 IP 地址的范围。
防火墙规则允许客户端访问群集及其包含的所有数据库。 可使用 Azure 门户或使用 Azure CLI 等 Azure 工具以编程方式配置群集级防火墙规则。
默认情况下,防火墙阻止对群集的所有访问。 要从另一台计算机开始使用群集,需要指定一个或多个群集级防火墙规则以允许访问群集。 使用防火墙规则指定要允许的来自 Internet 的 IP 地址范围。 防火墙规则不会影响对 Azure 门户网站本身的访问。 来自 Internet 和 Azure 的连接尝试必须先穿过防火墙,然后才能访问数据库。