共用方式為

为 Microsoft Entra ID 的 Windows 身份验证配置 Azure SQL 托管实例

适用于:Azure SQL 托管实例

本文介绍如何配置 SQL 托管实例以支持 Microsoft Entra ID(前 Azure Active Directory)中主体的 Windows 身份验证。 为基于 传入的基于信任的身份验证流现代交互式身份验证流设置 Azure SQL 托管实例的步骤相同。

先决条件

为 Microsoft Entra 主体配置 Windows 身份验证的 SQL 托管实例需要满足以下先决条件:

先决条件 说明
Az.Sql PowerShell 模块 此 PowerShell 模块为 Azure SQL 资源提供管理 cmdlet。

通过运行以下 PowerShell 命令安装此模块:Install-Module -Name Az.Sql
Microsoft Graph PowerShell 模块 此模块为 Microsoft Entra 管理任务(例如用户和服务主体管理)提供管理 cmdlet。

通过运行以下 PowerShell 命令安装此模块:Install-Module -Name Microsoft.Graph
SQL 托管实例 可以 创建新的 SQL 托管实例 或使用现有的 SQL 托管实例。 必须在 SQL 托管实例上 启用Microsoft Entra 身份验证

在 Azure SQL 托管实例上配置 Microsoft Entra 身份验证

若要为 Microsoft Entra 主体启用 Windows 身份验证,需要在每个 SQL 托管实例上启用系统分配的服务主体。 系统分配的服务主体允许 SQL 托管实例用户使用 Kerberos 协议进行身份验证。 你还需要向每个服务主体授予管理员许可。

启用系统分配的服务主体

若要为 SQL 托管实例启用系统分配的服务主体,请执行以下作:

  1. 登录到 Azure 门户
  2. 导航到 SQL 托管实例。
  3. 选择“标识”。
  4. 将“系统分配的服务主体”设置为“开启”。 Azure 门户中 SQL 托管实例的标识窗格的屏幕截图,其中“系统分配的服务主体”设置为“开”。
  5. 选择“保存”。
  1. 登录到 Azure 门户

  2. 打开 Microsoft Entra ID。

  3. 选择“应用注册”。

  4. 选择“所有应用程序”。 Azure 门户中的 Microsoft Entra ID 资源的屏幕截图,其中左侧窗格中选择了“应用注册”。

  5. 选择与 SQL 托管实例匹配的显示名称的应用程序。 名称将采用以下格式:<managedinstancename> principal

  6. 选择“API 权限”。

  7. 选择“授予管理员同意”。

    Azure 门户中为应用程序配置的权限的屏幕截图。示例应用程序的状态为“已为 aadsqlmi 授予”。

  8. 在提示中选择“是”以授予管理员同意确认。

使用 Windows 身份验证连接到 SQL 托管实例

如果已实现基于信任的传入 身份验证流新式交互式身份验证流,具体取决于客户端的版本,现在可以测试使用 Windows 身份验证连接到 SQL 托管实例。

若要测试与 SQL Server Management Studio (SSMS) 的连接,请按照快速入门:使用 SSMS 连接和查询 Azure SQL 数据库或 Azure SQL 托管实例中的步骤操作。 选择“Windows 身份验证”作为身份验证类型。

SQL Server Management Studio 中的对话框,其中“服务器名称”区域中有一个 SQL 托管实例名称,“身份验证”设置为“Windows 身份验证”。