我爱Aspx >> 数据库 >> 角色管理用户自定义的数据库角色
当我们打算为某些数据库用户设置相同的权限,但是这些权限不等同于预定义的数 据库角色所具有的权限时,我们就可以定义新的数据库角色来满足这一要求,从而使 这些用户能够在数据库中实现某一特定功能。 用户自定义的数据库角色具有以下几个优点:
SQL Server 数据库角色可以包含NT 用户组或用户;
在同一数据库中用户可以具有多个不同的自定义角色,这种角色的组合是自由的,而不仅仅是public 与其它一种角色的结合;
角色可以进行嵌套,从而在数据库实现不同级别的安全性。
用户定义的数据库角色有两种类型:标准角色和应用角色。
标准角色类似于SQL Server 7 版本以前的用户组,它通过对用户权限等级的认定而 将用户划分为不同的用户组,使用户总是相对于一个或多个角色,从而实现管理的安 全性。所有的预定义的数据库角色或SQL Server 管理者自定义的某一角色(该角色具 有管理数据库对象或数据库的某些权限)都是标准角色。
应用角色是一种比较特殊的角色类型。当我们打算让某些用户只能通过特定的应用 程序间接地存取数据库中的数据(比如通过SQL Server Query Analyzer 或Microsoft Excel) 而不是直接地存取数据库数据时,我们就应该考虑使用应用角色。当某一用户 使用了应用角色时,他便放弃了已被赋予的所有数据库专有权限,他所拥有只是应用 角色被设置的权限。通过应用角色,总能实现这样的目标;即以可控制方式来限定用 户的语句或对象权限。
标准数据库角色与应用角色的差异主要表现在以下几个方面。
应用角色不像标准角色那样具有组的含义,因此不能像使用标准角色那样把某一用户设置为应用角色;
当用户在数据库中激活应用角色时,必须提供密码,即应用角色是受口令保护的,而标准角色并不受口令保护。
我们可以看出并不像标准角色那样将通过把用户加入到不同的角色当中而使用户具 有这样或那样的语句或对象权限,而是首先将这样或那样的权限赋予应用角色,然后 将逻辑加入到某一特定的应用程序中,从而通过激活应用角色而实现对应用程序存取 数据的可控性。只有应用角色被激活,角色才是有效的,用户也便可以且只可以执行 应用角色相应的权限,而不管用户是一个sysadmin 或public 标准数据库角色。
【我对这篇文章有话说?】
SQL Server 安全性管理的途径[05-22]
创建备份设备[05-22]
SQL 数据库备份[05-22]
备份向导[05-22]
SQL数据库的恢复[05-22]
复制的概述和术语[05-22]
备份和恢复系统数据库[05-22]
事务复制[05-22]
合并复制[05-22]
复制监视器[05-22]