SQL Server中基于证书的身份验证

时间:2016-09-15 05:20:38

标签: c# sql-server authentication certificate

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

  1. SQL Server可以实现吗?

    • 我们的想法是不再包含用户名/密码组合以从服务器连接到数据库实例。然后,这将被证书取代,其中理想情况下将保存所有登录凭证(加密)。因此,简单来说,每个将使用该系统的PC都需要颁发证书才能连接到数据库。
  2. 如果可能的话,这是全部或一台计算机的单一证书 - 一证书吗?

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

2 个答案:

答案 0 :(得分:1)

我们在谈论一个来自根证书颁发机构的证书来自Active Directory网络或使用其SSL证书进行身份验证的网页?或者这是仅为此目的而生成的证书?尝试使用证书授权的语言/程序。我假设C#,但我只是想确定。

答案 1 :(得分:0)

SQL Server证书认证的等效选项是“集成安全性”选项。

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

它是这样的:

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

然后,用户希望使用集成安全性登录SQL Server,其中SQL Server安装是同一域的成员。为此,将令牌传递到SQL Server,SQL Server进而根据域控制器验证令牌,以决定是否授予访问权限。现在,SQL Server可以相信用户就是他们所说的。从那里开始,它会查询自己的用户信息,以决定是否授予访问权限。

使用-您猜到了-证书可以保证此过程的完整性。还有一个时钟(感谢Kerberos)。

相关问题