配置安全的Linked server

本文探讨了在SQL Server中配置Linked Server时的安全性考量。主要关注存储用户名密码的风险、建议使用Windows账户访问的复杂性,以及如何通过本地Login和远程Login的Mapping限制特定用户访问。文中提供了一个示例,展示了如何设置映射以防止未授权访问,并提到了微软的官方实例作为参考。
摘要由CSDN通过智能技术生成

SQL Server Linked server提供了方便快速访问外部数据以及异构数据库,所以很多公司喜欢用Linked server.但是又有一些公司限制使用Linked server.

 

我觉得主要是安全性的考量:

1.创建Linked server的时候我们可以直接将用户名和密码存储,访问Linked server的时候就直接使用存储的用户名密码对远程数据库远程访问。但是这样会有一个问题,如果我只允许A用户访问数据库,但是B用户也有可能会访问到数据库,而且有可能会更新远程数据,这个是很危险的。当然我们使用只读权限配置Linked server,但是这样对性能会有影响,如果这个账户没有db_ower权限则无法使用正确的统计信息,可能生成错误的执行计划,导致性能下降。

 

 

2.微软建议我们使用Windows账户进行访问,但是使用Windows账户访问在其他方面也要做很多配置。 首先如果用到委托的话,就需要创建SPN,在Cluster环境中队SPN Troubleshooting是很困难的。其次在做应用程序开发的时候就需要进行好的规划,将Schema与域账户进行一一对应。第三还需要对这些WINDOWS用户做限制,不能直接访问数据库,如果B/S架构可能需要限制IP访问或者用Application role等等。

针对于上面的两点安全性考虑,其实我们就需要限制特定用户访问Linked server.微软的MSDN中有提到用本地Login和远程Login的Mapping来实现。但是我自己做了个测试发现及时用另外的用户还是可以访问Linked server的:

 

首先创建Linked server:

/****** Object:  LinkedSe

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值