sql-server – 从证书创建登录的目的是什么?

前端之家收集整理的这篇文章主要介绍了sql-server – 从证书创建登录的目的是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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

然而,documentation州(强调我的):

Logins created from certificates or asymmetric keys are used only for code signing. They cannot be used to connect to sql Server. You can create a login from a certificate or asymmetric key only when the certificate or asymmetric key already exists in master.

创建不能用于连接到服务器的登录名是什么?

背景

我们需要对中间层应用程序进行一些安全更改.特别是它如何连接到它的数据库.授权的权力:“我们不能使用Windows身份验证”.
我知道这通常是首选的方法,但任何有权访问中间层服务器的人都将具有与应用程序相同的访问数据库的权限.

如果我们使用sql认证,我们需要:

>加密密码.
>将其存储在配置文件/注册表中.
>然后在应用程序需要连接到数据库时解密密码.

虽然上述可能,我有点希望:

>我可以使用基于证书的登录.
>在构建过程中将证书与应用程序关联.
>并使用它来连接到sql Server.

上述文献摘录似乎与此相矛盾.

解决方法

它用于代码签名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中签署存储过程的一个很好的例子

原文链接:https://www.f2er.com/mssql/75252.html

猜你在找的MsSQL相关文章