04_oracle_04用户权限管理.ppt
文本预览下载声明
Oracle数据库项目应用开发 Oracle 11G数据库应用开发 用户管理 权限管理 角色管理 概要文件 第四讲用户权限管理 用 户 定义:也叫方案,是一组逻辑对象的所有者。 验证方式:数据库验证和操作系统验证 表空间和临时表空间:表空间为用户创建数据对象的存储表空间;临时表空间用于创建临时段。 空间分配:表空间中,必须要为一个用户指派空间配额,用于存储数据库对象。 用户、角色、权限关系 用户 权限 角色 UPDATE ON JOBS INSERT ON JOBS SELECT ON JOBS CREATE TABLE CREATE SESSION HR_CLERK HR_MGR A B C 创建用户 语法: (简单方式) create user mary --用户名 identified by abc ;--密码 说明:以上为创建用户的必须语句 默认和临时表空间均为system 删除用户 删除用户: Drop user annie; 删除拥有对象的用户: Drop user annie cascade; 注意:如果要删除用户正在连接数据库,不能将其删除 查询用户 视图ALL_Users 查看所有用户名、用户ID、用户创建日期 视图User_Users 视图User_Users 查看当前用户信息 权限 定义:控制用户在数据库中所能进行的操作 授予权限的方法: 1)直接授予用户: grant create session to annie; 2)先将权限授予角色,再将角色授予用户: Create role teach; grant select on class to teach; grant teach to annie; 权限(续) 权限分类:系统权限和对象权限 对象权限(objects Privilege) : 赋予在某一具体数据对象的操作能力 1) 9种对象权限: Select 、Update、Delete、Insert、Execute、Index、reference、Alter、Read 2) 对象权限传递 权限: With Grant Option 被授予With Grant Option对象权限的用户,可将该对象权限授予其他用户 权限(续) 3) 谁有权授予对象权限给其他人? 对象的所有者 DBA 被授予With grant option的用户 4) 权限可以授予给谁? 其它用户 角色 Public 系统权限 系统权限(system Privilege):允许执行一组特定的命令 几点补充: 连接到数据库需要create session权限 删除其他用户的Table需要drop any table权限 Select、insert、update、delete是对象权限,而Select any、insert any、update any、delete any是系统权限 使用 With admin option 进行系统权限传递 系统权限(续) 例子: grant select any to annie; grant select any to annie with admin option; 权限回收 授予的对象权限和系统权限可以通过Revoke语句收回 例子: revoke select any from annie;--回收系统权限 revoke select on class from annie; --回收对象权限 权限回收(续) 注意: 一个用户被多用户授予权限后,其中一个用户收回权限,不影响其他用户授予的权限 收回With grant option 或 With admin option,要首先回收相应的权限,再重新授予该权限而不再授予With grant option 或 With admin option 传递权限With admin option给其他用后,如果此系统权限被回收,其他用户仍然拥有该系统权限 传递权限With grant option给其他用后,如果此对象权限被回收,其他用户该对象权限也被收回 权限查询 视图USER_SYS_Privs:系统权限 视图USER_TAB_Privs:对象权限 角 色 定义:角色是一系列权限的集合 功能:简化权限管理 创建角色: Create role r_teach 为角色授权: grant select on class to r_ teach 回收角色权限 revoke select on class from r_ teach 将角
显示全部