为登录用户授予角色
角色,或者受角色授权方式,是ASE为登录用户(数据库用户)执行某类操作所进行的集团授权方式,所谓的某类操作,可能是某种系统管理任务,也可能是某类应用操作,这些操作需要ASE提供安全方面的授权,或使用户具有特定属性。
角色种类:
1、系统角色
2、用户自定义角色
系统角色:
dtm_tm_role:用户跨服务器分布式事务协调
ha_role:在ASE HA环境中管理和执行故障切换
js_admin_role:管理Sybase ASE中的job Scheduler
js_user_role:通过ASE的job Scheduler来创建和运行作业
messaging_role:用户管理和执行ASE中的消息传送
mon_role:用于诊断监控ASE的性能
oper_role:用于备份和装在数据局
replication_role:用户ASE数据复制环境
sa_role:用户管理和维护ASE数据库系统
sso_role:用户在ASE中执行用户安全相关的任务
webservices_role:管理ASE的web服务
其中,和ASE管理员相关的主要有以下三种:
系统管理员角色(sa_role)
系统安全管理员角色(sso_role)
操作员角色(oper_role)
sa_role:系统管理员
ASE提供sa_role角色,是赋给那些需要执行系统管理员的权限集合,拥有这个角色的用户即可执行如下的系统管理任务
1、管理磁盘存储
2、授予ASE其它用户系统管理权限
3、在ASE和其它程序之间数据处理
4、管理登录用户,修改,删除和锁定登录用户
5、监视ASE的自动回复过程
6、诊断系统状态,报告系统问题
7、改变系统配置参数,定制和优化ASE
8、建立用户数据库,授予其所属关系
sa独有命令,不能授权给其它用户,
DISK INIT(初始话设备)
DISK REFIT(重建master数据库sysuasges和sysdatabases系统表)
KILL(杀进程)
sso_role:安全管理员
sso_role角色承担了系统安全的任务,拥有sso_role角色后,用户可执行下面任务
1、创建ASE登录用户
2、授予和撤销其他的系统安全管理员
3、授予和撤销其他备份管理员
4、创建用户自定义角色
5、更改任何用户的口令
6、设置与安全相关的系统参数,如一个用户最多可设置的角色数
7、设定口令有效期
8、管理ASE审计系统
9、锁定、解锁登录用户
10、创建和授权自定义角色
11、使用set proxy及set session authorization命令授权
注:系统安全管理员可以访问任意数据库,但没有操作数据库对象权限,只有涉及系统安全的审计数据库除外——安全管理员可以管理审计数据库中的表
oper_role:备份管理员
具有备份管理员角色的登录用户可以进行ASE数据库的备份,以及恢复ASE数据库的能力,
1、dump database(备份整个数据库,包括事务日志)
2、dump transaction(备份事务日志)
3、load database(装载数据库)
4、load transaction(装载事务日志)
注:数据库DBO也有dump及load数据库的权限,但之争对数据自己的数据而言,备份管理员可执行所有数据库的dump及load操作
自定义角色
系统角色用于ASE系统管理,在实际应用中,应用系统可能会根据实际安全需要,定义属于业务系统附加角色,称为用户自定义角色
角色的授予
在ASE中,一个登录用户可以被授予任何角色,系统过程sp_role即可用来执行角色授予或撤销,其中,只有具有sa_role角色的用户可以将sa_role角色授予其它用户,只有sso_role角色的用户可以将sso_role角色或备份管理员角色授予其它用户。
语法:
sp_role {“grant” | “revoke” }, rolename, loginame
说明:
grant | revoke:确定动作,使授予还是撤销loginame参数指定用户上的角色,grant是授予,revoke撤销
rolename:要授予或撤销的角色名,角色即可以是系统角色,也可以是自定义角色
loginame:被授予或撤销角色的登录用户名
例:sp_role “grant”, sa_role, login1 授予login1用户以sa_role角色
sp_displaylogin login1 显示登录用户login1的角色情况
go
注:角色授予登录用户后,并不能立即生效,需下次登录是生效,可以使用set role命令使角色立即生效。
系统角色的应用
sa用户使用一般有如下两种方法:
1、创建多个登录用户共同管理系统及安全相关的工作
(1)以sa登录到ASE
(2)创建若干登录用户,授予其中sa_role、sso_role与oper_role角色
(3)验证这些用户登录功能的正确性
(4)锁定sa账户
2、方法二,仅使用sa账户来完成所有系统管理及安全相关的功能,在多人使用sa用户进行系统管理时,所有管理员完成的所有工作都被记录在“sa”名下,
缺点:发生问题,无法分清责任