Azure Cosmos DB 的安全基线

此安全基线将 Azure 安全基准 2.0 版中的指导应用于 Azure Cosmos DB。 Azure 安全基准提供有关如何在 Azure 上保护云解决方案的建议。 内容按“安全控制”分组,这些控制根据适用于 Azure Cosmos DB 的 Azure 安全基准和相关指南定义。

可以使用 Microsoft Defender for Cloud 监视此安全基线及其建议。 Azure Policy定义将列在 Microsoft Defender for Cloud 仪表板的“法规合规性”部分中。

当某个部分具有相关的Azure Policy定义时,它们会列在此基线中,以帮助衡量 Azure 安全基准控件和建议的符合性。 某些建议可能需要付费的 Microsoft Defender 计划才能启用某些安全方案。

注意

已排除不适用于 Azure Cosmos DB 的控件以及建议逐字使用全局指导的控件。 要了解 Azure Cosmos DB 如何完全映射到 Azure 安全基准,请参阅完整的 Azure Cosmos DB 安全基线映射文件

网络安全

有关详细信息,请参阅 Azure 安全基线: 网络安全性

NS-1:实现内部流量的安全性

指导:部署 Cosmos DB 资源时,创建或使用现有虚拟网络。 确保所有 Azure 虚拟网络都按照符合业务风险的企业分段原则操作。 任何可能会给组织带来更高风险的系统都应隔离在其自己的虚拟网络中,并使用网络安全组 (NSG) 和/或 Azure 防火墙进行充分保护。

请使用 Microsoft Defender for Cloud 自适应网络强化功能,针对网络安全组配置提出建议来根据外部流量规则限制端口和源 IP。

考虑应用程序和企业分段策略的实际情况,根据网络安全组规则限制或允许内部资源之间的流量传递。 对于定义明确的特定应用程序(例如三层应用)来说,默认情况下,这可以是高度安全的拒绝。

责任:客户

Microsoft Defender for Cloud 监视:Azure 安全基准是 Microsoft Defender for Cloud 的默认策略计划,也是构筑各项 Microsoft Defender for Cloud 建议的基础。 Microsoft Defender for Cloud 会自动启用与此控制相关的 Azure Policy 定义。 与此控制相关的警报可能需要相关服务的 Microsoft Defender 计划。

Azure Policy 内置定义 - Microsoft.DocumentDB:

名称
(Azure 门户)
说明 效果 版本
(GitHub)
Azure Cosmos DB 帐户应有防火墙规则 应在 Azure Cosmos DB 帐户上定义防火墙规则,以防止来自未经授权的源的流量。 至少定义了一个 IP 规则且启用了虚拟网络筛选器的帐户才会被视为合规。 禁用公共访问的帐户也被视为合规。 Audit、Deny、Disabled 2.0.0

NS-2:将专用网络连接在一起

指导:在共置环境中,使用 Azure ExpressRoute 或 Azure 虚拟专用网 (VPN) 在 Azure 数据中心与本地基础结构之间创建专用连接。 ExpressRoute 连接并不经过公共 Internet。与典型的 Internet 连接相比,它的可靠性更高、速度更快且延迟更低。 对于点到站点 VPN 和站点到站点 VPN,可使用这些 VPN 选项的任意组合以及 Azure ExpressRoute 将本地设备或网络连接到虚拟网络。

若要将 Azure 中的两个或更多虚拟网络连接在一起,请使用虚拟网络对等互连。 对等互连虚拟网络之间的网络流量是专用的,且保留在 Azure 主干网络上。

责任:客户

NS-3:建立对 Azure 服务的专用网络访问

指导:使用 Azure 专用链接,无需通过 Internet 即可从虚拟网络对 Cosmos DB 进行专用访问。

专用访问是对 Azure 服务提供的身份验证和流量安全性的另一项深度防护措施。

责任:客户

NS-4:保护应用程序和服务不受外部网络攻击

