授权是实行安全策略中重要的一环,也是实现SQL Server访问控制的主要工作。在SQL Server中,授与用户表和视图的权限是一项基础性的任务,且是关于数据的安全的关键点。虽然在区别的环境中,表的授权方式可以有所区别,但其授权原则始终不变。
在开始前,第一步一定是采取最低权限的原则和特权的原则。特权原则是不但要受权,而且要求受权的用户只赋予用户最需要的权限,不要把更多的权限赋予给用户,以此来保持系统的安全性。
接着,需要实行动用户授与访问表的权限,这里分为两种方法:第一种是使用T-SQL语句,可以直接授权操作对象及相应的权限;第二种是使用GUI界面来授权,这类方法比较方便,可以非常直观的查看授权的结果,而无需具体担心繁琐的T-SQL语句。
下面给出一段示例代码,用于授与名为TestUser的账户对table1表的查询和更新操作的权限。
use testdb
gogrant select,update on table1 to TestUser;
最后,表授权完成后,需要对被授权者查看它具有哪几种权限,可使用以下代码,获得secure_user数据库中user1用户具有table1表的权限:
select user_name(uid) as 用户名,
obj_name(id) as 对象名,permission_name as 权限名
from sysprotects where id = object_id(N'table1') and uid = user_id(N'user1')
从上面,可以看出,SQL Server中表的授权可以实现安全性和有效力,用户只需要控制分配权限和查看原有权限,就能够实现对表的访问控制。而且,SQL Server支持将表授权操作封装成存储进程,便于管理员在授权的进程中的快速完成表的授权。
本文来源:https://www.yuntue.com/post/94458.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