介绍身份验证和标识

已完成

本地 SQL Server 安装和 Azure 虚拟机中的 SQL Server 安装都支持两种身份验证模式:SQL Server 身份验证和 Windows 身份验证。 使用 SQL Server 身份验证时,特定于 SQL Server 的登录名和密码信息存储在 SQL Server 中,要么存储在 master 数据库中,要么存储在用户数据库中(对于包含的用户)。 使用 Windows 身份验证,用户可以使用用于登录计算机(以及访问文件共享和应用程序)的同一 Active Directory 帐户连接到 SQL Server。

Active Directory 身份验证被认为更安全,因为 SQL Server 身份验证允许在通过网络传递登录信息时以纯文本的形式显示。 此外,使用 Active Directory 身份验证还能更容易地管理用户流动。 如果某个用户离开了公司,而你使用的是 Windows 身份验证,则管理员只需锁定该用户的单个 Windows 帐户,而不必识别每次出现的 SQL 登录。

Azure SQL 数据库同样支持两种不同的身份验证模式:SQL Server 身份验证和 Microsoft Entra 身份验证。 SQL Server 身份验证是自首次引入以来在 SQL Server 中一直受支持的同一身份验证方法,其中的用户凭据存储在 master 数据库或用户数据库中。 通过 Microsoft Entra ID 进行身份验证,用户可以输入用于访问其他资源(如 Azure 门户或 Microsoft 365)的同一用户名和密码。

如上所述,可以将 Microsoft Entra ID 配置为与本地 Active Directory 同步。 此选项允许用户使用相同的用户名和密码来访问本地资源和 Azure 资源。 通过支持管理员轻松配置多重身份验证 (MFA),Microsoft Entra ID 增加了额外的安全措施。

如果已在帐户上启用 MFA,则提供正确的用户名和密码后,需要进行第二级身份验证。 默认情况下,可以将 MFA 配置为使用 Windows Authenticator 应用程序,该应用程序随后会向手机发送推送通知。 默认 MFA 操作的其他选项包括向收件人发送带有访问代码的文本消息,或者让用户输入使用 Microsoft Authenticator 应用程序生成的访问代码。 如果用户启用了 MFA,则必须在 Azure Data Studio 和 SQL Server Management Studio 中“使用 MFA 进行通用身份验证”选项。

Universal Authentication in SQL Server Management Studio

适用于 SQL Server 的 Azure SQL 数据库和 Azure Database for PostgreSQL 均支持将托管数据库的服务器配置为使用 Microsoft Entra 身份验证。

Microsoft Entra Admin Configuration for Azure SQL server

此登录允许管理员访问服务器中的所有数据库。 最佳做法是将此帐户设置为 Microsoft Entra 组,以便访问不依赖于单个登录。 在上图中,该组被称为 DBA 团队。 Microsoft Entra 管理员帐户可授予特殊权限,并允许拥有该权限的帐户或组对服务器和服务器内的所有数据库具有类似 sysadmin 的权限。 只能使用 Azure 资源管理器设置管理员帐户,而不是在数据库级别上设置。 若要更改帐户或组,必须使用 Azure 门户、PowerShell 或 CLI。