SqlServer服务中利用触发器对指定账户进行登录ip限制提升安全性操作
作者:张晓栋 发布时间:2024-01-26 12:24:32
转眼间上次写文章已经是 2022年12月15日的事情啦,本来从2022年7月份开始写作之后保持着每周一篇,然而从12月15日后断更了这么久,经历了,隔离、阳、过年、从今天开始继续坚持写作,本片文章给大家分享 SqlServer服务中利用触发器对指定账户进行登录ip限制从而提升账户的安全性,这样可以灵活的限制每个账户的允许登录IP,类似于 PostgreSQL 中 pg_hba.conf 配置文件的功能,MySQL 则是在创建账户时可以配置账户允许登录IP,下面记录一下 SQLServer 如何实现。
在MySql数据库中我们在创建一个新的用户时是可以选择这个用户的可用连接ip的,比如localhost 或者 某个ip 甚至不做限制直接输入 % 则表示这个用户运行任意IP远程连接,但是在微软的MsSqlServer中在创建用户时则没有这样的设置,但是有时候我们处于安全问题,想要限制某个账户只能通过某个IP访问,通过防火墙设置的话会直接阻断这个IP对所有账户的访问,有点一棍子打死,不是我们想要的,这种情况下可以利用MsSqlServer数据库中的触发器来实现这个目的,当用户请求连接数据库时会触发我们提前写好的规则进行验证是否允许连接。
登陆数据库服务器之后,新建查询输入如下代码:
请替换代码中的xiaoming为你想要限制的数据库账户名称
CREATE TRIGGER [tr_con_limit_xiaoming]
ON ALL SERVER WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
--限制xiaoming这个帐号的连接
IF ORIGINAL_LOGIN()= 'xiaoming'
--允许xiaoming在本机和下面的IP登录
AND
(SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'NVARCHAR(15)'))
NOT IN('','192.168.1.2','192.168.1.3')
ROLLBACK;
END;
执行之后就会创建一个叫做 tr_con_limit_xiaoming 的触发器,如下图
这样 xiaoming 这个账户就只允许通过 本地 和 192.168.1.2 和 192.168.1.3 这两个IP连接了。
至此关于 SqlServer服务中利用触发器对指定账户进行登录ip限制提升安全性 就讲解完了,有任何不明白的,可以在文章下面评论或者私信我,欢迎大家积极的讨论交流,有兴趣的朋友可以关注我目前在维护的一个 .NET 基础框架项目,项目地址如下
https://github.com/berkerdong/NetEngine.git
https://gitee.com/berkerdong/NetEngine.git
来源:https://www.cnblogs.com/berkerdong/p/17090659.html


猜你喜欢
- 一. 引入话题MySQL是一款广泛使用的开源数据库管理系统,它具有高效、稳定、可靠等优点,并支持多种操作系统和编程语言。然而,在使用MySQ
- 前言既然组件不提供view服务引擎,那在编写应用网站的时候只能由javascript调用接口进行UI整合,这样编写javascript来访问
- 官方文档:https://2.python-requests.org//en/master/工作中涉及到一个功能,需要上传附件到一个接口,接
- 察者模式定义定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖都会收到通知并自动更新。观察者模式提供了一种对象设计,让
- 10线程同时操作,频繁出现插入同样数据的问题。虽然在插入数据的时候使用了: insert inti tablename(fields....
- PyTorch之TensorDatasetTensorDataset 可以用来对 tensor 进行打包,就好像 pyt
- 在vue-cli3中,公共文件夹由static变成了public先把要访问的json放到public文件夹下使用axios的get方法获取,
- 刚才显示数据的时候遇到一个日期里面带T的问题,就是天数跟小时数之间出现了一个T。 表字段里面也没有这个T,后来查询度娘,是因为json处理的
- 背景在程序员的职业生涯中,总会遇到数据库表被锁的情况,前些天就又撞见一次。由于业务突发需求,各个部门都在批量操作、导出数据,而数据库又未做读
- 当我发现要写python的面向对象的时候,我是踌躇满面,坐立不安呀。我一直在想:这个坑应该怎么爬?因为python中关于面向对象的内容很多,
- 其实也算不上教程,也就是自己没事儿的时候做点东西然后发上来大家交流交流,希望大家不吝赐教^!^因为刚看过亚东的教程和这个有点相似,所以就自己
- 在读取文件时将整数变量读成了字符串, 或者需要转换列属性时,通过方法astypePython中举例:dataframe.numbers=da
- 一、总结说明Windows环境安装:paramunittest cmd输入命令:pip install paramunittest总结说明:
- 使用go语言的第三方包:github.com/pkg/sftp和golang.org/x/crypto/ssh实现文件和文件夹传输。1、创建
- 本文实例讲述了MySQL重定位数据目录的实现方法。分享给大家供大家参考。具体方法如下:MySQL允许重定位数据目录或其中的成员,这里就来介绍
- 本文实现文件分类器的目的主要是为了将办公过程中产生的各种格式的文件完成整理。通过自定义需要整理的文件目录,将该目录下面的全部文件按照文件格式
- python脚本实现xlsx文件解析,供大家参考,具体内容如下环境配置:1.系统环境:Windows 7 64bit 2.编译环境:Pyth
- 无头模式添加,可以让selenium模拟登录,进入到后台运行这里以登录打开公司内网下载数据为例,因为涉及私密问题,所以有些地方我们进行覆盖,
- 有了Web框架和ORM框架,我们就可以开始装配App了。通常,一个Web App在运行时都需要读取配置文件,比如数据库的用户名、口令等,在不
- 文本框 textarea 限制输入文字个数的的javascript代码,我们经常在评论留言页面我们需要在客户端限制访客的留言长度,当然最好我