20.控制用户访问
1.区分系统权限和对象权限
--1.系统权限
----1数据库安全
----1.2系统安全
----1.2数据库安全
--系统权限:授权访问数据库
--对象权限:对数据库对象内容的操作
--方案:与用户名相同,是对象的集合如表视图,序列等
--系统权限超过100中系统权限可用
--数据库管理员具有最级别的权限:
----建立新用户
----删除用户
----删除表
----备份表
--创建用户:
sys@ORCL 2023-02-26 15:15:11> create user YUANZJ identified by YUANZJ123;
User created.
Elapsed: 00:00:00.11
2.授权
--授权
对于开发人员,通常授予如下权限:
--create session:连接数据库的权限
--create table
--create view
--create sequence
--create view
--create procedure
sys@ORCL 2023-02-26 15:15:25> grant create session,create table,create sequence, create view,create procedure to YUANZJ;
Grant succeeded.
Elapsed: 00:00:00.01
3.角色
--建立角色
create role manager;
--给角色授予权限
grant create table,create view to manager;
--授予角色给用户
grant manager to YUANZJ;
--角色是命名的权限的集合,用于分配给用户
--使用juese可以简化dba向用户分配权限的工作
--一个用户可以拥有多个角色,要给角色可以分配给多个用户
4.区分权限和角色
--不同的对象,其对象权限也不同
--对象的所有者拥有对对象的所有权限
--可以授予用户对象权限,操作其他用户的对象
grant select on employees to YUANZJ;
grant update (department_name,localtion_id) on departments to dem,manager;
--用户可以给其他用户授予select,insert部门表权限
grant select,insert on departments to scott with grant option;
--允许所有用户查询hr用户的
grant select on hr.departments to public;
--回收权限
--使用revoke命令撤销授予用户的权限
--使用with grant option子句授权的用户权限,也一起被撤销了
revoke select,insert on departments from scott;