SQL 服务器中基于证书的身份验证

Certificate-Based Authentication in SQL Server

目前我正在为我当前的项目而苦苦挣扎。我的任务是将基于 Username/Password 的 Authentication/Connection 的使用替换为 SQL 服务器 (2014),并将其替换为 证书基于Authentication/Connection一个。所以我的问题可能是:

  1. SQL 服务器可以吗?

    • 想法是不再包含 username/password 组合以从服务器连接到数据库实例。然后,这将被证书取代,理想情况下,证书将包含所有登录凭据(加密)。所以简单来说,每台使用该系统的电脑都需要颁发证书才能连接到数据库。
  2. 如果可能,这是一个适用于所有计算机的单一证书还是一个计算机 - 一个证书?

希望在这里得到一些 good/bad 意见。谢谢

我们在谈论什么证书来自 Active Directory 网络中的根证书颁发机构或使用其 SSL 证书验证回 SQL 服务器的网页?或者这是专为此目的而生成的证书? language/program 正在尝试使用证书进行授权。我假设使用 C#,但我只是想确定一下。

SQL 服务器的等效于证书身份验证的选项是集成安全选项。

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

它是这样工作的:

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

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

这个过程的完整性是通过使用——你猜对了——证书来保证的。还有一个时钟(感谢 Kerberos)。