细粒度授权规则一致性检查机制解析
1. 授权规则基础
授权规则在数据库访问控制中起着关键作用。其一般形式为:
permitted(s, o(f1(X1, X2, ..., Xj), ..., fk(Y1, Y2, ..., Yl)), m) ←N1, ..., Nk.
其中:
- s
和 m
是表达式,可以是常量或变量符号。 s
的域是用户 ID 集合, m
的域是 SQL 特权模式,如 select
、 insert
、 delete
和 update
。当 s
和 m
为变量时,分别表示用户组和所有特权;为常量时,表示特定用户和特权。
- o
、 f1
、…、 fk
是函数符号。函数 o
表示授权对象,其内部的 fi(Z1, Z2, ..., Zm)
表示派生关系,派生关系通过规则定义,不实际存储在数据库中。
- N1
、…、 Nk
是子目标,子目标可以是表示关系的原子或带有内置谓词的原子。
授权规则描述了哪些主体可以对哪些对象执行哪些特权,