用户可临时假设数据库中其他用户的标识(也称为模仿)来执行操作,前提是要具有所模仿人员的特权超集。此限制称为必要条件,也可扩展到管理权限和对象级特权。如果用户不具备至少 与所模仿用户相同的特权和管理权限,则无法进行模仿。
您可能会怀疑:为何用户满足的条件甚至超出必要条件却不自己执行操作,而是模仿其他用户执行操作。原因在于:如果模仿者具有比任务所需更多的特权,额外的特权可能会影响任务输出。模仿通常执行该任务的用户可消除这种可能性。模仿的目的是重新创建对于所模仿用户而言有效的特权(有可能包括数据库选项)。
模仿其他用户的能力由 SET USER 系统特权控制。当授予 SET USER 系统特权时,可配置用户可以模仿以下任一用户:
数据库中的任意用户
指定用户列表中的用户
指定角色列表的一个或多个被授予者用户
必要条件不在授予 SET USER 系统特权时进行评估。而是在用户试图通过执行 SETUSER 语句模仿其他用户时进行评估。
模仿会话正在进行时,数据库服务器不允许执行任何违反必要条件的 GRANT 或 REVOKE 操作,并返回一条错误消息表示授予或撤消操作无法继续。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |