Dis*_*ned 13 sql-server authentication client-certificates ssl-certificate
SQL Server提供了从证书创建登录的选项.例如
USE MASTER;
CREATE CERTIFICATE <certificateName>
WITH SUBJECT = '<loginName> certificate in master database',
EXPIRY_DATE = '12/05/2025';
GO
CREATE LOGIN <loginName> FROM CERTIFICATE <certificateName>;
GO
Run Code Online (Sandbox Code Playgroud)
但是,文档说明(强调我的):
从证书或非对称密钥创建的登录仅用于代码签名.它们不能用于连接SQL Server.只有在master中已存在证书或非对称密钥时,才能从证书或非对称密钥创建登录.
创建无法用于连接服务器的登录有什么意义?
我们需要对中间层应用程序进行一些安全性更改.特别是它如何连接到它的数据库.规定的权力规定:"我们不能使用Windows身份验证".
我知道这通常是首选方法,但是有权访问中间层服务器的任何人都可以获得与应用程序相同的数据库访问权限.
如果我们使用SQL身份验证,我们需要:
虽然以上是可能的,但我有点希望:
来自文件的上述摘录似乎与此相矛盾.
它用于对SQL Server数据库对象进行代码签名.此处详细说明了CREATE LOGIN x FROM CERTIFICATE y以及SQL Server 2008和2008 R2的示例和方案:http://technet.microsoft.com/en-us/library/ms345102(v = sql.105).aspx
以下是在SQL Server 2014中签署存储过程的一个很好的示例:http: //technet.microsoft.com/en-us/library/bb283630.aspx