在 Azure SQL 中创建启用了“仅限 Microsoft Entra 身份验证”的服务器

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

本操作指南概述了在预配期间创建启用了仅限 Microsoft Entra 身份验证的 Azure SQL 数据库的逻辑服务器Azure SQL 托管实例的步骤。 “仅限 Microsoft Entra 身份验证”功能可阻止用户使用 SQL 身份验证连接到服务器或托管实例,仅允许使用 Microsoft Entra ID(旧称 Azure Active Directory)身份验证进行连接。

注意

Microsoft Entra ID 以前称为 Azure Active Directory (Azure AD)。

先决条件

  • 使用 Azure CLI 时,需要 2.26.1 或更高版本。 若要详细了解安装和最新版本,请参阅安装 Azure CLI
  • 使用 PowerShell 时需要 Az 6.1.0 模块或更高版本。
  • 如果要使用 Azure CLI、PowerShell 或 REST API 预配托管实例,需要在开始之前创建虚拟网络和子网。 有关详细信息,请参阅为 Azure SQL 托管实例创建虚拟网络

权限

若要预配逻辑服务器或托管实例,需要具有相应权限才能创建这些资源。 具有更高权限的 Azure 用户,例如订阅所有者参与者服务管理员共同管理员,拥有创建 SQL Server 或托管实例的特权。 若要使用特权最低的 Azure RBAC 角色创建这些资源,请对 SQL 数据库使用 SQL Server 参与者角色,对 SQL 托管实例使用 SQL 托管实例参与者角色。

SQL 安全管理器 Azure RBAC 角色没有足够的权限来创建启用了“仅限 Microsoft Entra 身份验证”的服务器或实例。 创建服务器或实例后,将需要 SQL 安全管理器角色来管理“仅限 Microsoft Entra 身份验证”功能。

在启用了“仅限 Microsoft Entra 身份验证”的情况下预配

以下部分提供了一些示例和脚本,介绍如何创建逻辑服务器或托管实例,为服务器或实例设置 Microsoft Entra 管理员,以及如何在服务器创建期间启用“仅限 Microsoft Entra 身份验证”。 有关该功能的详细信息,请参阅使用 Azure SQL 进行仅限 Microsoft Entra 身份验证

在我们的示例中,我们将使用系统分配的服务器管理员和密码,在服务器或托管实例创建期间启用“仅限 Microsoft Entra 身份验证”。 启用“仅限 Microsoft Entra 身份验证”后,该功能将阻止服务器管理员访问,仅允许 Microsoft Entra 管理员访问该资源。 可以选择向 API 添加参数,以在服务器创建过程中包含自己的服务器管理员和密码。 但是,在禁用“仅限 Microsoft Entra 身份验证”之前,无法重置密码。 此页的 PowerShell 标签页中提供了如何使用这些可选参数来指定服务器管理员登录名的示例。

注意

若要在创建服务器或托管实例后更改现有属性,应使用其他现有 API。 有关详细信息,请参阅使用 API 管理“仅限 Microsoft Entra 身份验证”使用 Azure SQL 配置和管理 Microsoft Entra 身份验证

如果“仅限 Microsoft Entra 身份验证”设置为 false(默认情况下为 false),则需要在服务器或托管实例创建过程中将服务器管理员和密码包含在所有 API 中。

