SQL Server基于证书的身份验证

本文关键字:证书 身份验证 Server 于证书 SQL | 更新日期: 2023-09-27 18:07:07

目前我正在努力与我目前的项目。我的任务是替换使用基于用户名/密码的身份验证/连接到SQL Server(2014),并将其替换为基于证书的身份验证/连接。所以我的问题可能是:

  1. 这在SQL Server中是否可行?

    • 这个想法是不再包括用户名/密码组合从服务器连接到数据库实例。然后,这将被一个证书取代,理想情况下,证书将保存所有登录凭据(加密)。因此,简单地说,使用该系统的每台pc都需要获得连接到数据库的证书。
  2. 如果可能,这是一个单一的证书为所有还是一台计算机-一个证书?

希望在这里得到一些好的/坏的意见。谢谢你

SQL Server基于证书的身份验证

SQL Server与证书身份验证相同的选项称为集成安全。

当您跨机器使用集成安全性时,服务器位于与客户端不同的计算机上,您还依赖于Active Directory域来调解机器之间的信任。

它是这样工作的:

用户登录到已加入Active Directory域的客户端计算机。作为身份验证过程的一部分,域控制器(DC)将为会话发出身份验证令牌。

用户然后希望使用集成安全登录SQL Server,其中SQL Server安装是同一域的成员。为此,将令牌传递给SQL Server, SQL Server反过来根据域控制器验证令牌,以决定是否授予访问权限。现在SQL Server可以相信用户就是他们所说的那个人。从那里,它咨询自己的用户信息,以决定是否或什么访问权限授予。

这个过程的完整性是通过证书来保证的。也是一个时钟(感谢Kerberos)。

我们谈论的证书是来自活动目录网络中的根证书颁发机构还是使用其SSL证书验证回SQL Server的网页?或者这是专门为此目的生成的证书?什么语言/程序正在尝试使用证书进行授权。我假设是c#,但我只是想确保。