打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
数据库|权限管理
问题描述
用户对数据的库的访问以及对数据库对象的操作都体现在权限上,具有什么样的权限,就能执行什么样的操作。权限对于数据库来说至关重要,它是访问权限设置中的最后一道安全措施,管理好权限是保证数据库安全的必要因素。
解决方案
在SQL Server中按照权限是否进行预定义,可以把权限分为预定义权限和自定义权限;按照权限是否与特定的对象有关,可以分为针对所有对象的权限和针对特殊对象的权限。
1)预定义和自定义权限
所谓预定义权限是在安装SQL Server过程完成之后,不必通过授予即拥有的权限。例如服务器角色和数据库角色就属于预定义权限,对象的所有者也拥有该对象的所有权限以及该对象所包含对象的所有权限。
自定义的权限是指需要经过授权或继承才能得到的权限,大多数的安全主体都需要经过授权才能获得对安全对象的使用权限。
2)所有对象和特殊对象的权限
针对所有对象的权限表示将针对SQL Server中的所有对象(例如CONTROL权限)都有的权限。针对特殊对象的权限是指某些权限只能在指定的对象上起作用。例如,INSERT仅可以用于表的权限,不可以是存储过程的权限;而EXECUTE只可以是存储过程的权限,不能作为表的权限等。
对于表和视图,拥有者可以授予数据库用户INSERT、UPDATE、DELETE、SELECT和REFERENCES共五种权限。在数据库用户要对表执行相应的操作之前,必须事先获得相应的操作权限。例如,如果用户想浏览表中的数据,首先必须获得拥有者授予的SELECT权限。
下表是一些常用的权限:
数据库
CREATE DATABASE、CREARE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE VIEW、CREATE TABLE、CREATE RULE、BACKUP DATABASE、BACKUP LOG
SELECT、DELETE、INSERT、 UPDATE、REFERENCS
SELECT、DELETE、INSERT、 UPDATE、REFERENCS
视图
SELECT、DELETE、INSERT、 UPDATE、REFERENCS
过程
EXECUTE、SYNONYM
表1-1 常用权限
对于权限的操作有:授予权限、撤销权限、拒绝权限。通过名字我们都不难理解每个操作的意义。接下来,我们具体看看每个权限的具体操作。
授予权限
Grant
{all|statement[权限名]}
To security_account[用户名]
撤销权限
Revoke{all|statement[权限名]}
From security_account[用户名]
拒绝权限
Deny {all|statement[权限名]}
To security_account[用户名]
* 拒绝权限只是在不收回用户权限前提下,禁止用户访问数据库中某对象的的一个操作。
END实习编辑   |   王文星
责       编   |   李劲潮
where2go 团队
微信号:算法与编程之美
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用SQL语句获取SQL Server数据库登录用户权限
DENY授权语句的使用
SQL Server数据库架构与对象相关知识笔记
vb 6.0数据库操作代码例子
PostgreSQL学习之【用户权限管理】说明
oracle学习笔记之角色
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服