<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-7  評論-24  文章-102  trackbacks-0


    一、創建用戶
    二、用戶授權
    三、角色機制
    四、配置模版及資源限制
    附錄


        數據庫安全的作用是控制用戶是否能夠對數據庫及其中的對象執行操作。要連接到 Oracle 數據庫,就需要創建一個用戶帳戶,該用戶可以根據需要授予不同的操作權限。


    一、創建用戶    CREATE/ALTER/DROP USER xxxx    [幫助文檔]

    CREATE USER prod4
      IDENTIFIED BY ssss
      DEFAULT TABLESPACE users
      TEMPORARY TABLESPACE temp;

        刪除一個用戶時,會刪除該用戶所擁有的模式對象。DROP USER prod4 CASCADE;



    二、用戶授權        GRANT/REVOKE        [幫助文檔]
        權限(privilege)即執行特定類型 SQL 語句的權利,若無任何權限,新創建用戶將無法登陸 Oracle 數據庫。

    1、系統權限
        系統權限(system privilege)允許用戶執行某些數據庫操作。

        GRANT CONNECT,RESOURCE,DBA TO prod4
          [WITH ADMIN OPTION];

        CONNECT,RESOURCE,DBA 三個預定義的角色封裝了大部分系統權限;
        WITH ADMIN OPTION 選項使 被授權的用戶 也可以把該權限賦予其他用戶。(級聯授權,A->B、B->C)

    ps.更多的系統權限,請參考幫助文檔 GRANT - Table 18-1 System Privileges。


    2、模式對象權限
        模式對象權限(schema object privilege)允許用戶對某一特定對象執行特定操作。要授予對象權限,用戶必須滿足以下條件之一:
        ● 用戶擁有指定對象;
        ● 或者用戶已經擁有 GRANT OPTION (級聯授權)的能力。

    sys:
        GRANT SELECT ON sys.test TO prod
          [WITH GRANT OPTION];
    prod:
        SELECT * FROM sys.test;

    ps.更多的模式對象權限,請參考幫助文檔 GRANT - Table 18-3 Object Privileges Available for Particular Objects。



    三、角色機制    CREATE/ALTER/DROP ROLE xxx        [幫助文檔]
        角色(role)類似于操作系統中的用戶組,它封裝了多個權限。用戶可以通過角色繼承權限,從而簡化權限的管理與控制。推薦使用基于角色授權,通過角色控制用戶。

        角色的使用注意:
        ● 角色不屬于任何模式(schema)。因此,創建角色的用戶可以被移除而不會對角色有所影響。
        ● 角色可以被授予其他角色。但是角色不能授予其自身,角色間也不能形成閉環。例如,當角色 B 已經被授予角色 A 時,角色 A 就不能再授予角色 B。

        -- 創建角色 myrole 并賦予權限,然后將該角色賦予用戶 prod(繼承該角色) --
        CREATE ROLE myrole;
        GRANT SELECT ON sys.test TO myrole;
        GRANT SELECT ON sys.test4 TO myrole;
        GRANT myrole TO prod;



    四、配置模版及資源限制    CREATE/ALTER/DROP PROFILE xxx
        每個用戶都對應一套配置模版(profile),其中描述了用戶使用多種系統資源時的限制,具體包括:

        ● 用戶能夠建立的并發會話(concurrent session)數
        ● 用戶會話及 SQL 語句對 Oracle 進行一次調用時可用的 CPU 處理時間
        ● 用戶會話及 SQL 語句對 Oracle 進行一次調用時可用的邏輯 I/O(logical I/O)量
        ● 用戶會話的最大空閑時間(idle time)
        ● 用戶會話的最大連接時間(connect time)
        ● 密碼限制規則:
            多次嘗試登錄均失敗時對帳戶加鎖
            密碼過期時間(expiration period)及寬限期(grace period)
            密碼重用(reuse)及復雜度(complexity)限制規則



    附錄
    1、模式(schema):模式是指用戶與其擁有對象的邏輯集合。

    2、[轉] Oracle 查看用戶權限
    ORACLE中數據字典視圖分為3大類,用前綴區別,分別為:USER,ALL 和 DBA,許多數據字典視圖包含相似的信息。

        ● USER_*:有關用戶所擁有的對象信息,即用戶自己創建的對象信息
        ● ALL_*:有關用戶可以訪問的對象的信息,即用戶自己創建的對象的信息加上其他用戶創建的對象但該用戶有權訪問的信息
        ● DBA_*:有關整個數據庫中對象的信息

    (這里的*可以為TABLES, INDEXES, OBJECTS, USERS等)

    1.查看所有用戶:
    select * from dba_user;
    select * from all_users;
    select * from user_users;

    2.查看用戶系統權限:
    select * from dba_sys_privs;
    select * from all_sys_privs;
    select * from user_sys_privs;

    3.查看用戶對象權限:
    select * from dba_tab_privs;
    select * from all_tab_privs;
    select * from user_tab_privs;

    4.查看所有角色:
    select * from dba_roles;

    5.查看用戶所擁有的角色:
    select * from dba_role_privs;
    select * from user_role_privs;

    6.查看當前用戶的缺省表空間
    select username,default_tablespace from user_users;

    7.查看某個角色的具體權限,如grant connect,resource,create session,create view to TEST;
      查看RESOURCE具有那些權限,用SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE';


    3、[轉] 對象權限

    模式對象/權限 ALTER DELETE EXECUTE INDEX INSERT READ REFERENCE SELECT UPDATE
     Directory            √      
     function      √            
     procedure      √            
     package      √            
     DB Object      √            
     Libary      √            
     Operation      √            
     Sequence  √                
     Table  √  √    √  √    √  √
     Type      √            
     View    √      √      √  √

        對象由不止一個權限,特殊權限ALL可以被授予或撤銷。如TABLE的ALL權限就包括:
        SELECT,INSERT,UPDATE和DELETE,還有INDEX,ALTER,和REFERENCE。


    4、[轉] Oracle 9i預定義的角色

     角色名稱  說明
     CONNECT
     數據庫連接角色,用于連接數據庫,具有創建簇、數據庫鏈接、序列、同義詞、表和視圖,以及修改會話的權利
     DBA
     數據庫管理員角色,具有所有使用ADMIN選項創建的系統權限,可以將系統權限授予其他用戶或角色
     DELETE_CATALOG_ROLE
     刪除目錄角色,可以刪除或重建數據字典
     EXECUTE_CATALOG_ROLE
     執行目錄角色,能夠執行所有系統包
     EXP_FULL_DATABASE
     能夠使用導出程序執行數據庫的完全和增量導出
     IMP_FULL_DATABASE
     能夠使用導入程序執行數據庫的完全導入
     RESOURCE
     可以創建簇、表、序列以及PL/SQL編程用方案對象,包括過程、程序包、觸發器等
     SELECT_CATALOG_ROLE
     查詢數據字典表或視圖


    參考文章:
    Oracle Concepts 中文版 (10g R2) -- 第 20 章,數據庫安全


    posted on 2008-10-13 20:03 黃小二 閱讀(2234) 評論(0)  編輯  收藏 所屬分類: [DB].Oracle
    主站蜘蛛池模板: 99在线精品免费视频九九视| 久久免费国产精品| 国产男女爽爽爽爽爽免费视频| 亚洲尤码不卡AV麻豆| 日日躁狠狠躁狠狠爱免费视频| 国产成人无码区免费A∨视频网站| 亚洲熟女精品中文字幕| 无码乱肉视频免费大全合集| 亚洲免费人成视频观看| 国产成人免费高清激情明星| 亚洲乱码一二三四区国产| 皇色在线视频免费网站| 亚洲精品国产日韩| 国产一区二区三区免费视频| 日本中文字幕免费看| 亚洲综合国产一区二区三区| 成人黄网站片免费视频| 亚洲美女视频一区二区三区| 无码区日韩特区永久免费系列| 亚洲欧美日韩国产成人| 国产精品免费播放| 一个人看www免费高清字幕| 亚洲中文字幕无码永久在线| 久久久久久久岛国免费播放| 亚洲精品第五页中文字幕| 成人毛片免费在线观看| 免费大片黄在线观看| 亚洲av中文无码乱人伦在线咪咕 | 色屁屁在线观看视频免费| 亚洲综合区小说区激情区| 99re这里有免费视频精品 | 亚洲精品国产精品| 免费不卡中文字幕在线| 黄色免费在线网站| 亚洲性无码AV中文字幕| 亚洲一区二区三区乱码A| 3344免费播放观看视频| 久久久久久亚洲av无码蜜芽| 亚洲av最新在线网址| 日韩在线免费播放| 无码人妻精品中文字幕免费 |