适用于 Azure SQL 的 Azure 安全基线

此安全基线将 Microsoft 云安全基准版本 1.0 中的指南应用于Azure SQL。 Microsoft Cloud 安全基准提供有关如何在 Azure 上保护云解决方案的建议。 内容按 Microsoft 云安全基准定义的安全控制以及适用于Azure SQL的相关指南进行分组。

可以使用 Microsoft Defender for Cloud 监视此安全基线及其建议。 Azure Policy定义将在“Microsoft Defender云门户”页的“法规符合性”部分列出。

当某个功能具有相关的Azure Policy定义时,这些定义将列在此基线中,以帮助你衡量对 Microsoft 云安全基准控制和建议的合规性。 某些建议可能需要付费Microsoft Defender计划来实现某些安全方案。

注意

不适用于Azure SQL的功能已被排除。 若要查看Azure SQL如何完全映射到 Microsoft 云安全基准,请参阅完整的Azure SQL安全基线映射文件

安全配置文件

安全配置文件汇总了Azure SQL的高影响行为,这可能会导致安全注意事项增加。

服务行为属性
产品类别 数据库
客户可以访问主机/OS 无访问权限
可将服务部署到客户的虚拟网络中 True
存储客户静态内容 True

网络安全性

有关详细信息,请参阅 Microsoft 云安全基准:网络安全

NS-1:建立网络分段边界

功能

虚拟网络集成

说明:服务支持部署到客户的专用虚拟网络 (VNet) 。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:将服务部署到虚拟网络中。 将专用 IP 分配给资源 ((如果适用)) ,除非有充分的理由将公共 IP 直接分配给资源。

参考为 Azure SQL 数据库中的服务器使用虚拟网络服务终结点和规则

网络安全组支持

说明:服务网络流量遵循其子网上的网络安全组规则分配。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:使用 Azure 虚拟网络服务标记定义网络安全组的网络访问控制,或Azure 防火墙为Azure SQL资源配置。 创建安全规则时,可以使用服务标记代替特定的 IP 地址。 通过在规则的相应“源”或“目标”字段中指定服务标记名称,可允许或拒绝相应服务的流量。 Microsoft 会管理服务标记包含的地址前缀,并会在地址发生更改时自动更新服务标记。 如果将服务终结点用于 Azure SQL 数据库,需要出站到 Azure SQL 数据库公共 IP 地址:必须为 Azure SQL 数据库 IP 启用网络安全组 (NSG) 才能进行连接。 可以使用 Azure SQL 数据库的 NSG 服务标记执行此操作。

参考为 Azure SQL 数据库中的服务器使用虚拟网络服务终结点和规则

NS-2:使用网络控制保护云服务

功能

说明:用于筛选网络流量的服务本机 IP 筛选功能 (不会与 NSG 或Azure 防火墙) 混淆。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:为支持专用链接功能的所有 Azure 资源部署专用终结点,为资源建立专用接入点。

参考Azure SQL数据库和Azure Synapse分析Azure 专用链接

禁用公用网络访问

说明:服务支持通过使用服务级别 IP ACL 筛选规则 (而不是 NSG 或 Azure 防火墙) ,或使用“禁用公用网络访问”切换开关来禁用公用网络访问。 了解详细信息

支持 默认启用 配置责任
True True Microsoft

配置指南:无需其他配置,因为默认部署已启用此功能。

参考Azure SQL连接设置

Microsoft Defender for Cloud 监视

Azure Policy 内置定义 - Microsoft.Sql

名称
(Azure 门户)
说明 效果 版本
(GitHub)
Azure SQL 托管实例应禁用公用网络访问 禁用 Azure SQL 托管实例上的公用网络访问(公共终结点)可确保只能从其虚拟网络内部或专用终结点访问它们,从而提高安全性。 若要了解有关公共网络访问的详细信息,请访问 https://aka.ms/mi-public-endpoint Audit、Deny、Disabled 1.0.0

身份管理

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

