WEB开发网
开发学院数据库MSSQL Server SQL Server与Oracle数据库在安全性上的异同 阅读

SQL Server与Oracle数据库在安全性上的异同

 2008-08-28 09:57:37 来源:WEB开发网   
核心提示: Grant select on product to test with grant option;Grant select on product to test就表示用户test具有查询表product的权限;而后面的with grant option则表示对于这个用户开启了&ldquo

Grant select on product to test with grant option;

Grant select on product to test就表示用户test具有查询表product的权限;而后面的with grant option则表示对于这个用户开启了“ 对象授权” 的模式。以后,test用户可以把对于表product的查询权限赋予给其他用户。

第二步:利用test用户登陆,然后赋予test1用户表prodcut的查询权限。

Grant select on product to test1;

这个语句就是用户test赋予用户test1表product的查询权利。若我们在给test用户赋予权限的时候,没有启用“对象授权”模式,即没有在后面加入with grant option语句,则在以普通用户test执行这条语句的时候,就会发生错误,提示用户没有这个权限。但是,若我们系统管理员在给test用户分配权限的时候,开启了“对象授权”的模式,则用户test就可以赋予用户test1表查询的权限。不过,这只是针对于特定的表与特定的操作。如果数据库管理员在分配test用户权限的时候,只用了“Grant select on product to test with grant option”这个语句,就表示test用户只能针对表product的查询权限进行再授权。如,现在test1想把表product-bom的查询权限赋予给test1的话,数据库服务器就不允许了,因为其没有这个权利。

这就是对象授权的功能,虽然其破坏了数据库权限管理的统一性,但是,这也提高了数据库权限设计的灵活性,在大型数据库设计的过程中,经常会被用到。

除了对表可以进行对象授权之外,还可以对过程、视图等等也进行对象授权。这里要注意的是,在对象授权的过程中,是需要对每个步骤进行授权。如现在用户test具有表product记录查询、记录更新、记录删除等的权利。但是,其只有表查询权利的“对象授权”。此时,test用户就不能够把这个表的更新、删除等权利赋予给用户test1。因为帐户test对对象进行再授权,只是针对特定的查询操作。

另外,除了对象授权之外,Oracle数据库中还有一个“系统授权”的概念。系统授权跟对象授权类似,只是其针对的是系统管理的权限,如帐户删除或者新建的操作。需要注意的是,系统授权仍然需要分步骤来进行授权。

上一页  1 2 3 4 

Tags:SQL Server Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接