你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
通过使用 Microsoft Entra 仅认证,您可以配置 Azure Synapse Analytics 仅支持 Microsoft Entra 认证。
注意
Microsoft Entra server principals 目前在 Azure Synapse Analytics 中處於預覽狀態。
Microsoft Entra 仅限认证可用于独立专用 SQL 池和 Azure Synapse 工作空间。 关于工作区配置,请参见 禁用本地身份验证。 Azure Synapse Analytics 工作区中的专用 SQL 池不使用逻辑 SQL 服务器。
当你启用仅支持 Microsoft Entra 的认证时,就是禁用 SQL 认证,包括 SQL 管理员、登录名和用户的连接。 只有使用 Microsoft Entra 认证的用户才能连接。
对于独立的专用SQL池,您可以使用Azure门户、Azure CLI、PowerShell或REST API启用或禁用仅支持Microsoft Entra的认证。 你也可以在逻辑服务器创建时用 Azure 资源管理器(ARM)模板配置它。
有关详细信息,请参阅 身份验证和授权。
功能说明
当你启用仅支持 Microsoft Entra 的认证时,就是禁用工作空间或 逻辑服务器 的 SQL 认证。 虽然 SQL 认证被禁用,但拥有适当权限的 Microsoft Entra 账户仍然可以创建新的 SQL 认证登录和用户。 新创建的SQL认证账户无法连接。 启用“仅限 Microsoft Entra 身份验证”不会删除现有的 SQL 身份验证登录名和用户帐户。 该功能仅阻止这些账户连接到服务器及为该服务器创建的任何数据库。
Permissions
属于高权限 Microsoft Entra 内置角色(如 Azure 订阅所有者和贡献者)的 Microsoft Entra 用户,可以启用或禁用仅 Microsoft Entra 的认证。 此外,SQL Security Manager 角色可以启用或禁用仅支持 Microsoft Entra 的认证功能。
SQL Server 参与者角色没有权限启用或禁用仅 Microsoft Entra 身份验证。 这一限制与职责分离是一致的:能够创建逻辑服务器或设置 Microsoft Entra 管理员的用户不一定能启用或禁用安全功能。
所需操作
以下操作已添加到 SQL 安全管理者角色,使其能够管理“仅限 Microsoft Entra 身份验证”功能。
Microsoft.Sql/servers/azureADOnlyAuthentications/*-
Microsoft.Sql/servers/administrators/read- 仅对访问 Azure 门户 Microsoft Entra ID 菜单的用户是必需的
你也可以将这些操作添加到自定义角色中,以管理仅限 Microsoft Entra 的身份验证。 有关详细信息,请参阅在 Microsoft Entra ID 中创建和分配自定义角色。
使用 API 管理纯 Microsoft Entra 身份验证
Important
在启用仅 Microsoft Entra 认证之前,您必须先设置 Microsoft Entra 管理员。
- Azure CLI
- PowerShell
- REST API
- ARM 模板
必须使用 Azure CLI 2.14.2 或更高版本。
name 对应逻辑服务器名称的前缀(例如,myserver),resource-group 对应资源组(例如,myresource)。
独立专用SQL池
有关详细信息,请参阅 az sql server ad-only-auth。
启用或禁用
启用
az sql server ad-only-auth enable --resource-group myresource --name myserver
禁用
az sql server ad-only-auth disable --resource-group myresource --name myserver
请查看状态
az sql server ad-only-auth get --resource-group myresource --name myserver
使用 T-SQL 检查“仅限 Microsoft Entra 身份验证”
使用 IsExternalAuthenticationOnly 函数和 检查你的逻辑服务器是否启用了仅支持 Microsoft Entra 的认证。
1 表示该功能已启用,表示 0 该功能已被禁用。
SELECT SERVERPROPERTY('IsExternalAuthenticationOnly')
系统生成服务器管理员账户
当你创建一个启用仅支持 Microsoft Entra 认证的逻辑服务器时,服务会生成一个服务器管理员名和一个随机密码。 生成的名称以随机字符串开头CloudSA,并在 Azure 门户中以服务器管理员登录方式出现。
账户存在是为了满足配置需求,而不是提供连接方式。 无论配置哪种资源类型,都需要SQL认证管理员值。 仅支持 Microsoft Entra 的认证会改变哪些认证方法可以在配置后建立连接,但它不会取消该配置要求,因此服务会生成满足连接所需的值。
看到生成的名称并不意味着SQL认证已启用。 启用仅限 Microsoft Entra 的身份验证时:
- 任何SQL认证账户都无法连接,包括系统生成的管理员。
- 生成的账户不是共享账户、后备方案,也不是应急访问途径。
- 应用程序和管理员必须使用 Microsoft Entra 认证才能连接。
- Microsoft Entra 管理员和其他经授权的 Microsoft Entra 主体仍然是受支持的管理方式。
- 服务在配置后会永久移除控制平面上的密码。
Remarks
- SQL Server 参与者可以设置或删除 Microsoft Entra 管理员,但不能设置“仅限 Microsoft Entra 身份验证”。 SQL 安全管理器无法设置或删除 Microsoft Entra 管理员,但可以设置“仅限 Microsoft Entra 身份验证”。 只有具有更高 Azure RBAC 角色或包含这两种权限的自定义角色的帐户才能设置或删除 Microsoft Entra 管理员,以及设置“仅限 Microsoft Entra 身份验证”。 参与者角色就是这样的一种角色。
- 在 Azure 门户中启用或禁用 仅 Microsoft Entra 身份验证后,会出现一个活动日志条目。
- 如果指定了 Microsoft Entra 管理员,则只有拥有适当权限的用户才能启用或禁用“仅限 Microsoft Entra 身份验证”设置。 如果未设置 Microsoft Entra 管理员,Microsoft Entra 仅限身份验证设置将保持非活动状态,无法启用或禁用。 如果未设置 Microsoft Entra 管理员,则使用 API 启用“仅限 Microsoft Entra 身份验证”也会失败。
- 在已启用“仅限 Microsoft Entra 身份验证”的情况下,支持拥有适当权限的用户更改 Microsoft Entra 管理员。
- 只允许拥有适当权限的用户在 Azure 门户中更改 Microsoft Entra 管理员以及启用或禁用“仅限 Microsoft Entra 身份验证”。 在 Azure 门户中执行一次“保存”即可完成这两项操作。 必须先设置 Microsoft Entra 管理员,才能启用仅限 Microsoft Entra 的身份验证。
- 在启用“仅限 Microsoft Entra 身份验证”功能时,不支持删除 Microsoft Entra 管理员。 如果启用了“仅限 Microsoft Entra 身份验证”,则使用 API 移除 Microsoft Entra 管理员将会失败。
- 如果已启用“仅限 Microsoft Entra 身份验证”设置,则 Azure 门户中的“删除管理员”按钮将处于非活动状态 。
- 允许删除 Microsoft Entra 管理员和禁用“仅限 Microsoft Entra 身份验证”设置,但需要适当的用户权限才能完成操作。 在 Azure 门户中执行一次“保存”即可完成这两项操作。
- 拥有适当权限的 Microsoft Entra 用户可以模拟现有的 SQL 用户。
- 即使启用了仅 Microsoft Entra 身份验证,模拟执行在 SQL 身份验证用户之间仍可运行。