使用 Azure SQL 进行“仅限 Microsoft Entra 身份验证”的 Azure Policy

适用于:Azure SQL 数据库Azure SQL 托管实例

Azure Policy 可以强制创建 Azure SQL 数据库或 Azure SQL 托管实例,并在预配期间启用仅限 Microsoft Entra 身份验证。 使用此策略时,如果不是在启用“仅限 Microsoft Entra 身份验证”的情况下尝试在 Azure 中创建逻辑服务器或托管实例,那么任何尝试都会失败。

注意

尽管 Azure Active Directory (Azure AD) 已重命名为 Microsoft Entra ID,但策略名称当前包含原始 Azure AD 名称,因此本文中可互换使用“仅限 Microsoft Entra 身分验证”和“仅限 Azure AD 身份验证”。

Azure Policy 可以应用于整个 Azure 订阅,也可以仅应用于资源组。

Azure Policy 中引入了两个新的内置策略:

  • Azure SQL 数据库应已启用仅 Azure Active Directory 身份验证
  • Azure SQL 托管实例应已启用仅 Azure Active Directory 身份验证

有关 Azure Policy 的详细信息,请参阅什么是 Azure Policy?Azure Policy 定义结构

权限

有关管理 Azure Policy 所需权限的概述,请参阅 Azure Policy 中的 Azure RBAC 权限

操作

如果要使用自定义角色来管理 Azure Policy,则需要执行以下操作

  • */read
  • Microsoft.Authorization/policyassignments/*
  • Microsoft.Authorization/policydefinitions/*
  • Microsoft.Authorization/policyexemptions/*
  • Microsoft.Authorization/policysetdefinitions/*
  • Microsoft.PolicyInsights/*

有关自定义角色的详细信息,请参阅 Azure 自定义角色

管理仅 Azure AD 身份验证的 Azure Policy

可以通过转到 Azure 门户并搜索“策略”服务来管理仅 Azure AD 身份验证策略。 在“定义”下,搜索“仅限 Azure Active Directory 身份验证”

Screenshot of Azure Policy for Azure AD-only authentication

有关指南,请参阅使用 Azure Policy 强制 Azure SQL 实施“仅限 Azure AD 身份验证”

这些策略有三方面的影响:

  • 审核 - 默认设置,将只在 Azure Policy 活动日志中捕获审核报告
  • 拒绝 - 防止在未启用仅限 Microsoft Entra 身份验证的情况下创建逻辑服务器或托管实例
  • 禁用 - 将禁用该策略,并且在未启用“仅限 Microsoft Entra 身份验证”的情况下不会限制用户创建逻辑服务器或托管实例

如果“仅限 Azure AD 身份验证”的 Azure Policy 设置为“拒绝”,则创建逻辑服务器或托管实例将失败。 此失败的详细信息将记录在资源组的“活动日志”中。

策略符合性

可以查看“策略”服务下的“合规性”设置以查看合规性状态。 “符合性状态”将告知服务器或托管实例当前是否符合启用了“仅限 Microsoft Entra 身份验证”的要求。

在未启用“仅限 Microsoft Entra 身份验证”的情况下,Azure Policy 可以阻止创建新的逻辑服务器或托管实例,但可以在服务器或托管实例创建后更改此功能。 如果用户在创建服务器或托管实例之后禁用了“仅限 Microsoft Entra 身份验证”,则在 Azure Policy 设置为“拒绝”时,符合性状态将为 Non-compliant

Screenshot of Azure Policy Compliance menu for Azure AD-only authentication.

限制

  • Azure Policy 在逻辑服务器或托管实例创建过程中强制实施仅 Azure AD 身份验证。 创建服务器后,具有特殊角色的授权 Microsoft Entra 用户(例如,SQL 安全管理员)可以禁用“仅限 Azure AD 身份验证”功能。 Azure Policy 允许这样做,但在这种情况下,服务器或托管实例将在符合性报告中列为 Non-compliant,报告将指示服务器或托管实例的名称。
  • 有关更多注解、已知问题和所需的权限,请参阅仅限 Microsoft Entra 身份验证

后续步骤