• Oracle数据库权限管理


    系统权限

        系统权限是指被授权用户是否可以连接到数据库上及在数据库中可以进行哪些系统操作。

        系统权限是在数据库中执行某种系统级别的操作,或者针对某一类的对象执行的某种操作的权利。

        下面列举4个常见的系统权限:

            1) create session:连接到数据库。

            2) create table:创建表。

            3) create view:创建视图。

            4) create sequence:创建序列。

     对象权限

        对象权限是指用户对数据库中具体对象所具有的权限。

        对象权限是针对某个特定的模式对象执行操作的权利,只能针对模式对象来设置和管理对象权限。

        Oracle数据库用户有两种途径获得权限。

            1.管理员直接向用户授予权限。

            2.管理员将权限授予角色,然后再将角色授予一个或多个用户。(角色可以理解为一组权限的“集合”)

        授予权限语法:

            grant 权限|角色 to 角色名;

        撤销权限语法:

            revoke 权限|角色 from 用户名;

        数据库用户安全设计原则:

            1.数据库用户权限按照最小分配原则。

            2.数据库用户分为管理、应用、维护、备份四类用户。

            3.不允许使用sys和system用户创建数据库应用对象。

            4.禁止将dba权限赋予用户。

    Oracle系统预定义角色

        1.connect:适用于需要连接上数据库的用户,特别是不需要创建表的用户。

        2.resource:适用于更为可靠和正式的数据库用户。可以创建表、触发器、过程等。

        3.dba:数据库管理员角色,拥有管理数据库的最高全向。一个具有dba角色的用户可以撤销任何其他用户甚至其他dba权限,一般情况下,最好不要对用户授予这个角色。


    对象权限例子:

        --授予用户A_hr修改System模式下employee表(ename, sal)的权限
        GRANT UPDATE(ename, sal) ON employee
        TO A_hr;

        或

        GRANT ALL ON employee
        TO A_hr
        WITH GRANT OPTION;

        --撤销权限
        REVOKE ALL ON employee FROM A_hr;

        或
        UPDATE system.employee SET sal=sal+100 WHERE empno=7788;
        select * FROM system.employee;
        ROLLBACK;

    系统权限例子

        --授予连接会话权限
        GRANT CREATE SESSION TO A_hr;

        --授予创建表权限
        GRANT CREATE TABLE TO A_hr;

        --权限合并
        GRANT CREATE SESSION,CREATE TABLE TO A_hr;

        --多个用户
        GRANT CREATE SESSION,CREATE TABLE TO A_hr,A_oe;

        --将权限授予所有用户
        GRANT CREATE SESSION,CREATE TABLE TO PUBLIC;

        --使被授予者进一步将权限或角色授予其他用户或角色
        GRANT CREATE TABLE TO A_hr WITH ADMIN OPTION;

        --撤销权限
        REVOKE CREATE TABLE FROM A_hr;

        --查询权限
        SELECT * FROM DBA_SYS_PRIVS WHERE grantee ='A_HR';

  • 相关阅读:
    10 个最佳的网站分析方法
    网站优化:测试网站速度的8款免费工具推荐
    8 个最棒的 .NET 开发相关工具
    10 个文件和文档的比较工具
    asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结
    如何在ashx页面获取Session值
    java-信息安全(十一)-非对称加密算法ECC
    java-信息安全(十)-数字签名算法DSA
    java-信息安全(九)-基于DH,非对称加密,对称加密等理解HTTPS
    java-信息安全(八)-迪菲-赫尔曼(DH)密钥交换
  • 原文地址:https://www.cnblogs.com/gaofei-1/p/7450120.html
Copyright © 2020-2023  润新知