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 服务器 - 数据库管理 » 用户和数据库安全 » 用户安全性(角色和特权)

 

模仿

用户可临时假设数据库中其他用户的标识(也称为模仿)来执行操作,前提是要具有所模仿人员的特权超集。此限制称为必要条件,也可扩展到管理权限和对象级特权。如果用户不具备至少 与所模仿用户相同的特权和管理权限,则无法进行模仿。

您可能会怀疑:为何用户满足的条件甚至超出必要条件却不自己执行操作,而是模仿其他用户执行操作。原因在于:如果模仿者具有比任务所需更多的特权,额外的特权可能会影响任务输出。模仿通常执行该任务的用户可消除这种可能性。模仿的目的是重新创建对于所模仿用户而言有效的特权(有可能包括数据库选项)。

模仿其他用户的能力由 SET USER 系统特权控制。当授予 SET USER 系统特权时,可配置用户可以模仿以下任一用户:

  • 数据库中的任意用户

  • 指定用户列表中的用户

  • 指定角色列表的一个或多个被授予者用户

必要条件不在授予 SET USER 系统特权时进行评估。而是在用户试图通过执行 SETUSER 语句模仿其他用户时进行评估。

模仿会话正在进行时,数据库服务器不允许执行任何违反必要条件的 GRANT 或 REVOKE 操作,并返回一条错误消息表示授予或撤消操作无法继续。

 示例
 有关模仿的其它说明
 另请参见

深入了解模仿的必要条件