指导:帮助 Cosmos DB 资源防范来自外部网络的攻击,包括分布式拒绝服务 (DDoS) 攻击、特定于应用程序的攻击,以及未经请求和可能存在恶意的 Internet 流量。 使用 Azure 防火墙保护应用程序和服务免受来自 Internet 和其他外部位置的潜在恶意流量的侵害。 通过在 Azure 虚拟网络上启用 DDoS 标准保护,保护资产免受 DDoS 攻击。 使用 Microsoft Defender for Cloud 检测网络相关资源的错误配置风险。

Cosmos DB 不用于运行 Web 应用程序,并且不需要配置任何其他设置或部署任何额外的网络服务来保护其免受针对 Web 应用程序的外部网络攻击。

责任:客户

Microsoft Defender for Cloud 监视:Azure 安全基准是 Microsoft Defender for Cloud 的默认策略计划,也是构筑各项 Microsoft Defender for Cloud 建议的基础。 Microsoft Defender for Cloud 会自动启用与此控制相关的 Azure Policy 定义。 与此控制相关的警报可能需要相关服务的 Microsoft Defender 计划。

Azure Policy 内置定义 - Microsoft.DocumentDB:

名称
(Azure 门户)
说明 效果 版本
(GitHub)
Azure Cosmos DB 帐户应有防火墙规则 应在 Azure Cosmos DB 帐户上定义防火墙规则,以防止来自未经授权的源的流量。 至少定义了一个 IP 规则且启用了虚拟网络筛选器的帐户才会被视为合规。 禁用公共访问的帐户也被视为合规。 Audit、Deny、Disabled 2.0.0

NS-6:简化网络安全规则

指导:使用 Azure 虚拟网络服务标记,在为 Cosmos DB 资源配置的网络安全组或 Azure 防火墙上定义网络访问控制。 创建安全规则时,可以使用服务标记代替特定的 IP 地址。 通过在规则的相应“源”或“目标”字段中指定服务标记名称,可允许或拒绝相应服务的流量。 Microsoft 会管理服务标记包含的地址前缀,并会在地址发生更改时自动更新服务标记。

AzureCosmosDB 服务标记支持出站使用,可以是区域性的,并且可以与 Azure 防火墙配合使用。

责任:客户

NS-7:安全域名服务 (DNS)

指导:按照 DNS 安全的最佳做法来防范常见攻击,例如无关联 DNS、DNS 放大攻击、DNS 中毒和欺骗等。

将 Azure DNS 用作权威 DNS 服务时,请确保使用 Azure RBAC 和资源锁保护 DNS 区域和记录,使之免受意外或恶意的修改。

责任:客户

标识管理

有关详细信息,请参阅 Azure 安全基准:标识管理

IM-1:将 Azure Active Directory 标准化为中央标识和身份验证系统

指导:Cosmos DB 使用 Azure Active Directory (Azure AD) 作为默认标识和访问管理服务。 你应该使 Azure AD 标准化,以便控制组织在以下资源中的标识和访问管理:

  • Microsoft 云资源,如 Azure 门户、Azure 存储、Azure 虚拟机(Linux 和 Windows)、Azure Key Vault、PaaS 和 SaaS 应用程序。
  • 你的组织的资源,例如 Azure 上的应用程序,或公司网络资源。

在组织的云安全做法中,应优先处理 Azure AD 保护事宜。 Azure AD 提供标识安全分数,以帮助评估与 Microsoft 的最佳做法建议相关的标识安全状况。 使用评分来估计你的配置与最佳做法建议的匹配程度,并改善你的安全状况。

注意:Azure AD 支持外部标识,以使没有 Microsoft 帐户的用户可以使用其外部标识登录到其应用程序和资源。

Azure Cosmos DB 为 Azure Cosmos DB 中的常见管理方案提供内置的 Azure 基于角色的访问控制 (Azure RBAC)。 在 Azure Active Directory 中创建了配置文件的个人可将这些 Azure 角色分配给用户、组、服务主体或托管标识,以授予或拒绝对 Azure Cosmos DB 中的资源和操作的访问权限。 角色分配范围仅限控制平面访问,包括对 Azure Cosmos 帐户、数据库、容器和套餐(吞吐量)的访问。

Azure Cosmos DB 提供了三种方法来控制对数据的访问。 主密钥是共享机密,允许任何管理或数据操作。 它们同时提供读写和只读变量。 基于角色的访问控制使用 Azure Active Directory (AAD) 标识为身份验证提供细粒度、基于角色的权限模型。 资源令牌提供基于本机 Azure Cosmos DB 用户和权限的细粒度权限模型。

责任:共享

IM-2:安全且自动地管理应用程序标识

指导:Cosmos DB 支持使用托管标识来获取其 Azure 资源。 将托管标识与 Cosmos DB 一起使用,而非创建服务主体来访问其他资源。 Cosmos DB 可以通过预定义的访问授权规则对支持 Azure AD 身份验证的 Azure 服务/资源进行本机身份验证,而无需使用在源代码或配置文件中硬编码的凭据。

责任:客户

IM-3:使用 Azure AD 单一登录 (SSO) 进行应用程序访问

指导:Cosmos DB 通过与 Azure Active Directory (Azure AD) 集成来提供对 Azure 资源的标识和访问管理。 Azure Cosmos DB 使用两种类型的密钥向用户授权,且不支持在数据平面级别进行单一登录 (SSO)。 但是,可以通过 REST API 访问 Cosmos DB 的控制平面,且该访问支持 SSO。 要进行身份验证,请将请求的授权标头设置为从 Azure AD 获取的 JSON Web 令牌。

责任:共享

IM-7:消除意外的凭据透露

指导:Cosmos DB 不用于存储代码,但对于与 Cosmos DB 部署相关的任何 ARM 模板,建议在存储这些模板的存储库上实施凭据扫描程序以标识配置中的凭据。 凭据扫描程序还会建议将发现的凭据转移到更安全的位置,例如 Azure Key Vault。

责任:客户

特权访问

有关详细信息,请参阅 Azure 安全基准:特权访问

PA-1:保护和限制具有较高权限的用户

指导:Azure AD 最重要的内置角色是全局管理员和特权角色管理员,因为分配到这两种角色的用户可以委托管理员角色:

  • 全局管理员/公司管理员:具有此角色的用户可访问 Azure AD 中的所有管理功能,还可访问使用 Azure AD 标识的服务。
  • 特权角色管理员:具有此角色的用户可管理 Azure AD 和 Azure AD Privileged Identity Management (PIM) 中的角色分配。 此外,该角色可管理 PIM 和管理单元的各个方面。

注意:如果使用的是分配了某些特权的自定义角色,则可能有其他关键角色需要进行管理。 你可能还要对关键业务资产的管理员帐户应用类似控制。

应限制高特权帐户或角色的数量,并提升这些帐户的保护级别。 有了这些特权,用户可直接或间接读取和修改 Azure 环境中的每项资源。

可使用 Azure AD PIM 启用对 Azure 资源和 Azure AD 的实时 (JIT) 特权访问。 JIT 仅在用户需要执行特权任务时授予临时权限。 当 Azure AD 组织中存在可疑或不安全的活动时,PIM 还会生成安全警报。

责任:客户

PA-3:定期审查和协调用户访问权限

指导:Cosmos DB 使用 Azure Active Directory (Azure AD) 帐户来定期管理其资源、审查用户帐户和访问权限分配,以确保帐户及其访问权限有效。 可使用 Azure AD 和访问评审来审查组成员身份、对企业应用程序的访问权限和角色分配。 Azure AD 报告提供日志来帮助发现过时的帐户。 还可使用 Azure AD Privileged Identity Management (PIM) 来创建访问评审报告工作流以促进审查流程。

此外,Azure AD PIM 还可配置为在创建过多管理员帐户时发出警报,并标识过时或配置不正确的管理员帐户。

注意:某些 Azure 服务支持不通过 Azure AD 进行管理的本地用户和角色。 你需要单独管理这些用户。

Azure Cosmos DB 提供 5 个内置角色:

  • DocumentDB 帐户参与者可以管理 Azure Cosmos DB 帐户。
  • Cosmos DB 帐户读取者可以读取 Azure Cosmos DB 帐户数据。
  • Cosmos 备份操作员可以为已启用定期备份的数据库或容器提交 Azure 门户的还原请求,并在 Azure 门户上修改备份间隔和保留时间。
  • CosmosRestoreOperator 可以使用连续备份模式为 Azure Cosmos DB 帐户执行还原操作。
  • Cosmos DB 操作员可以预配 Azure Cosmos 帐户、数据库和容器。

有关详细信息,请参阅以下资源:

责任:客户

PA-6:使用特权访问工作站

指导:受保护的独立工作站对于敏感角色(如管理员、开发人员和关键服务操作员)的安全性至关重要。 使用高度安全的用户工作站和/或 Azure Bastion 执行管理任务。 使用 Azure Active Directory (Azure AD)、Microsoft Defender 高级威胁防护 (ATP) 和/或 Microsoft Intune 来部署安全的托管用户工作站,以便执行管理任务。 可集中管理受保护的工作站,强制实施安全配置,包括强身份验证、软件和硬件基线,以及受限制的逻辑和网络访问。

责任:客户

PA-7:遵循 Just Enough Administration(最小特权原则)

指导:Cosmos DB 通过与 Azure 基于角色的访问控制 (Azure RBAC) 集成来管理其资源。 使用 Azure RBAC,可通过角色分配来管理 Azure 资源访问。 可以将这些角色分配给用户、组服务主体和托管标识。 某些资源具有预定义的内置角色,可以通过工具(例如 Azure CLI、Azure PowerShell 或 Azure 门户)来清点或查询这些角色。 通过 Azure RBAC 分配给资源的特权应始终限制为角色所需的特权。 这是对 Azure AD Privileged Identity Management (PIM) 的实时 (JIT) 方法的补充,应定期进行审查。

请使用内置角色来分配权限,仅在必要时创建自定义角色。

Azure Cosmos DB 提供 5 个内置角色来帮助管理对配置和数据的访问。 为用户提供完成其工作所需的最低访问级别。

责任:客户

PA-8:选择 Microsoft 支持的审批流程

指导:Cosmos DB 不支持客户密码箱。 Microsoft 可以通过非密码箱方式与客户协作,以便获得批准来访问客户数据。

责任:客户

数据保护

有关详细信息,请参阅 Azure 安全基线: 数据保护

DP-1:对敏感数据进行发现、分类和标记

指导:自动数据标识、分类和丢失防护功能尚不适用于 Azure Cosmos DB。 但是,可以使用 Azure 认知搜索集成进行分类和数据分析。 还可以实施第三方解决方案(如果出于合规性目的而需要如此)。

对于 Microsoft 管理的底层平台,Microsoft 会将所有客户内容视为敏感数据,并会全方位地防范客户数据丢失和遭到透露。 为了确保 Azure 中的客户数据保持安全,Microsoft 已实施并维护一套可靠的数据保护控制机制和功能。

责任:客户

DP-2:保护敏感数据

指导:使用 Azure 基于角色的访问控制 (Azure RBAC)、基于网络的访问控制以及 Azure 服务中的特定控制(例如加密)来限制访问,从而保护敏感数据。

为了确保一致的访问控制,所有类型的访问控制都应符合企业分段策略。 企业分段策略还应根据敏感的或业务关键型的数据和系统的位置来确定。

Microsoft 会将 Microsoft 托管的基础平台中的所有客户内容都视为敏感内容,并提供防护,以免客户数据丢失和泄露。 为了确保 Azure 中的客户数据始终安全,Microsoft 实施了一些默认的数据保护控制机制和功能。

Cosmos DB 还支持客户管理的密钥,以实现更高级别的加密。

责任:共享

DP-3:监视未经授权的敏感数据传输

指导:Cosmos DB 支持高级威胁防护。 针对 Azure Cosmos DB 的高级威胁防护提供额外的一层安全智能,用于检测是否存在访问或利用 Azure Cosmos DB 帐户的异常且可能有害的企图。 无需成为安全专家,就能利用此保护层来应对威胁,并将威胁与中央安全监视系统集成。

