《oracle教学课件》尚硅谷-宋红康-12-控制用户权限.ppt
第12节控制用户权限,讲师:宋红康 新浪微博:尚硅谷-宋红康,目 标,通过本章学习,您将可以:创建用户创建角色使用GRANT 和 REVOKE 语句赋予和回收权限创建数据库联接,权 限,数据库安全性:系统安全性数据安全性系统权限:对于数据库的权限对象权限:操作数据库对象的权限,系统权限,超过一百多种有效的权限数据库管理员具有高级权限以完成管理任务,例如:创建新用户删除用户删除表备份表,创建用户,DBA 使用 CREATE USER 语句创建用户,CREATE USER scottIDENTIFIED BY tiger;User created.,CREATE USER user IDENTIFIED BY password;,用户的系统权限,用户创建之后,DBA 会赋予用户一些系统权限以应用程序开发者为例,一般具有下列系统权限:CREATE SESSION(创建会话)CREATE TABLE(创建表)CREATE SEQUENCE(创建序列)CREATE VIEW(创建视图)CREATE PROCEDURE(创建过程),GRANT privilege,privilege.TO user,user|role,PUBLIC.;,grant:授予,赋予系统权限,DBA 可以赋予用户特定的权限,GRANT create session,create table,create sequence,create viewTO scott;Grant succeeded.,创建用户表空间,用户拥有create table权限之外,还需要分配相应的表空间才可开辟存储空间用于创建的表,ALTER USER atguigu01 QUOTA UNLIMITED ON usersUser altered.,不使用角色分配权限,使用角色分配权限,权限,用户,Manager,角 色,CREATE ROLE manager;Role created.,GRANT create table,create view TO manager;Grant succeeded.,GRANT manager TO DEHAAN,KOCHHAR;Grant succeeded.,创建角色为角色赋予权限将角色赋予用户,创建角色并赋予权限,修改密码,DBA 可以创建用户和修改密码用户本人可以使用 ALTER USER 语句修改密码,ALTER USER scott IDENTIFIED BY lion;User altered.,对象权限,对象权限,不同的对象具有不同的对象权限对象的拥有者拥有所有权限对象的拥有者可以向外分配权限,GRANTobject_priv(columns)ONobject TOuser|role|PUBLIC WITH GRANT OPTION;,分配对象权限,分配表 EMPLOYEES 的查询权限分配表中各个列的更新权限,GRANT selectON employeesTO sue,rich;Grant succeeded.,GRANT update ON scott.departmentsTO atguiguGrant succeeded.,WITH GRANT OPTION和PUBLIC关键字,WITH GRANT OPTION 使用户同样具有分配权限的权利向数据库中所有用户分配权限,GRANT select,insertON departmentsTO scottWITH GRANT OPTION;Grant succeeded.,GRANT selectON alice.departmentsTO PUBLIC;Grant succeeded.,数据字典视图描述ROLE_SYS_PRIVS角色拥有的系统权限ROLE_TAB_PRIVS角色拥有的对象权限USER_ROLE_PRIVS用户拥有的角色USER_TAB_PRIVS_MADE用户分配的关于表对象权限USER_TAB_PRIVS_RECD用户拥有的关于表对象权限USER_COL_PRIVS_MADE用户分配的关于列的对象权限USER_COL_PRIVS_RECD用户拥有的关于列的对象权限USER_SYS_PRIVS用户拥有的系统权限,查询权限分配情况,收回对象权限,使用 REVOKE 语句收回权限使用 WITH GRANT OPTION 子句所分配的权限同样被收回,REVOKE privilege,privilege.|ALLON objectFROM user,user.|role|PUBLICCASCADE CONSTRAINTS;,收回对象权限举例,REVOKE select,insertON departmentsFROM scott;Revoke succeeded.,语句 功能CREATE USER 创建用户(通常由DBA完成)GRANT 分配权限CREATE ROLE 创建角色(通常由DBA完成)ALTER USER 修改用户密码REVOKE 收回权限,通过本章学习,您已经可以使用 DCL 控制数据库权限,创建数据库联接:,总 结,