可对现有用户 ID 进行扩展,使其用作角色。如果某个用户被指派有一组系统特权和对象级特权,而您想将这组系统特权和对象级特权授予其他用户,则进行此操作将非常有用。
MANAGE ROLES 系统特权。
如果现有 ID 具有登录特权,则用户扩展角色将保留登录特权。
将用户转换为角色时,可以指定角色的管理员,并指明管理员是否也将成为角色成员。如果未指定任何管理员,则全局角色管理员(被授予 MANAGE ROLES 系统特权的任何用户)将成为角色的缺省管理员。
但是,如果至少指定一个角色管理员,则全局角色管理员将无法管理该角色,因为系统不会自动向角色授予 SYS_MANAGE_ROLES_ROLE 系统特权,同时还授予管理权限。因此,SAP 强烈建议您在创建或转换角色时不要定义任何角色管理员(而是在创建之后添加),或者在创建或转换角色过程中显式授予 SYS_MANAGE_ROLES_ROLE 系统特权,同时仅授予管理权限以及任何角色管理员。
可在转换用户后添加和删除角色管理员。如果您试图用不存在的用户 ID 转换用户,该语句将失败。
要转换现有用户,请执行下列语句之一: 转换条件语句仅有全局角色管理员;无角色管理员CREATE ROLEFOR USERCREATE ROLEFOR USERCREATE ROLEFOR USEROPTION),则管理员列表中不能包含 SYS_MANAGE_ROLES_ROLE。但是,如果在创建角色时没有为角色管理员授予角色成员资格(使用 WITH ADMIN ONLY OPTION),则可将其包含在管理员列表中。
以下语句将用户 Sales1 扩展为角色。由于未指定任何角色管理员,因此,任何具有 MANAGE ROLES 系统特权的用户都可管理该角色。
CREATE ROLE FOR USER Sales1以下语句将用户 Marketing1 扩展为角色,其中
CREATE ROLE FOR USER Marketing1 WITH ADMIN ONLY SYS_MANAGE_ROLES_ROLE, Jane, Bob