责任:客户

DP-4:加密传输中的敏感信息

指导:为了对访问控制进行补充,应使用加密保护传输中的数据免受“带外”攻击(例如流量捕获),以确保攻击者无法轻易读取或修改数据。

Cosmos DB 支持使用 TLS 1.2 版或更高版本加密传输中的数据。

虽然这对于专用网络上的流量来说是可选的,但对于外部和公共网络上的流量来说,这是至关重要的。 对于 HTTP 流量,请确保连接到 Azure 资源的任何客户端能够协商 TLS v1.2 或更高版本。 对于远程管理,请使用 SSH(适用于 Linux)或 RDP/TLS(适用于 Windows),而不是使用未加密的协议。 应当禁用已过时的 SSL、TLS 和 SSH 版本和协议,以及弱密码。

默认情况下,Azure 为在 Azure 数据中心之间传输的数据提供加密。

与 Azure Cosmos DB 建立的所有连接都支持 HTTPS。 默认情况下,在 2020 年 7 月 29 日之后创建的任何帐户的最低 TLS 版本均为 TLS 1.2。 可以通过联系 azurecosmosdbtls@service.microsoft.com,请求将 2020 年 7 月 29 日之前创建的帐户的最低 TLS 版本升级到 TLS 1.2。

责任:共享

DP-5:加密静态敏感数据

指导:为了对访问控制进行补充,Cosmos DB 使用加密对静态数据进行加密,以防“带外”攻击(例如访问基础存储)。 这有助于确保攻击者无法轻松读取或修改数据。

存储在 Azure Cosmos 帐户中的数据会自动使用由 Microsoft 管理的密钥(服务托管密钥)进行无缝加密。 还可以选择使用你自己托管的密钥(客户托管密钥)来添加另一个加密层。

责任:共享

Microsoft Defender for Cloud 监视:Azure 安全基准是 Microsoft Defender for Cloud 的默认策略计划,也是构筑各项 Microsoft Defender for Cloud 建议的基础。 Microsoft Defender for Cloud 会自动启用与此控制相关的 Azure Policy 定义。 与此控制相关的警报可能需要相关服务的 Microsoft Defender 计划。

Azure Policy 内置定义 - Microsoft.DocumentDB:

名称
(Azure 门户)
说明 效果 版本
(GitHub)
Azure Cosmos DB 帐户应使用客户管理的密钥来加密静态数据 使用客户管理的密钥来管理 Azure Cosmos DB 的静态加密。 默认情况下,使用服务管理的密钥对数据进行静态加密,但为了满足法规符合性标准,通常需要使用客户管理的密钥。 客户管理的密钥允许使用由你创建并拥有的 Azure Key Vault 密钥对数据进行加密。 你可以完全控制并负责关键生命周期,包括轮换和管理。 更多信息请访问 https://aka.ms/cosmosdb-cmk 审核、拒绝、已禁用 1.0.2

资产管理

有关详细信息,请参阅 Azure 安全基准:资产管理

AM-1:确保安全团队可以了解与资产相关的风险

指导:确保在 Azure 租户和订阅中向安全团队授予安全读取者权限,方便他们使用 Microsoft Defender for Cloud 监视安全风险。

根据安全团队责任划分方式的不同,监视安全风险可能是中心安全团队或本地团队的责任。 也就是说,安全见解和风险必须始终在组织内集中聚合。

安全读取者权限可以广泛应用于整个租户(根管理组),也可以限制到管理组或特定订阅。

注意:若要了解工作负载和服务,可能需要更多权限。

责任:客户

AM-2:确保安全团队有权访问资产清单和元数据

指导:将标记应用到 Azure Cosmos DB 实例和相关资源,其中包含相关的元数据,例如跟踪存储或处理敏感信息 Azure Cosmos DB 实例。 Cosmos DB 不允许在其资源上运行应用程序或安装软件。

责任:客户

AM-3:仅使用已批准的 Azure 服务

