3:自主存取控制方法(续) 关系系统中的存取权限(续) 例:一张授权表 用户名数据对象名允许的操作类型 王平关系 Student SELECT 李青关系 Student UPDATE 李青关系 Courseall 李青关系SC UPDATE 李青关系SC SELECT 李青关系SC SELECT
自主存取控制方法(续) – 关系系统中的存取权限(续) • 例: 一张授权表 用户名 数据对象名 允许的操作类型 王平 关系Student SELECT 李青 关系Student UPDATE 李青 关系Course ALL 李青 关系SC UPDATE 李青 关系SC SELECT 李青 关系SC SELECT
存取控制(续) 检查存取权限 对于获得上机权后又进一步发出存取数据库 操作的用户 DBMS查找数据字典,根据其存取权限对 操作的合法性进行检查 若用户的操作请求超出了定义的权限,系 统将拒绝执行此操作
存取控制(续) 检查存取权限 – 对于获得上机权后又进一步发出存取数据库 操作的用户 • DBMS查找数据字典,根据其存取权限对 操作的合法性进行检查 • 若用户的操作请求超出了定义的权限,系 统将拒绝执行此操作
存取控制(续) 授权粒度 授权粒度是指可以定义的数据对象的范围 它是衡量授权机制是否灵活的一个重要指 标。 授权定义中数据对象的粒度越细,即可以 定义的数据对象的范围越小,授权子系统 就越灵活
存取控制(续) 授权粒度 – 授权粒度是指可以定义的数据对象的范围 • 它是衡量授权机制是否灵活的一个重要指 标。 • 授权定义中数据对象的粒度越细,即可以 定义的数据对象的范围越小,授权子系统 就越灵活
存取控制(续) 关系数据库中授权的数据对象粒度 数据库 表 属性列 行 能否提供与数据值有关的授权反映了授权子 系统精巧程度
存取控制(续) – 关系数据库中授权的数据对象粒度 • 数据库 • 表 • 属性列 • 行 – 能否提供与数据值有关的授权反映了授权子 系统精巧程度
存取控制(续) 实现与数据值有关的授权 利用存取谓词 存取谓词可以很复杂 可以引用系统变量,如终端设备号, 系统时钟等,实现与时间地点有关的 存取权限,这样用户只能在某段时间 内,某台终端上存取有关数据 例:规定“教师只能在每年1月份和7月份星期 至星期五上午8点到下午5点处理学生成绩数 据
存取控制(续) 实现与数据值有关的授权 – 利用存取谓词 • 存取谓词可以很复杂 –可以引用系统变量,如终端设备号, 系统时钟等,实现与时间地点有关的 存取权限,这样用户只能在某段时间 内,某台终端上存取有关数据 例:规定“教师只能在每年1月份和7月份星期 一至星期五上午8点到下午5点处理学生成绩数 据