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

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - 数据库管理 » 用户和数据库安全 » 用户安全性(角色和特权)

 

角色和特权的继承

角色或用户具有的特权可分为以下几个类别:

  • 显式授予用户或组(角色)的特权   为用户或角色显式设置的特权,用于控制用户创建、执行、删除、修改或使用指定数据库对象的能力。请参见授予对象级特权 (Sybase Central)

    无法撤消非显式授予的特权。例如,假设用户 BobW 是 Sales 角色的一个成员。如果某个用户向 Sales 角色授予对表 T 的 DELETE 特权,BobW 就可以从表 T 中删除行。如果不想让 BobW 在表 T 中进行删除,您不能撤消 BobW 对表 T 的 DELETE 特权,因为从未直接向 BobW 授予过 DELETE ON T 特权。

  • 由于拥有某一对象而获得的特权   在数据库中创建新对象的用户被称为该对象的所有者,且该用户自动拥有对该对象执行任何操作的权限。例如,表的所有者可以修改表的结构,也可以向其他数据库用户授予更新表中信息的权限。

    如果用户是用户扩展角色,则该角色的被授予者不会继承与对象所有权相关联的特权。这些特权必须是为他们显式授予的,或者是他们通过角色继承的。

  • 通过角色继承的特权   可以为每个用户 ID 授予一个或多个角色。被授予者会继承与该角色相关联的特权。

    对于对象级特权,数据库对象的所有权与单个用户 ID 相关联。当所有者是用户扩展角色或独立角色时,其被授予者不会继承数据库对象的所有权。例如,如果用户扩展角色或独立角色拥有对象,则此用户扩展角色或独立角色的被授予者无法自动查询对象,他们仍必须获得 SELECT 特权才能查询对象。

  • 通过组继承的特权   组是通过用户定义角色实现的,因此通过组成员资格实现的特权继承与通过角色实现的相同。

  • 对禁用对象授予的特权   可以对禁用的对象授予特权。对禁用对象的特权存储在数据库中,在对象被启用时生效。角色授予给角色时,继承层次可以有多个级别。

要查看角色或用户拥有的角色和特权,请参见查看用户或角色的角色与特权 (Sybase Central)查看用户或角色的角色与特权 (SQL)

以下情形显式了特权的继承方式,尤其是通过继承获得的管理权限的不同授予级别。

 第 1 种情形
 第 2 种情形
 第 3 种情形
 第 4 种情形
 第 5 种情形
 第 6 种情形
 第 7 种情形
 另请参见

角色继承