博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DBA五大致命失误:你给谁开通了啥权限?
阅读量:5836 次
发布时间:2019-06-18

本文共 1204 字,大约阅读时间需要 4 分钟。

编者注:Robert L Davis是微软的高级数据库管理员和专家,同时是《SQL Server》杂志的撰稿人,并合著《Pro SQL Server 2008 Mirroring》一书。

安全对SQL Server而言至关重要,但却通常被很多SQL专家忽视。作为数据库的管理人员,我们是数据库所保存数据的保护者和监护人。如果我们不能够控制访问数据库的权限,就无从谈保护。

给用户或程序配置的权限超出规定的级别,会造成数据丢失或数据盗窃,给企业造成损失。允许过度频繁的数据读取也会影响性能,因为用户并不会注意运行查询的类型。在美国,政府还有相应的法规(如PCI,HIPAA,SOX等),如果没有按照访问权限规定进行设置,可能面临高额罚款,甚至入狱。

这就是为什么我们要遵循最小权限原则(Principle of Least Privilege)。根据维基的定义,“在计算机科学以及其它领域中,最小权限原则是要求计算环境中的特定抽象层的每个模块如进程、用户或者计算机程序只能访问当下所必需的信息或者资源。赋予每一个合法动作最小的权限,就是为了保护数据以及功能避免受到错误或者恶意行为的破坏。”该原则说得很清楚,只能赋予所需(required)和合理(justified)的最低权限。关键词是所需和合理二词。DBA会收到大量开通权限的请求。如果DBA开通了访问生产数据库的权限,就应该有能力解释为什么他们开通了这样的权限,说清楚为什么这是所需的,为什么是合理的。

你可能经常听到这样的说法,说非生产环境中没有能够支持他们想查询语句的功能或数据。或者,很难进行他们想要运行的测试或调查。如果非生产环境不足以满足这样的需求,正确的办法是解决非生产环境的不足。如果按照正确的方法很难完成你的工作,那就换份简单些的工作。事实上,很多人告诉你只能在生产环境中才完成的工作,却有大量高技能的专家能够在非生产环境中完成。

我曾被临时借调去接手一个大型商务智能应用的运营。接管没有多久,我发现开发人员都有SysAdmin的系统管理员访问权限,而且还可以自己部署新的程序。我立刻删除了所有开发人员访问生产的权限,并通知他们。当然这让很多人不高兴,但之后他们也意识到,我做的是正确的,而且几乎没有人和我来进行争吵。

接下来我负责运营该应用程序的三个月内,开发工程师团队也证明他们具备成为一个真正企业级队伍的能力。但之后该公司招到了一名全职DBA,六个月后,听说事情又恢复到以前的状态,开发人员又有了SysAdmin的权限,各自进行各自的部署。DBA辩解道,他对于这些请求没法说不,是开发人员迫使他这样做的。这个故事只是想说,DBA只要自己本事过硬,就可以坚持正确的方式。

DBA应该承担起判断是否应该给与权限的责任,确保遵循最小权限原则,否则,因为这个失误被公司开除,也不算冤枉。

作者:Robert L Davis

来源:51CTO

转载地址:http://xeycx.baihongyu.com/

你可能感兴趣的文章
创业维艰、守成不易
查看>>
PHP环境安装套件:快速安装LAMP环境
查看>>
CSS3
查看>>
ul下的li浮动,如何是ul有li的高度
查看>>
C++ primer plus
查看>>
python mysqlDB
查看>>
UVALive 3942 Remember the Word Tire+DP
查看>>
从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~目录...
查看>>
被需求搞的一塌糊涂,怎么办?
查看>>
c_数据结构_队的实现
查看>>
jquery 选择器总结
查看>>
Qt设置背景图片
查看>>
【阿里云文档】常用文档整理
查看>>
java中的Volatile关键字
查看>>
前端自定义图标
查看>>
实验二
查看>>
独立开发一个云(PaaS)的核心要素, Go, Go, Go!!!
查看>>
MyBatis使用DEMO及cache的使用心得
查看>>
网站文章如何能自动判定是抄袭?一种算法和实践架构剖析
查看>>
【OpenCV学习】滚动条
查看>>