IM-1:使用集中式标识和身份验证系统

功能

数据平面访问所需的 Azure AD 身份验证

说明:服务支持使用 Azure AD 身份验证进行数据平面访问。 了解详细信息

支持 默认启用 配置责任
True False 共享

功能说明:Azure SQL 数据库支持多种数据平面身份验证机制,其中一种机制是 AAD。

配置指南:使用 Azure Active Directory (Azure AD) 作为默认身份验证方法来控制数据平面访问。

参考使用 Azure Active Directory 身份验证

数据平面访问的本地身份验证方法

说明:数据平面访问支持的本地身份验证方法,例如本地用户名和密码。 了解详细信息

支持 默认启用 配置责任
True False 客户

功能说明:避免使用本地身份验证方法或帐户,应尽可能禁用这些方法或帐户。 请尽可能使用 Azure AD 进行身份验证。

配置指南:限制对数据平面访问使用本地身份验证方法。 改为使用 Azure Active Directory (Azure AD) 作为默认身份验证方法来控制数据平面访问。

参考Azure SQL数据库访问

Microsoft Defender for Cloud 监视

Azure Policy 内置定义 - Microsoft.Sql

名称
(Azure 门户)
说明 效果 版本
(GitHub)
应该为 SQL 服务器预配 Azure Active Directory 管理员 审核确认已为 SQL Server 预配了 Azure Active Directory 管理员以启用 Azure AD 身份验证。 使用 Azure AD 身份验证可以简化权限管理,以及集中化数据库用户和其他 Microsoft 服务的标识管理 AuditIfNotExists、Disabled 1.0.0

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

功能

托管标识

说明:数据平面操作支持使用托管标识进行身份验证。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:尽可能使用 Azure 托管标识而不是服务主体,该服务主体可以向支持 Azure Active Directory (Azure AD) 身份验证的 Azure 服务和资源进行身份验证。 托管标识凭据由平台完全托管、轮换和保护,避免了在源代码或配置文件中使用硬编码凭据。

参考使用 BYOK 进行透明数据加密的托管标识

服务主体

说明:数据平面支持使用服务主体进行身份验证。 了解详细信息

支持 默认启用 配置责任
True True Microsoft

功能说明:Azure SQL DB 提供了多种方式在数据平面上进行身份验证,其中一种方法是 Azure AD,其中包括托管标识和服务主体。

配置指南:无需其他配置,因为默认部署上已启用此功能。

参考使用 Azure SQL 的 Azure Active Directory 服务主体

IM-7:根据条件限制资源访问

功能

数据平面的条件访问

说明:可以使用 Azure AD 条件访问策略控制数据平面访问。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:在工作负载中定义 Azure Active Directory (Azure AD) 条件访问的适用条件和条件。 请考虑常见用例,例如阻止或授予来自特定位置的访问权限、阻止有风险的登录行为,或要求组织管理的设备用于特定应用程序。

参考使用 Azure SQL 数据库的条件访问

IM-8:限制凭据和机密的泄露

功能

服务凭据和机密支持 Azure 密钥保管库中的集成和存储

说明:数据平面支持将 Azure 密钥保管库本机用于凭据和机密存储。 了解详细信息

支持 默认启用 配置责任
False 不适用 不适用

功能说明:加密密钥只能存储在 AKV 中,不能存储在机密或用户凭据中。 例如,透明数据加密保护程序密钥。

配置指南:不支持此功能来保护此服务。

特权访问

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

PA-1:隔离和限制高度特权/管理用户

功能

本地管理员帐户

说明:服务具有本地管理帐户的概念。 了解详细信息

支持 默认启用 配置责任
False 不适用 不适用

功能说明:Azure SQL DB 没有“本地管理员”,也没有 sa 帐户。 但是,设置实例的帐户是管理员。

配置指南:不支持此功能来保护此服务。

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

功能

用于数据平面的 Azure RBAC

