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

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

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

    隨筆-7  評(píng)論-24  文章-102  trackbacks-0


    一、創(chuàng)建用戶
    二、用戶授權(quán)
    三、角色機(jī)制
    四、配置模版及資源限制
    附錄


        數(shù)據(jù)庫安全的作用是控制用戶是否能夠?qū)?shù)據(jù)庫及其中的對象執(zhí)行操作。要連接到 Oracle 數(shù)據(jù)庫,就需要?jiǎng)?chuàng)建一個(gè)用戶帳戶,該用戶可以根據(jù)需要授予不同的操作權(quán)限。


    一、創(chuàng)建用戶    CREATE/ALTER/DROP USER xxxx    [幫助文檔]

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

        刪除一個(gè)用戶時(shí),會(huì)刪除該用戶所擁有的模式對象。DROP USER prod4 CASCADE;



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

    1、系統(tǒng)權(quán)限
        系統(tǒng)權(quán)限(system privilege)允許用戶執(zhí)行某些數(shù)據(jù)庫操作。

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

        CONNECT,RESOURCE,DBA 三個(gè)預(yù)定義的角色封裝了大部分系統(tǒng)權(quán)限;
        WITH ADMIN OPTION 選項(xiàng)使 被授權(quán)的用戶 也可以把該權(quán)限賦予其他用戶。(級(jí)聯(lián)授權(quán),A->B、B->C)

    ps.更多的系統(tǒng)權(quán)限,請參考幫助文檔 GRANT - Table 18-1 System Privileges。


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

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

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



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

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

        -- 創(chuàng)建角色 myrole 并賦予權(quán)限,然后將該角色賦予用戶 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
        每個(gè)用戶都對應(yīng)一套配置模版(profile),其中描述了用戶使用多種系統(tǒng)資源時(shí)的限制,具體包括:

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



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

    2、[轉(zhuǎn)] Oracle 查看用戶權(quán)限
    ORACLE中數(shù)據(jù)字典視圖分為3大類,用前綴區(qū)別,分別為:USER,ALL 和 DBA,許多數(shù)據(jù)字典視圖包含相似的信息。

        ● USER_*:有關(guān)用戶所擁有的對象信息,即用戶自己創(chuàng)建的對象信息
        ● ALL_*:有關(guān)用戶可以訪問的對象的信息,即用戶自己創(chuàng)建的對象的信息加上其他用戶創(chuàng)建的對象但該用戶有權(quán)訪問的信息
        ● DBA_*:有關(guān)整個(gè)數(shù)據(jù)庫中對象的信息

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

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

    2.查看用戶系統(tǒng)權(quán)限:
    select * from dba_sys_privs;
    select * from all_sys_privs;
    select * from user_sys_privs;

    3.查看用戶對象權(quán)限:
    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.查看當(dāng)前用戶的缺省表空間
    select username,default_tablespace from user_users;

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


    3、[轉(zhuǎn)] 對象權(quán)限

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

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


    4、[轉(zhuǎn)] Oracle 9i預(yù)定義的角色

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


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


    posted on 2008-10-13 20:03 黃小二 閱讀(2234) 評(píng)論(0)  編輯  收藏 所屬分類: [DB].Oracle
    主站蜘蛛池模板: 亚洲高清视频一视频二视频三| 91香蕉国产线在线观看免费| 国产成人 亚洲欧洲| 亚洲欧美日韩中文字幕在线一区| 亚洲六月丁香六月婷婷色伊人 | 久久久久久久久久国产精品免费 | 久久久久久av无码免费看大片| 一级毛片试看60分钟免费播放| 羞羞视频在线观看免费| 猫咪免费人成网站在线观看入口 | 亚洲国产高清在线| 久久精品国产亚洲香蕉| 亚洲免费在线播放| 亚洲高清中文字幕综合网| 亚洲经典在线观看| 亚洲一级毛片免费观看| 亚洲熟妇AV日韩熟妇在线| 亚洲а∨精品天堂在线| 国产精品亚洲专区在线播放 | 国产91在线|亚洲| 亚洲成aⅴ人片久青草影院按摩| 亚洲aⅴ无码专区在线观看春色 | 最近更新免费中文字幕大全| 久久精品国产影库免费看| 99re6在线精品视频免费播放 | 99精品在线免费观看| 久久电影网午夜鲁丝片免费| 日本一道一区二区免费看| 4338×亚洲全国最大色成网站| 久久精品国产精品亚洲蜜月| 亚洲不卡在线观看| 小说专区亚洲春色校园| 一个人看的www视频免费在线观看| 97人妻精品全国免费视频| 91成年人免费视频| 国产v片免费播放| 亚洲AV无码一区二区乱子伦| 亚洲乱码一区av春药高潮| 深夜A级毛片视频免费| 国内精品一级毛片免费看| 最近中文字幕mv手机免费高清|