- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅谈SQL Server应用程序角色的应用场景
应用程序访问数库进行增删改查,我们都是创建登录名映射到 Server的数据库对数据库的用户进行赋予当的限来实现的。是如果我们不希望SQL Server的登录账号能接访相应的数据而又返回用户需要的数据,那么程角色可以帮我们实现样的需。
、引言
全体系最实现在SQL Server安全系简介
SQL Server中,我们使用录账号来入SQL Server,而该号服务级别有的限由入服务器角色决定当然也可以单赋予登录账号对于务器对象的限。
于录账号在数据库中有的限由登账号映射到数据数据库用户入的数据库角色来决定。当然也可以单赋予库用户对于据库对象的限。
们可以一图来明录、服务器色、数据库色、数据库用户以及权限之间的关系。
、应用序前面的介绍以看到 Server的限体系已经比较完善的,那么权限体系中加入应用程序角色有什么作用呢,应用程序角色是呢?
程序角色的定义
程序角也是数据库主体,程序角和数据库角色一样也是义在每个数据库下面
跟数据库角色一样,程序色可以有数据库对象的权限
应用程序色的特之处
程序角色
与数据库角色不同的是,应用程序角色默认情况下不包含任何成员,而且是非活动的,必须激活之后才能发挥作用。
应用程序且拥有
当激活某个应用程序角色之后,用户会失去自己原有的权限,转而拥有应用程序角色的权限。
、应用程序色使用举例
先定义应用程序角
可以使用CREATE APPLICATION ROLE语句创建应用程序角色,例如:
USE NorthwindCS
go
CREATE APPLICATION ROLE AppRole_AccessProductTable
WITH PASSWORD = password,
DEFAULT_SCHEMA = dbo
样我们就创建一个名AppRole_AccessProductTable 、密码为password默认架构为程序角色。应用程序色
先们以户DBO来访数据库NorthwindCS
,我们激活程序角AppRole_AccessProductTable,并且查当前的用户,可以发现当前的用户变为AppRole_AccessProductTable也就说前是以应用程程角色AppRole_AccessProductTable权限来访问数据。
恢复原的全上下文复到用户DB)
在SQL2005中,sp_setapprole提供了Cookie选项,他可以在激活应用程序之前创建一个包含上下文信息的Cookie。sp_unsetapprole可以使用此Cookie将会话恢复到其原始上下文。语句如下面所:
EXEC sp_unsetapprole @cookie = NULL -- varbinary(50)果这样话,那么激活应用程序角色的语也得改为EXEC sp_setapprole @rolename = AppRole_AccessProductTable, -- sysname
@password = password, -- sysname
@encrypt = , -- varchar(10)
@fCreateCookie = true, -- bit
@cookie = @cookie OUTPUT -- varbinary(50)
应用程序角色的权限
程序角色的权限与自定义数据库色权限赋予方法一样,以将特定对象的权限赋予角色。如赋予程序角色对于数据库NorthwindCS品表有查询、更新、插入的权限
use [NorthwindCS]
GO
GRANT INSERT ON [dbo].[产品] TO [AppRole_AccessProductTable]
GO
use [NorthwindCS]
GO
GRANT SELECT ON [dbo].[产品] TO [AppRole_AccessProductTable]
GO
use [NorthwindCS]
GO
GRANT UPDATE ON [dbo].[产品] TO [AppRole_AccessProductTable]
GO
小结
这也是对于数据库角色的,以更自由地控制问数据库的权限。
释放办公激情,效能触手可及
嘉为IT咨询培训
培训
0
文档评论(0)