教程:使用 Azure SQL 启用仅限 Microsoft Entra 身份验证

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

本文将引导你启用 Azure SQL 数据库和 Azure SQL 托管实例中的仅限 Microsoft Entra 身份验证功能。 如果希望预配启用了“仅限 Microsoft Entra 身份验证”的 SQL 数据库或 SQL 托管实例,请参阅在 Azure SQL 中创建启用了“仅限 Microsoft Entra 身份验证”的服务器

注意

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

本教程介绍如何执行下列操作:

  • 分配角色以启用“仅限 Microsoft Entra 身份验证”
  • 使用 Azure 门户、Azure CLI 或 PowerShell 启用“仅限 Microsoft Entra 身份验证”
  • 检查是否已启用“仅限 Microsoft Entra 身份验证”
  • 测试与 Azure SQL 的连接
  • 使用 Azure 门户、Azure CLI 或 PowerShell 禁用“仅限 Microsoft Entra 身份验证”

先决条件

分配角色以启用“仅限 Microsoft Entra 身份验证”

若要启用或禁用“仅限 Microsoft Entra 身份验证”,执行本教程中操作的 Microsoft Entra 用户需要具有所选的内置角色。 在本教程中,我们将为用户分配 SQL 安全管理者角色。

若要详细了解如何为 Microsoft Entra 帐户分配角色,请参阅为使用 Microsoft Entra ID 的用户分配管理员和非管理员角色

有关启用或禁用“仅限 Microsoft Entra 身份验证”时所需权限的详细信息,请参阅“仅限 Microsoft Entra 身份验证”一文的“权限”部分

  1. 在本示例中,我们将为用户 UserSqlSecurityManager@contoso.partner.onmschina.cn 分配“SQL 安全管理者”角色。 使用可分配 Microsoft Entra 角色的特权用户身份登录到 Azure 门户

  2. 转到你的 SQL 服务器资源,然后在菜单中选择“访问控制(IAM)”。 选择“添加”按钮,然后在下拉菜单中选择“添加角色分配” 。

    屏幕截图显示了可在其中添加角色分配的“访问控制”页。

  3. 在“添加角色分配”窗格中选择“SQL 安全管理者”角色,然后选择要为其授予权限、使其能够启用或禁用“仅限 Microsoft Entra 身份验证”的用户。

    Azure 门户中的“添加角色分配”窗格

  4. 单击“ 保存”。

启用“仅限 Microsoft Entra 身份验证”

使用 Azure 门户在 SQL 数据库中启用

若要在 Azure 门户中启用“仅限 Microsoft Entra 身份验证”,请执行以下步骤:

  1. 使用具有 SQL 安全管理者角色的用户身份转到 Azure 门户

  2. 转到 SQL Server 资源,然后在“设置”菜单下选择“Microsoft Entra ID”

    屏幕截图显示了仅支持服务器的 Microsoft Entra 身份验证的选项。

  3. 如果尚未添加 Microsoft Entra 管理员,则需要先设置此设置,然后才能启用“仅限 Microsoft Entra 身份验证”。

  4. 为此服务器选中“仅支持 Microsoft Entra 身份验证”复选框

  5. 此时会显示“启用‘仅限 Microsoft Entra 身份验证’”弹出窗口。 选择“是”以启用该功能,然后保存设置 。

使用 Azure 门户在 SQL 托管实例中启用

若要在 Azure 门户中启用“仅限 Microsoft Entra 身份验证”,请参阅以下步骤。

  1. 使用具有 SQL 安全管理者角色的用户身份转到 Azure 门户

  2. 转到“SQL 托管实例”资源,然后选择“设置”菜单下的“Microsoft Entra 管理员”

  3. 如果尚未添加 Microsoft Entra 管理员,则需要先设置此设置,然后才能启用“仅限 Microsoft Entra 身份验证”。

  4. 选择“仅支持此托管实例的 Microsoft Entra 身份验证”复选框。

  5. 此时会显示“启用‘仅限 Microsoft Entra 身份验证’”弹出窗口。 选择“是”以启用该功能,然后保存设置 。

检查“仅限 Microsoft Entra 身份验证”的状态

检查是否为服务器或实例启用了“仅限 Microsoft Entra 身份验证”。

检查 SQL 数据库中的状态

Azure 门户中转到你的 SQL 服务器资源。 在设置菜单下选择 Microsoft Entra ID

检查 SQL 托管实例中的状态

转到 Azure 门户中的“SQL 托管实例”资源。 在“设置”下,选择“Microsoft Entra 管理员”

测试 SQL 身份验证时连接失败

启用“仅限 Microsoft Entra 身份验证”后,使用 SQL Server Management Studio (SSMS) 进行测试,以连接到 SQL 数据库或 SQL 托管实例。 使用 SQL 身份验证进行连接。

应会看到类似于以下输出的登录失败消息:

Cannot connect to <myserver>.database.chinacloudapi.cn.
Additional information:
  Login failed for user 'username'. Reason: Azure Active Directory only authentication is enabled.
  Please contact your system administrator. (Microsoft SQL Server, Error: 18456)

禁用“仅限 Microsoft Entra 身份验证”

可以通过禁用“仅限 Microsoft Entra 身份验证”功能来允许执行 Azure SQL 的 SQL 身份验证和 Microsoft Entra 身份验证。

使用 Azure 门户在 SQL 数据库中禁用

  1. 使用具有 SQL 安全管理者角色的用户身份转到 Azure 门户
  2. 转到 SQL Server 资源,然后在“设置”菜单下选择“Microsoft Entra ID”
  3. 若要禁用“仅限 Microsoft Entra 身份验证”功能,请取消选中“仅支持此服务器的 Microsoft Entra 身份验证”复选框,然后保存设置 。

使用 Azure 门户在 SQL 托管实例中禁用

  1. 使用具有 SQL 安全管理者角色的用户身份转到 Azure 门户
  2. 转到“SQL 托管实例”资源,然后选择“设置”菜单下的“Active Directory 管理员” 。
  3. 若要禁用“仅限 Microsoft Entra 身份验证”功能,请取消选中“仅支持此托管实例的 Microsoft Entra 身份验证”复选框,然后保存设置 。

再次测试连接到 Azure SQL

禁用“仅限 Microsoft Entra 身份验证”后,使用 SQL 身份验证登录名测试连接。 现在应该可以连接到你的服务器或实例。

后续步骤