说明:Azure Role-Based 访问控制 (Azure RBAC) 可用于托管对服务的数据平面操作的访问。 了解详细信息

支持 默认启用 配置责任
False 不适用 不适用

功能说明:Azure SQL数据库提供了一个丰富的特定于数据库的数据平面授权模型。

配置指南:不支持此功能来保护此服务。

PA-8:确定云提供商支持的访问流程

功能

客户密码箱

说明:客户密码箱可用于 Microsoft 支持访问。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:在 Microsoft 需要访问你的数据的支持方案中,请使用客户密码箱进行评审,然后批准或拒绝 Microsoft 的每个数据访问请求。

数据保护

有关详细信息,请参阅 Microsoft 云安全基准:数据保护

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

功能

敏感数据发现和分类

说明:Azure Purview 或 Azure 信息保护) 等工具 (可用于服务中的数据发现和分类。 了解详细信息

支持 默认启用 配置责任
True True Microsoft

配置指南:无需其他配置,因为默认部署已启用此功能。

参考数据发现 & 分类

DP-2:监视针对敏感数据的异常情况和威胁

功能

数据泄露/丢失防护

说明:服务支持 DLP 解决方案,用于监视客户内容) 中的敏感数据移动 (。 了解详细信息

支持 默认启用 配置责任
False 不适用 不适用

功能说明:有一些工具可用于 DLP SQL Server,但没有内置支持。

配置指南:不支持此功能来保护此服务。

Microsoft Defender for Cloud 监视

Azure Policy 内置定义 - Microsoft.Sql

名称
(Azure 门户)
说明 效果 版本
(GitHub)
应为未受保护的 SQL 托管实例启用 Azure Defender for SQL 审核所有未启用高级数据安全的 SQL 托管实例。 AuditIfNotExists、Disabled 1.0.2

DP-3:加密传输中的敏感数据

功能

传输中数据加密

说明:服务支持数据平面的传输中数据加密。 了解详细信息

支持 默认启用 配置责任
True True Microsoft

配置指南:无需其他配置,因为默认部署已启用此功能。

参考最低 TLS 版本

DP-4:默认启用静态数据加密

功能

使用平台密钥进行静态数据加密

说明:支持使用平台密钥的静态数据加密,任何客户静态内容都使用这些 Microsoft 托管密钥进行加密。 了解详细信息

支持 默认启用 配置责任
True True Microsoft

配置指南:无需其他配置,因为默认部署已启用此功能。

参考SQL 数据库、SQL 托管实例和Azure Synapse分析的透明数据加密

Microsoft Defender for Cloud 监视

Azure Policy 内置定义 - Microsoft.Sql

名称
(Azure 门户)
说明 效果 版本
(GitHub)
应在 SQL 数据库上启用透明数据加密 应启用透明数据加密以保护静态数据并满足符合性要求 AuditIfNotExists、Disabled 2.0.0

DP-5:需要时在静态数据加密中使用客户管理的密钥选项

功能

使用 CMK 进行静态数据加密

说明:服务存储的客户内容支持使用客户管理的密钥进行静态数据加密。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:如果需要符合法规要求,请定义需要使用客户管理的密钥进行加密的用例和服务范围。 使用客户管理的密钥为这些服务启用和实施静态数据加密。

参考SQL 数据库、SQL 托管实例和Azure Synapse分析的透明数据加密

Microsoft Defender for Cloud 监视

Azure Policy 内置定义 - Microsoft.Sql

名称
(Azure 门户)
说明 效果 版本
(GitHub)
SQL 托管实例应使用客户管理的密钥进行静态数据加密 使用你自己的密钥实现透明数据加密 (TDE) 可增加透明度和对 TDE 保护器的控制,增强由 HSM 提供支持的外部服务的安全性,并促进职责划分。 此建议适用于具有相关合规性要求的组织。 Audit、Deny、Disabled 2.0.0

DP-6:使用安全密钥管理流程

功能

Azure 密钥保管库中的密钥管理

说明:该服务支持任何客户密钥、机密或证书的 Azure 密钥保管库集成。 了解详细信息

支持 默认启用 配置责任
True False 共享

功能说明:某些功能可以使用 AKV 作为键,例如,使用Always Encrypted时。

配置指南:使用 Azure 密钥保管库创建和控制加密密钥的生命周期, (TDE 和Always Encrypted) ,包括密钥生成、分发和存储。 根据定义的计划或者密钥停用或泄露时轮换和撤销 Azure 密钥保管库 和服务中的密钥。 如果需要在工作负载、服务或应用程序级别使用客户管理的密钥 (CMK) ,请确保遵循密钥管理的最佳做法。 如果需要将自己的密钥 (BYOK) 引入服务 (,例如将受 HSM 保护的密钥从本地 HSM 导入 Azure 密钥保管库) ,请按照建议的准则执行初始密钥生成和密钥传输。

参考使用 Azure 密钥保管库配置Always Encrypted

资产管理

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

AM-2:仅使用已获批准的服务

功能

Azure Policy 支持

说明:可以通过Azure Policy监视和强制实施服务配置。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:使用 Microsoft Defender for Cloud 配置Azure Policy以审核和强制实施 Azure 资源的配置。 使用 Azure Monitor 在资源上检测到配置偏差时创建警报。 使用Azure Policy [拒绝] 和 [如果不存在则部署] 效果跨 Azure 资源强制实施安全配置。

参考Azure SQL 数据库 & SQL 托管实例 的Azure Policy内置定义

日志记录和威胁检测

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

LT-1:启用威胁检测功能

功能

适用于服务/产品的 Microsoft Defender

说明:服务具有特定于产品/服务的Microsoft Defender解决方案,用于监视安全问题并发出警报。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:Microsoft Defender for Azure SQL 可帮助你发现和缓解潜在的数据库漏洞,并对可能表明数据库受到威胁的异常活动发出警报。

参考Azure SQL Microsoft Defender概述

Microsoft Defender for Cloud 监视

Azure Policy 内置定义 - Microsoft.Sql

名称
(Azure 门户)
说明 效果 版本
(GitHub)
应为未受保护的 Azure SQL 服务器启用 Azure Defender for SQL 审核没有高级数据安全的 SQL 服务器 AuditIfNotExists、Disabled 2.0.1

LT-3:启用日志记录以进行安全调查

LT-3 的其他指南

在服务器级别启用日志记录,因为这样也会筛选到数据库。

Microsoft Defender for Cloud 监视

Azure Policy 内置定义 - Microsoft.Sql

名称
(Azure 门户)
说明 效果 版本
(GitHub)
应启用 SQL 服务器上的审核 应在 SQL 服务器上启用审核以跟踪服务器上所有数据库的数据库活动,并将其保存在审核日志中。 AuditIfNotExists、Disabled 2.0.0

LT-4:启用日志记录以进行安全调查

功能

Azure 资源日志

说明:服务生成可提供增强的服务特定指标和日志记录的资源日志。 客户可以配置这些资源日志,并将其发送到自己的数据接收器,例如存储帐户或日志分析工作区。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:为服务启用资源日志。 例如,密钥保管库支持从密钥保管库获取机密的操作的其他资源日志,或者Azure SQL具有跟踪数据库请求的资源日志。 资源日志的内容因 Azure 服务和资源类型而异。

参考监视Azure SQL数据库数据参考

备份和恢复

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

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

功能

Azure 备份

说明:服务可由Azure 备份服务备份。 了解详细信息

支持 默认启用 配置责任
False 不适用 不适用

配置指南:不支持此功能来保护此服务。

服务本机备份功能

说明:如果不使用 Azure 备份) ,服务 (支持自己的本机备份功能。 了解详细信息

支持 默认启用 配置责任
True True Microsoft

配置指南:无需其他配置,因为默认部署已启用此功能。

参考自动备份 - Azure SQL数据库

后续步骤