指导:Cosmos DB 支持使用 Azure Policy 拒绝其资源部署,以便能够限制尚未批准此服务的部署。 根据安全需求,使用 Azure Policy 来审查和限制用户可以在环境中预配的服务。 使用 Azure Resource Graph 来查询和发现订阅中的资源。 你也可以使用 Azure Monitor 来创建规则,以便在检测到未经批准的服务时触发警报。

责任:客户

日志记录和威胁检测

有关详细信息,请参阅 Azure 安全基准:日志记录和威胁检测

LT-1:为 Azure 资源启用威胁检测

指导:使用 Microsoft Defender for Cloud 内置威胁检测功能,并为 Cosmos DB 资源启用 Microsoft Defender。 Microsoft Defender for Cosmos DB 提供额外的安全情报层,可检测是否存在访问或攻击 Cosmos DB 资源的异常和潜在有害尝试行为。

将 Cosmos DB 中的任何日志都转发到可用于设置自定义威胁检测的 SIEM。 确保正在监视不同类型的 Azure 资产,以发现潜在的威胁和异常情况。 专注于获取高质量警报以减少误报,便于分析人员进行分类整理。 警报可能源自日志数据、代理或其他数据。

责任:客户

LT-2:启用 Azure 标识和访问管理的威胁检测

指导:Azure Active Directory (Azure AD) 提供以下用户日志,这些日志可在 Azure AD 报告中查看,也可与 Azure Monitor、Microsoft Sentinel 或其他 SIEM/监视工具集成,以用于更复杂的监视和分析用例:

  • 登录 - 在登录报告中,可了解托管应用程序的使用情况和用户登录活动。
  • 审核日志 - 通过日志为 Azure AD 中的各种功能所做的所有更改提供可跟踪性。 审核日志的示例包括对 Azure AD 中的任何资源所做的更改,例如添加或删除用户、应用、组、角色和策略。
  • 风险登录 - 风险登录是指可能由非用户帐户合法拥有者进行的登录尝试。
  • 已标记为存在风险的用户 - 风险用户是指可能已泄露的用户帐户。

Microsoft Defender for Cloud 还可针对某些可疑活动发出警报,例如,失败的身份验证尝试次数过多或使用了订阅中的已弃用帐户。 除了基本的安全运行监视以外,Microsoft Defender for Cloud 的威胁防护模块还可从各个 Azure 计算资源(虚拟机、容器、应用服务)、数据资源(SQL 数据库和存储)和 Azure 服务层收集更深入的安全警报。 通过此功能,可查看各个资源内的帐户异常情况。

责任:客户

LT-3:为 Azure 网络活动启用日志记录

指导:Cosmos DB 不会将任何资源直接部署到虚拟网络。 但是,可通过 Cosmos DB 来使用专用终结点从虚拟网络安全地连接到其资源。 Cosmos DB 也不会生成或处理那些需要启用的 DNS 查询日志。

在配置的 Cosmos DB 专用终结点上启用日志记录,以捕获:

责任:客户

LT-4:为 Azure 资源启用日志记录

指导:自动提供的活动日志包含针对 Cosmos DB 资源的所有写入操作(PUT、POST、DELETE),但读取操作 (GET) 除外。 活动日志可用于在进行故障排除时查找错误,或监视组织中的用户如何对资源进行修改。

为 Cosmos DB 启用 Azure 资源日志。 可以使用 Microsoft Defender for Cloud 和 Azure Policy 启用资源日志和日志数据收集。 这些日志可能对调查安全事件和执行取证演练至关重要。

责任:客户

LT-5:集中管理和分析安全日志

指导:集中 Cosmos DB 日志的日志记录、存储和分析。 确保将 Cosmos DB 管理操作生成的 Azure 活动日志集成到中央日志记录解决方案中。 通过 Azure Monitor 引入日志,以聚合终结点设备、网络资源和其他安全系统生成的安全数据。 在 Azure Monitor 中,使用 Log Analytics 工作区来查询和执行分析,并使用 Azure 存储帐户进行长期存档存储。

另外,请启用 Microsoft Sentinel 或第三方 SIEM,并在其中加入数据。

