关于SQL Server 2016行级安全、数据掩码特性

行级安全:
    基于数据库帐号去限制数据查询或更新。估计应该不会太流行,倒不是说不重要,只是应用的场景会比较少,基于用户做数据行过滤。通常,像ERP类的应用不会选择此特性,即使是数据有敏感性和需要保护。至少需要程序去做判断是属于访问受保护数据时,就得维护额外帐号并使用额外帐号去连接数据库。。。这对于只使用SQL SERVER 2016及未来版本的应用还可接受,但对于ERP类应用也必须保持向后的兼容性,比如还支持SQL SERVER 2014、2012,甚至跨DB产品的就是个大问题,所以这个特性应用不会“流行”起来。

    另一个更灵活的做法是留一个接口表,比如偶自己设计应用就是建个表,在应用程序登录时往此表注册用户和@@SPID,那么在访问数据时根据@@SPID得知是“谁”,去过滤和控制数据,这个也是非常灵活的。
    网站类就更不会选择此特性了,因为在对数据库做连接时,通常都固定了一个帐号

数据掩码:
    根据数据库帐号的权限去“披上掩码”,基于字段去设定此属性。这个应该容易流行起来,除了特定的数据库管理员帐号和授权UNMASK帐号,其他用户查询均会“披上掩码”,这在可管理性、可维护性上非常容易,多数网站类应该会首先应用。但这也涉及一个问题,比如网站连接数据库的帐号没有UNMASK权限,那么最终用户访问自己的数据时,得到的也是“披上掩码”的数据,这会让最终用户疑惑,比如用户要修改有掩码属性的值时就是件麻烦事儿,那么这个页面要使用一个有UNMASK的数据库帐号去连接。
阅读更多
个人分类: DBA
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