oracle的权限

说明

权限,顾名思义为执行的权力,只有当用户拥有相对应的权限,才可以对数据库对应的内容进行访问或者处理。用户如何才能拥有权限,这个就是需要数据库管理员来分配,保证数据库的安全性。

数据库安全性有2大种:
系统权限和对象权限。

系统权限 主要控制数据库的存取和使用机制,适用于全局性操作,比如操作对象(如表、视图、序列等)的权限
对象权限 则控制用户对特定对象的访问和操作能力,适用于具体对象的操作。比如是SELECT、INSERT、UPDATE、DELETE等

前提了解:

WITH GRANT OPTION 允许被授权人将其获得的权限授予其他用户或角色(临时)。
WITH ADMIN OPTION(仅DBA权限用户) 允许被授权人将其获得的权限不仅授予其他用户或角色,还可以授予这些用户或角色拥有授权能力的能力(永久)。
两者都可以将权限下放,但是对于第三方来说,拥有权限的情况有所不同。


--------------------------------------------------分割线-------------------------------------------------------

1 授予权限

1.1 普通授权

只授予用户HR权限查询,HR用户无法授权给第三方,仅能自己查看。

GRANT SELECT ON table1 TO HR;

若是授予第三方,报错如图,
在这里插入图片描述

1.2 级联 with grant option

授予用户权限时,使用 WITH GRANT OPTION 选项可以使被授权用户获得将该权限授予其他第三方用户的能力,
第三方用户拥有的权限可以理解为临时身份。

举例:假设用户 mybi 拥有表 table2 的 INSERT 权限,并且 mybi 想授权 HR 对 table2 进行 INSERT 操作,mybi 授予 HR INSERT 权限的 SQL 语句如下:

--- mybi 用户下执行
GRANT INSERT ON table2 TO HR  WITH GRANT OPTION;

1.3 非级联 with admin option(仅DBA权限用户)

授予第2层用户权限时,使用 WITH ADMIN OPTION 选项可以使被授权用户获得将该权限授予给其他用户的能力,
第三方拥有的权限和第2层用户权限是一样的。如果第1方授权方用户,要收回必须单独收回
第2层用户已经授予其他用户或角色的权限不会因传播而失效

举例:假设用户 mybi 拥有表 table1 的 SELECT 权限,并且 mybi 想授权 HR 对 table1 进行 SELECT 操作。mybi 授予 HR SELECT 权限的 SQL 语句如下:

--- DBA角色下的 mybi 用户下执行
GRANT SELECT ON table1 TO HR WITH ADMIN OPTION;

--------------------------------------------------分割线-------------------------------------------------------

2 回收权限 REVOKE

REVOKE 语句来回收已经授予给用户的权限。下面是回收权限的基本语法:

REVOKE privilege_name -- 回收的权限名称  SELECT、INSERT 等等
    ON object_name -- 限所应用的对象,例如表、视图   例如刚刚授权表 table1 table2 
    FROM user_name; -- 回收权限的用户名 刚刚的HR用户

举例,授权方将刚刚授权给HR用户的table1权限收回:

-- 正常收回权限
REVOKE SELECT ON TABLE1 FROM HR;
    
--- 收回HR所有权限 可以用all 代替
REVOKE ALL ON TABLE1 FROM HR;

-- 收回所有给出的select 权限,可以用PUBLIC 代替用户
REVOKE SELECT ON TABLE1 FROM PUBLIC;

补充:查看权限sql

查询用户的权限信息

-- 当前用户下
select PRIVILEGE from USER_SYS_PRIVS ;

-- DBA用户下
select GRANTEE, PRIVILEGE from DBA_SYS_PRIVS;
  • 20
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值