Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 数据库管理 » 配置数据库 » 管理用户 ID、特权和权限

 

数据库权限和特权概述

数据库的每个用户都有一个在连接数据库时输入的名称(即用户 ID),并且用户至少属于一个组。用户和组也拥有赋予它们的特权和权限,从而使它们在数据库中维护信息安全性和保密性时能够执行各自的任务。

权限可赋予用户执行创建、修改、查询、使用或删除数据库对象(如表、视图、用户等等)任务的能力。特权可赋予用户在数据库级别执行任务的能力,例如备份数据库或执行诊断跟踪。SQL Anywhere 允许将权限和特权授予用户和组。

所有权限都是可继承的(从用户所属的组),但只有一部分特权是可继承的。

继承特权

下表列出了可分配给用户的特权,以及这些特权是否通过组成员资格继承:

特权 是否通过组成员资格继承 详细信息
BACKUP 请参见BACKUP 特权
DBA 请参见DBA 特权
PROFILE 请参见PROFILE 特权
READCLIENTFILE 请参见READCLIENTFILE 特权
READFILE 请参见READFILE 特权
REMOTE DBA
RESOURCE 请参见RESOURCE 特权
VALIDATE 请参见VALIDATE 特权
WRITECLIENTFILE 请参见WRITECLIENTFILE 特权
继承权限

下表列出了可分配给用户的权限,以及这些权限是否通过组成员资格继承:

权限 是否通过组成员资格继承 详细信息
ALL 允许用户执行与数据库对象相关联的所有任务(相当于授予 ALTER、DELETE、INSERT、REFERENCES、SELECT 和 UPDATE 权限) 请参见GRANT 语句
ALTER 允许用户修改数据库对象 请参见通过组成员资格继承的权限
CONNECT 允许用户连接到数据库 请参见创建新用户
CONSOLIDATE 在 SQL Remote 中标识统一数据库 请参见CONSOLIDATE 权限
DELETE 允许用户删除数据库对象 请参见GRANT 语句
INSERT 允许用户向数据库对象插入数据 请参见GRANT 语句
INTEGRATED LOGIN 允许用户使用集成登录连接到数据库 请参见使用集成登录
KERBEROS LOGIN 允许用户使用 Kerberos 登录连接到数据库 请参见Kerberos 验证
PUBLISH 在 SQL Remote 中标识数据库的发布者 请参见PUBLISH 权限
REFERENCES 允许用户在表上创建索引,并创建引用该表的外键 请参见GRANT 语句
REMOTE 在 SQL Remote 和 MobiLink 中标识远程数据库 请参见GRANT REMOTE DBA 语句 [MobiLink] [SQL Remote]
SELECT 允许用户查询数据库对象 请参见GRANT 语句
UPDATE 允许用户更新数据库对象 请参见GRANT 语句

另请参见: GRANT 语句.

负权限

SQL Anywhere 不支持负权限。这意味着无法撤消非显式授予的权限。

例如,假设用户 bob 是 sales 组的一个成员。如果某个用户向 sales 组授予对表 T 进行 DELETE 的权限,bob 就可以从 T 中删除行。如果您不想让 bob 从 T 中删除行,只是执行 REVOKE DELETE ON T 并不能撤消 bob 的 DELETE 权限,因为从未直接向 bob 授予过 DELETE ON T 权限。在此情况下,必须撤消 bob 在 sales 组中的成员资格。

请参见:


特权概述
权限概述