加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 08:49:56 所属栏目:MsSql教程 来源:网络整理
导读:SQL Server提供从证书创建登录的选项.例如. USE MASTER;CREATE CERTIFICATE certificateName WITH SUBJECT = 'loginName certificate in master database',EXPIRY_DATE = '12/05/2025';GOCREATE LOGIN loginName FROM CERTIFICATE certificateName;GO 然而,do
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中签署存储过程的一个很好的例子

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读