在角色访问控制中,角色即一组被授权的操作的集合。
操作--(许可给)->角色--(许可给)->用户
一个用户可以拥有多个角色。
一个角色可以拥有多个用户。
角色的定义,分配,删除,只能由管理员执行。
如果用户不具备任何角色,那将不能进行任何操作。
高级角色对低级角色有继承功能。避免重复权限设置。
两个互斥角色不能赋值给同一个用户。
informix默认三种角色:DBA,resource,connect
DBA权限最大,默认数据库的创建者拥有DBA权限。
只有DBA可以创建角色,分配角色。
赋权限语句: GRANT connect TO usr1;
例子:
usr1需要对tab1表进行增删改查。因此构造两个角色role1和role2。role1具有DBA权限,role2可以对tab1增删改查。
设置角色:CREATE ROLE role1;
CREATE ROLE role2;
给角色授权:GRANT DBA TO role1;
GRANT DELETE,UPDATE,INSERT,SELECT ON tab1 TO role2;
角色授权给用户:CREATE role2 TO usr1;
激活角色: SET ROLE role2;
回收角色: REVOLK role2 from usr1;
删除角色:DELETE ROLE role2;