《oracle教学课件》尚硅谷-宋红康-12-控制用户权限.pptx
第12节
控制用户权限讲师:宋红康新浪微博:尚硅谷-宋红康
目标通过本章学习,您将可以:创建用户创建角色使用GRANT和REVOKE语句赋予和回收权限创建数据库联接
权限数据库安全性:系统安全性数据安全性系统权限:对于数据库的权限对象权限:操作数据库对象的权限
超过一百多种有效的权限数据库管理员具有高级权限以完成管理任务,例如:创建新用户删除用户删除表备份表系统权限
126543DBA使用CREATEUSER语句创建用户CREATEUSERscottIDENTIFIEDBYtiger;Usercreated.CREATEUSERuser IDENTIFIEDBYpassword;123456创建用户
用户的系统权限用户创建之后,DBA会赋予用户一些系统权限以应用程序开发者为例,一般具有下列系统权限:CREATESESSION(创建会话)CREATETABLE(创建表)CREATESEQUENCE(创建序列)CREATEVIEW(创建视图)CREATEPROCEDURE(创建过程)GRANTprivilege[,privilege...] TOuser[,user|role,PUBLIC...];grant:授予
DBA可以赋予用户特定的权限01GRANTcreatesession,createtable,createsequence,createviewTOscott;Grantsucceeded.02赋予系统权限
ALTERUSERatguigu01QUOTAUNLIMITEDONusersUseraltered.用户拥有createtable权限之外,还需要分配相应的表空间才可开辟存储空间用于创建的表0201创建用户表空间
角色不使用角色分配权限使用角色分配权限权限用户Manager
创建角色并赋予权限CREATEROLEmanager;Rolecreated.GRANTcreatetable,createview TOmanager;Grantsucceeded.GRANTmanagerTODEHAAN,KOCHHAR;Grantsucceeded.创建角色为角色赋予权限将角色赋予用户
DBA可以创建用户和修改密码用户本人可以使用ALTERUSER语句修改密码ALTERUSERscott IDENTIFIEDBYlion;Useraltered.0102修改密码
对象权限
对象权限不同的对象具有不同的对象权限对象的拥有者拥有所有权限对象的拥有者可以向外分配权限GRANT object_priv[(columns)]ON objectTO {user|role|PUBLIC}[WITHGRANTOPTION];
分配对象权限分配表EMPLOYEES的查询权限分配表中各个列的更新权限GRANTselectONemployeesTOsue,rich;Grantsucceeded.GRANTupdateONscott.departmentsTOatguiguGrantsucceeded.
WITHGRANTOPTION和PUBLIC关键字WITHGRANTOPTION使用户同样具有分配权限的权利向数据库中所有用户分配权限GRANTselect,insertONdepartmentsTOscottWITHGRANTOPTION;Grantsucceeded.GRANTselectON alice.departmentsTO PUBLIC;Grantsucceeded.
数据字典视图 描述1ROLE_SYS_PRIVS 角色拥有的系统权限2ROLE_TAB_PRIVS 角色拥有的对象权限3USER_ROLE_PRIVS 用户拥有的角色4USER_TAB_PRIVS_MADE 用户分配的关于表对象权限5USER_TAB_PRIVS_RECD 用户拥有的关于表对象权限6USER_COL_PRIVS_MADE 用户分配的关于列的对象权限7USER_COL_PRIVS_RECD 用户拥有的关于列的对象权限8USER_SYS_PRIVS 用户拥有的系统权限9查询权限分配情况
收回对象权限使用REVOKE语句收回权限使用WITHGRANTOPTION子句所分配的权限同样被收回REVOKE{privilege[