许多组织选择将 Microsoft Sentinel 用于“热”数据(频繁使用的数据),将 Azure 存储用于“冷”数据(不太频繁使用的数据)。

责任:客户

LT-6:配置日志存储保留期

指导:确保用于存储 Cosmos DB 资源所创建的日志的任何存储帐户或 Log Analytics 工作区都根据组织的符合性规定设置了日志保留期。

在 Azure Monitor 中,可根据组织的合规性规则设置 Log Analytics 工作区保持期。 将 Azure 存储、Data Lake 或 Log Analytics 工作区帐户用于长期存储和存档存储。

责任:客户

安全状况和漏洞管理

有关详细信息,请参阅 Azure 安全基准:安全状况和漏洞管理

PV-1:为所有 Azure 服务建立安全配置

指导:可以使用 Azure 蓝图,在单个蓝图定义中自动部署和配置 Cosmos DB 服务,包括 Azure 资源管理器模板、Azure RBAC 控制措施和策略。

针对 Azure Cosmos DB 的高级威胁防护提供额外的一层安全智能,用于检测是否存在访问或利用 Azure Cosmos DB 帐户的异常且可能有害的企图。 无需成为安全专家,就能利用此保护层来应对威胁,并将威胁与中央安全监视系统集成。

责任:客户

PV-2:为所有 Azure 服务维护安全配置

指导:使用 Microsoft Defender for Cloud 监视配置基线并使用 Azure Policy [拒绝] 和 [部署(如果不存在)] 效果强制执行这些配置,以跨 Cosmos DB 资源维护安全配置。

在“Microsoft.DocumentDB”命名空间中使用 Azure Policy 别名创建自定义策略,以审核、强制实施系统配置并为其发出警报。 另外,开发一个用于管理策略例外的流程和管道。

责任:客户

PV-8:执行定期攻击模拟

指导:根据需要,对 Azure 资源进行渗透测试或红队活动,并确保修正所有关键安全发现。

请遵循 Microsoft 云渗透测试互动规则,确保你的渗透测试不违反 Microsoft 政策。 使用 Microsoft 红队演练策略和执行,以及针对 Microsoft 托管云基础结构、服务和应用程序执行现场渗透测试。

责任:客户

备份和恢复

有关详细信息,请参阅 Azure 安全基准:备份和恢复

BR-1:确保定期执行自动备份

指导:Azure Cosmos DB 会定期自动备份数据。 如果删除了数据库或容器,可以提交支持票证或联系 Azure 支持部门,以便从自动联机备份中还原数据。 Azure 支持仅适用于选定的计划,例如“标准”、“开发人员”以及更高级别的计划。 若要还原备份的特定快照,Azure Cosmos DB 要求在该快照的备份周期的持续时间内可用。

如果使用 Key Vault 来存储 Cosmos DB 实例的凭据,请确保定期自动备份密钥。

责任:共享

BR-2:加密备份数据

指导:默认情况下,存储在 Cosmos DB 中的所有用户数据已经过静态加密。 没有任何控件可以关闭静态加密。 Azure Cosmos DB 在运行帐户的所有区域中使用 AES-256 加密。

默认情况下,由 Microsoft 管理用于加密 Azure Cosmos 帐户中的数据的密钥。 你可以根据需要使用自己的密钥来添加另一个加密层。

责任:Microsoft

BR-3:验证所有备份,包括客户管理的密钥

指导:Azure Cosmos DB 会定期自动备份数据。 如果删除了数据库或容器,可以提交支持票证或联系 Azure 支持部门,以便从自动联机备份中还原数据。 若要还原备份的特定快照,Azure Cosmos DB 要求在该快照的备份周期的持续时间内可用。

如果使用 Key Vault 存储使用客户管理的密钥加密的 Cosmos DB 实例的凭据,请确保定期自动备份密钥。

责任:客户

BR-4:减少密钥丢失风险

指导:确保采用适当的措施来防止密钥丢失和恢复丢失的密钥。 在 Azure Key Vault 中启用软删除和清除保护,以防止意外或恶意删除加密密钥。

责任:客户

后续步骤