本文介绍如何配置 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 托管实例启用系统分配的服务主体,请执行以下作:
- 登录到 Azure 门户。
- 导航到 SQL 托管实例。
- 选择“标识”。
- 将“系统分配的服务主体”设置为“开启”。
- 选择“保存”。
向系统分配的服务主体授予管理员许可
登录到 Azure 门户。
打开 Microsoft Entra ID。
选择“应用注册”。
选择与 SQL 托管实例匹配的显示名称的应用程序。 名称将采用以下格式:
<managedinstancename> principal
。选择“API 权限”。
选择“授予管理员同意”。
在提示中选择“是”以授予管理员同意确认。
使用 Windows 身份验证连接到 SQL 托管实例
如果已实现基于信任的传入 身份验证流 或 新式交互式身份验证流,具体取决于客户端的版本,现在可以测试使用 Windows 身份验证连接到 SQL 托管实例。
若要测试与 SQL Server Management Studio (SSMS) 的连接,请按照快速入门:使用 SSMS 连接和查询 Azure SQL 数据库或 Azure SQL 托管实例中的步骤操作。 选择“Windows 身份验证”作为身份验证类型。