Azure SQL 数据库

  1. 浏览到 Azure 门户中的选择 SQL 部署选项页。

  2. 如果你尚未登录到 Azure 门户,请按提示登录。

  3. 在“SQL 数据库”下将“资源类型”设置保留为“单一数据库”,然后选择“创建” 。

  4. 在“创建 SQL 数据库”窗体的“基本信息”选项卡上的“项目详细信息”下,选择所需的 Azure订阅 。

  5. 对于“资源组”,请选择“新建”,输入资源组的名称,然后选择“确定” 。

  6. 在“数据库名称”处,输入数据库的名称。

  7. 对于“服务器”,选择“新建”,并使用以下值填写“新服务器”窗体 :

    • 服务器名称:输入唯一的服务器名称。 对于 Azure 中的所有服务器,服务器名称必须全局唯一,而不只是在订阅中唯一。 输入一个值,Azure 门户将告知你是否可用。
    • 位置:从下拉列表中选择一个位置
    • 身份验证方法:选择“使用仅限 Microsoft Entra 身份验证”。
    • 选择“设置管理员”以打开“Microsoft Entra ID”窗格,并选择 Microsoft Entra 主体作为逻辑服务器 Microsoft Entra 管理员。 完成后,使用“选择”按钮设置管理员。

    创建启用“仅使用 Microsoft Entra 身份验证”的服务器的屏幕截图。

  8. 在完成时选择“下一步:网络”。

  9. 在“网络”选项卡上,对于“连接方法”,选择“公共终结点” 。

  10. 对于“防火墙规则”,将“添加当前客户端 IP 地址”设置为“是” 。 将“允许 Azure 服务和资源访问此服务器”设置保留为“否” 。

  11. 将“连接策略”和“最低 TLS 版本”设置保留为其默认值 。

  12. 在页面底部选择“下一步: 安全”。 为环境配置 Microsoft Defender for SQL、账本、标识和透明数据加密的任何设置 。 也可以跳过这些设置。

    注意

    “仅限 Microsoft Entra 身份验证”中不支持使用用户分配的托管标识。 要以标识身份连接到实例,请将其分配给 Azure 虚拟机,并在该虚拟机上运行 SSMS。 对于生产环境,建议使用 Microsoft Entra 管理员的托管标识,因为该标识可以通过对 Azure 资源进行无密码身份验证来增强、简化安全措施。

  13. 在页面底部选择查看 + 创建

  14. 在“查看 + 创建”页上,查看后选择“创建”。

Azure SQL 托管实例

  1. 浏览到 Azure 门户中的选择 SQL 部署选项页。

  2. 如果你尚未登录到 Azure 门户,请按提示登录。

  3. 在“SQL 托管实例”下将“资源类型”设置保留为“单一实例”,然后选择“创建” 。

  4. 在“基本信息”选项卡的“项目详细信息”和“托管实例详细信息”中填写所需的必填信息。 这是预配 SQL 托管实例所需的最少量信息。

    Azure 门户中用于创建 SQL 托管实例的“基本信息”选项卡的屏幕截图。

    有关配置选项的详细信息,请参阅快速入门:创建 Azure SQL 托管实例

  5. 在“身份验证”下的“身份验证方法”中选择“使用仅限 Microsoft Entra 身份验证”

  6. 选择“设置管理员”以打开“Microsoft Entra ID”窗格,并选择 Microsoft Entra 主体作为托管实例 Microsoft Entra 管理员。 完成后,使用“选择”按钮设置管理员。

    Azure 门户创建 SQL 托管实例基本信息选项卡的屏幕截图,其中选中了用户仅 Microsoft Entra 身份验证。

  7. 可将其余设置保留为默认值。 有关“网络”、“安全性”或其他选项卡和设置的详细信息,请按照快速入门:创建 Azure SQL 托管实例文章中的指南进行操作。

  8. 配置完设置后,选择“查看 + 创建”以继续。 选择“创建”,开始预配托管实例。

授予目录读取者权限

完成托管实例的部署后,你可能会注意到 SQL 托管实例需要读取权限才能访问 Microsoft Entra ID。 具有足够特权的人员选择 Azure 门户中显示的消息即可授予读取权限。 有关详细信息,请参阅 Azure SQL 的 Microsoft Entra ID 中的目录读取者角色

Azure 门户中 Microsoft Entra 管理员菜单的屏幕截图,其中显示需要读取权限。

限制

  • 若要重置服务器管理员密码,必须禁用“仅限 Microsoft Entra 身份验证”。
  • 如果“仅限 Microsoft Entra 身份验证”已禁用,则在使用所有 API 时,必须使用服务器管理员和密码创建服务器。