你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure SQL 数据库和 SQL 托管实例的 Azure Policy 内置定义
适用于: Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics
此页是 Azure SQL 数据库和 SQL 托管实例的 Azure Policy 内置策略定义的索引。 有关其他服务的其他 Azure Policy 内置定义,请参阅 Azure Policy 内置定义。
每个内置策略定义链接(指向 Azure 门户中的策略定义)的名称。 使用“版本”列中的链接查看 Azure Policy GitHub 存储库上的源。
Azure SQL 数据库和 SQL 托管实例
名称 (Azure 门户) |
说明 | 效果 | 版本 (GitHub) |
---|---|---|---|
[预览]:SQL 数据库应为区域冗余 | 可将 SQL 数据库配置为区域冗余或非区域冗余。 “zoneRedundant”设置为“false”的数据库未配置区域冗余。 此策略可帮助识别需要区域冗余配置的 SQL 数据库,以增强 Azure 中的可用性和复原能力。 | Audit、Deny、Disabled | 1.0.0-preview |
[预览]:SQL 弹性数据库池应为区域冗余 | SQL 弹性数据库池可配置为区域冗余或非区域冗余。 如果 SQL 弹性数据库池的“zoneRedundant”属性设置为“true”,则它为区域冗余。 强制实施此策略有助于确保为事件中心配置合适的区域复原能力,从而降低区域中断期间停机的风险。 | Audit、Deny、Disabled | 1.0.0-preview |
[预览]:SQL 托管实例应为区域冗余 | SQL 托管实例可配置为区域冗余或非区域冗余。 “zoneRedundant”设置为“false”的实例未配置区域冗余。 此策略可帮助识别需要区域冗余配置的 SQL 托管实例,以增强 Azure 中的可用性和复原能力。 | Audit、Deny、Disabled | 1.0.0-preview |
应该为 SQL 服务器预配 Azure Active Directory 管理员 | 审核确认已为 SQL Server 预配了 Azure Active Directory 管理员以启用 Azure AD 身份验证。 使用 Azure AD 身份验证可以简化权限管理,以及集中化数据库用户和其他 Microsoft 服务的标识管理 | AuditIfNotExists、Disabled | 1.0.0 |
应启用 SQL 服务器上的审核 | 应在 SQL 服务器上启用审核以跟踪服务器上所有数据库的数据库活动,并将其保存在审核日志中。 | AuditIfNotExists、Disabled | 2.0.0 |
应为未受保护的 Azure SQL 服务器启用 Azure Defender for SQL | 审核没有高级数据安全的 SQL 服务器 | AuditIfNotExists、Disabled | 2.0.1 |
应为未受保护的 SQL 托管实例启用 Azure Defender for SQL | 审核所有未启用高级数据安全的 SQL 托管实例。 | AuditIfNotExists、Disabled | 1.0.2 |
Azure SQL 数据库应运行 TLS 版本 1.2 或更高版本 | 将 TLS 版本设置为 1.2 或更高版本,可以确保只能从使用 TLS 1.2 或更高版本的客户端访问 Azure SQL 数据库,从而提高安全性。 不建议使用低于 1.2 的 TLS 版本,因为它们存在有据可查的安全漏洞。 | 审核、已禁用、拒绝 | 2.0.0 |
Azure SQL 数据库应启用仅 Microsoft Entra 身份验证 | 要求 Azure SQL 逻辑服务器使用纯 Microsoft Entra 身份验证。 此策略不会阻止创建启用本地身份验证的服务器。 它确实会阻止在创建资源后启用本地身份验证。 考虑使用“纯 Microsoft Entra 身份验证”计划,而不是同时要求使用这两者。 有关详细信息,请访问:https://aka.ms/adonlycreate。 | Audit、Deny、Disabled | 1.0.0 |
Azure SQL 数据库应在创建期间启用纯 Microsoft Entra 身份验证 | 要求使用纯 Microsoft Entra 身份验证创建 Azure SQL 逻辑服务器。 此策略不会阻止在创建资源后重新启用本地身份验证。 考虑使用“纯 Microsoft Entra 身份验证”计划,而不是同时要求使用这两者。 有关详细信息,请访问:https://aka.ms/adonlycreate。 | Audit、Deny、Disabled | 1.2.0 |
Azure SQL 托管实例应启用仅 Microsoft Entra 身份验证 | 要求 Azure SQL 托管实例使用纯 Microsoft Entra 身份验证。 此策略不会阻止创建启用本地身份验证的 Azure SQL 托管实例。 它确实会阻止在创建资源后启用本地身份验证。 考虑使用“纯 Microsoft Entra 身份验证”计划,而不是同时要求使用这两者。 有关详细信息,请访问:https://aka.ms/adonlycreate。 | Audit、Deny、Disabled | 1.0.0 |
Azure SQL 托管实例应禁用公用网络访问 | 禁用 Azure SQL 托管实例上的公用网络访问(公共终结点)可确保只能从其虚拟网络内部或专用终结点访问它们,从而提高安全性。 若要了解有关公共网络访问的详细信息,请访问 https://aka.ms/mi-public-endpoint。 | Audit、Deny、Disabled | 1.0.0 |
Azure SQL 托管实例应在创建期间启用纯 Microsoft Entra 身份验证 | 要求使用纯 Microsoft Entra 身份验证创建 Azure SQL 托管实例。 此策略不会阻止在创建资源后重新启用本地身份验证。 考虑使用“纯 Microsoft Entra 身份验证”计划,而不是同时要求使用这两者。 有关详细信息,请访问:https://aka.ms/adonlycreate。 | Audit、Deny、Disabled | 1.2.0 |
将 Azure Defender 配置为在 SQL 托管实例上启用 | 在 Azure SQL 托管实例上启用 Azure Defender 可检测异常活动,此类活动表明数据库遭到了异常的访问或利用尝试并且可能会造成损害。 | DeployIfNotExists、Disabled | 2.0.0 |
将 Azure Defender 配置为在 SQL 服务器上启用 | 在 Azure SQL 服务器上启用 Azure Defender 可检测异常活动,此类活动表明数据库遭到了异常的访问或利用尝试并且可能会造成损害。 | DeployIfNotExists | 2.1.0 |
对 Log Analytics 工作区配置 Azure SQL 数据库服务器诊断设置 | 为 Azure SQL 数据库服务器启用审核日志,并在创建或更新缺少此审核的任何 SQL 服务器时,将日志流式传输到 Log Analytics 工作区 | DeployIfNotExists、Disabled | 1.0.2 |
将 Azure SQL Server 配置为禁用公用网络访问 | “禁用公用网络访问”属性会关闭公共连接,这样就只能从专用终结点访问 Azure SQL Server。 此配置会禁止通过公用网络访问 Azure SQL Server 下的所有数据库。 | 修改,已禁用 | 1.0.0 |
将 Azure SQL Server 配置为启用专用终结点连接 | 使用专用终结点连接,可以通过虚拟网络中的专用 IP 地址与 Azure SQL 数据库建立专用连接。 此配置可改善安全态势,并且支持 Azure 网络工具和方案。 | DeployIfNotExists、Disabled | 1.0.0 |
将 SQL 服务器配置为启用审核 | 为了确保捕获针对 SQL 资产执行的操作,SQL 服务器应该启用审核。 为了符合监管标准,有时需要这样做。 | DeployIfNotExists、Disabled | 3.0.0 |
将 SQL Server 配置为对 Log Analytics 工作区启用审核 | 为了确保捕获针对 SQL 资产执行的操作,SQL 服务器应该启用审核。 如果未启用审核,此策略会将审核事件配置为流向指定的 Log Analytics 工作区。 | DeployIfNotExists、Disabled | 1.0.0 |
部署 - 配置 SQL 数据库的诊断设置,以部署到 Log Analytics 工作区 | 为 SQL 数据库部署诊断设置,以便在创建或更新缺少此诊断设置的任何 SQL 数据库时,将资源日志流式传输到 Log Analytics 工作区。 | DeployIfNotExists、Disabled | 4.0.0 |
在 SQL 服务器上部署高级数据安全 | 此策略在 SQL 服务器上启用高级数据安全性。 这包括启用威胁检测和漏洞评估。 它自动在 SQL 服务器所在的同一区域和资源组中,创建一个带有“sqlva”前缀存储帐户用于存储扫描结果。 | DeployIfNotExists | 1.3.0 |
将 Azure SQL 数据库的诊断设置部署到事件中心 | 在创建或更新缺少 Azure SQL 数据库的诊断设置的 Azure SQL 数据库时,将此诊断设置流式部署到区域事件中心。 | DeployIfNotExists | 1.2.0 |
部署 SQL DB 透明数据加密 | 在 SQL 数据库上启用透明数据加密 | DeployIfNotExists、Disabled | 2.2.0 |
按类别组为 SQL 数据库 (microsoft.sql/servers/databases) 启用到事件中心的日志记录 | 应启用资源日志以跟踪在资源上发生的活动和事件,并让你了解发生的任何变化。 此策略使用类别组部署诊断设置,为 SQL 数据库 (microsoft.sql/servers/databases) 将日志路由到事件中心。 | DeployIfNotExists、AuditIfNotExists、Disabled | 1.1.0 |
按类别组为 SQL 数据库 (microsoft.sql/servers/databases) 启用到 Log Analytics 的日志记录 | 应启用资源日志以跟踪在资源上发生的活动和事件,并让你了解发生的任何变化。 此策略使用类别组部署诊断设置,为 SQL 数据库 (microsoft.sql/servers/databases) 将日志路由到 Log Analytics 工作区。 | DeployIfNotExists、AuditIfNotExists、Disabled | 1.0.0 |
按类别组为 SQL 数据库 (microsoft.sql/servers/databases) 启用到存储的日志记录 | 应启用资源日志以跟踪在资源上发生的活动和事件,并让你了解发生的任何变化。 此策略使用类别组部署诊断设置,为 SQL 数据库 (microsoft.sql/servers/databases) 将日志路由到存储账户。 | DeployIfNotExists、AuditIfNotExists、Disabled | 1.0.0 |
按类别组为 SQL 托管实例 (microsoft.sql/managedinstances) 启用到事件中心的日志记录 | 应启用资源日志以跟踪在资源上发生的活动和事件,并让你了解发生的任何变化。 此策略使用类别组部署诊断设置,为 SQL 托管实例 (microsoft.sql/managedinstances) 将日志路由到事件中心。 | DeployIfNotExists、AuditIfNotExists、Disabled | 1.1.0 |
按类别组为 SQL 托管实例 (microsoft.sql/managedinstances) 启用到 Log Analytics 的日志记录 | 应启用资源日志以跟踪在资源上发生的活动和事件,并让你了解发生的任何变化。 此策略使用类别组部署诊断设置,为 SQL 托管实例 (microsoft.sql/managedinstances) 将日志路由到 Log Analytics 工作区。 | DeployIfNotExists、AuditIfNotExists、Disabled | 1.0.0 |
按类别组为 SQL 托管实例 (microsoft.sql/managedinstances) 启用到存储的日志记录 | 应启用资源日志以跟踪在资源上发生的活动和事件,并让你了解发生的任何变化。 此策略使用类别组部署诊断设置,为 SQL 托管实例 (microsoft.sql/managedinstances) 将日志路由到存储账户。 | DeployIfNotExists、AuditIfNotExists、Disabled | 1.0.0 |
应为 Azure SQL 数据库启用长期异地冗余备份 | 此策略将审核未启用长期异地冗余备份的任何 Azure SQL 数据库。 | AuditIfNotExists、Disabled | 2.0.0 |
应启用 Azure SQL 数据库上的专用终结点连接 | 专用终结点连接通过启用到 Azure SQL 数据库的专用连接来加强安全通信。 | Audit、Disabled | 1.1.0 |
应禁用 Azure SQL 数据库上的公用网络访问 | 禁用公用网络访问属性可确保只能从专用终结点访问 Azure SQL 数据库,从而提高安全性。 此配置拒绝所有符合基于 IP 或虚拟网络的防火墙规则的登录。 | Audit、Deny、Disabled | 1.1.0 |
SQL 审核设置中应包含配置为捕获关键活动的操作组 | AuditActionsAndGroups 属性应至少包含 SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP FAILED_DATABASE_AUTHENTICATION_GROUP、BATCH_COMPLETED_GROUP 以确保全面审核日志记录 | AuditIfNotExists、Disabled | 1.0.0 |
SQL 数据库应避免使用 GRS 备份冗余 | 如果数据驻留规则要求数据驻留在特定区域内,那么数据库应避免使用默认异地冗余存储进行备份。 注意:使用 T-SQL 创建数据库时,不会强制实施 Azure Policy。 如果未显式指定,则通过 T-SQL 创建具有异地冗余备份存储的数据库。 | 拒绝、已禁用 | 2.0.0 |
SQL 数据库应已解决漏洞结果 | 监视漏洞评估扫描结果,并提供有关如何消除数据库漏洞的建议。 | AuditIfNotExists、Disabled | 4.1.0 |
SQL 托管实例的最低 TLS 版本应为 1.2 | 将最低 TLS 版本设置为 1.2 可以确保只能从使用 TLS 1.2 的客户端访问 SQL 托管实例,从而提高安全性。 不建议使用低于 1.2 的 TLS 版本,因为它们存在有据可查的安全漏洞。 | Audit、Disabled | 1.0.1 |
SQL 托管实例应避免使用 GRS 备份冗余 | 如果数据驻留规则要求数据驻留在特定区域内,那么托管实例应避免使用默认异地冗余存储进行备份。 注意:使用 T-SQL 创建数据库时,不会强制实施 Azure Policy。 如果未显式指定,则通过 T-SQL 创建具有异地冗余备份存储的数据库。 | 拒绝、已禁用 | 2.0.0 |
SQL 托管实例应使用客户管理的密钥进行静态数据加密 | 使用你自己的密钥实现透明数据加密 (TDE) 可增加透明度和对 TDE 保护器的控制,增强由 HSM 提供支持的外部服务的安全性,并促进职责划分。 此建议适用于具有相关合规性要求的组织。 | Audit、Deny、Disabled | 2.0.0 |
SQL Server 应使用虚拟网络服务终结点 | 此策略审核任何未配置为使用虚拟网络服务终结点的 SQL Server。 | AuditIfNotExists、Disabled | 1.0.0 |
SQL Server 应使用客户管理的密钥进行静态数据加密 | 使用你自己的密钥实现透明数据加密 (TDE) 可增加透明度和对 TDE 保护器的控制,增强由 HSM 提供支持的外部服务的安全性,并促进职责划分。 此建议适用于具有相关合规性要求的组织。 | Audit、Deny、Disabled | 2.0.1 |
对存储帐户目标进行审核的 SQL Server 应配置至少 90 天的保留期 | 为便于调查事件,建议将 SQL Server 审核数据在存储帐户目标中的数据保留期设置为至少 90 天。 确认你遵守所运营区域的必要保留规则。 为了符合监管标准,有时需要这样做。 | AuditIfNotExists、Disabled | 3.0.0 |
应在 SQL 数据库上启用透明数据加密 | 应启用透明数据加密以保护静态数据并满足符合性要求 | AuditIfNotExists、Disabled | 2.0.0 |
应启用 Azure SQL 数据库上的虚拟网络防火墙规则,以允许来自指定子网的流量 | 基于虚拟网络的防火墙规则用于支持从特定子网到 Azure SQL 数据库的流量,同时确保流量停留在 Azure 边界内。 | AuditIfNotExists | 1.0.0 |
应在 SQL 托管实例上启用漏洞评估 | 审核未启用定期漏洞评估扫描的每个 SQL 托管实例。 漏洞评估可发现、跟踪和帮助你修正潜在数据库漏洞。 | AuditIfNotExists、Disabled | 1.0.1 |
应对 SQL 服务器启用漏洞评估 | 审核未正确配置漏洞评估的 Azure SQL 服务器。 漏洞评估可发现、跟踪和帮助你修正潜在数据库漏洞。 | AuditIfNotExists、Disabled | 3.0.0 |
限制
- 使用 T-SQL 或 SSMS 时,不强制使用适用于 Azure SQL 数据库和 SQL 托管实例创建的 Azure Policy。
后续步骤
- 在 Azure Policy GitHub 存储库中查看这些内置项。
- 查看 Azure Policy 定义结构。
- 查看了解策略效果。