编程语言应用

首页 » 常识 » 常识 » 软件编程与数据库概论数据库的权限与角色
TUhjnbcbe - 2023/8/20 21:32:00
白癜风疾病 http://news.39.net/bjzkhbzy/180423/6185455.html
白癜风疾病 http://news.39.net/bjzkhbzy/180423/6185455.html

数据库的权限是指允许特定用户访问特定数据库或数据库表的授权。按照降序范围,数据库的权限主要有三种类型:数据库、系统和对象。

1.数据库权限:

执行特定类型的SQL语句;

访问其他用户的对象;

控制计算资源的使用;

不适用于数据库管理员(DBA)。

2.系统权限:

对特定类型的对象执行活动,如创建、更改、删除等;

例如,增加或删除某个数据库任何表格的行与列。

3.对象权限:

对特定表、函数或包执行特定操作的权限;

例如,删除某个表格中的行;

允许用户插入、删除、更新或选择数据库对象中的数据;

对象的所有者拥有该对象的所有对象权限,并且这些权限不能被撤销;

对象的所有者可以将该对象的对象权限授予其他数据库用户;

具有管理员权限的用户可以向用户授予和撤销对象权限,该用户无授予权限的对象。

针对数据库的权限有对应的权限命令,在多用户数据库环境中加强数据库安全。权限命令主要有三个:

1.GRANT命令:提供用户对数据库对象的访问权限,还允许用户向其他用户授予访问权限。该命令的基本语法是:

GRANTSELECTONtable1touser1授予user1对table1的SELECT操作权限

2.REVOKE命令:删除用户对数据库对象的访问权限。该命令的基本语法是:

REVOKEDELETEONtable1FROMuser1删除user1对table1的DELETE操作权限

3.DENY命令:拒绝对对象的权限,并阻止主体基于组或角色中的成员身份获得GRANT权限。该命令的基本语法是:

DENYUPDATEONtable1touser1拒绝user1对table1的UPDATE操作权限

只有数据库管理员(DBA)或数据库对象的所有者才能提供/删除数据库对象的权限。

数据库角色是可分配给一个或多个用户的任意数量权限的集合。角色允许为不同类别的用户授予和管理权限集,而不是单独向每个用户授予这些权限。

DBA维护用户角色,并将其应用于整个服务器,而不是单个数据库文件。公共角色为所有用户设置基本默认权限。添加到SQLServer的每个用户都会自动分配公共角色,因此不需要执行其他操作。

数据库角色应用于单个数据库。

1.数据库角色可被授予系统或模式对象权限。

2.数据库角色可被授予其他角色(但角色不能授予其自身,也不能循环授予。例如:无法将角色A授予角色B,如果角色B之前已被授予角色A。)。

3.数据库角色可被授予任何数据库用户。

4.数据库角色可被授予已启用或禁用的用户。用户的安全域包括当前为用户启用的所有角色的权限,不包括当前为该用户禁用的任何角色的权限。

5.角色可以被启用或禁用,以提供选择性的权限可用性。

6.用户的角色可明确被启用或禁用。但是,启用包含其他角色的角色,则会隐式启用角色的所有间接被授予的角色。

7.数据库角色可随时被授予或撤销。

#数据库#

1
查看完整版本: 软件编程与数据库概论数据库的权限与角色