日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

十四, 角色

發(fā)布時(shí)間:2024/3/12 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十四, 角色 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

oracle 角色

介紹
角色就是相關(guān)權(quán)限的命令集合,使用角色的主要目的就是為了簡(jiǎn)化權(quán)限的管理。
角色分為預(yù)定義和自定義角色兩類
二、3種標(biāo)準(zhǔn)角色

  • CONNECT Role(連接角色)

    擁有CONNECT role的用戶還能夠創(chuàng)建表、視圖、序列(sequence)、簇(cluster)、同義詞(synonym )、會(huì)話(session)和與其他數(shù)據(jù)庫(kù)的鏈(link)。

  • RESOURCE Role(資源角色)
    提供給用戶另外的權(quán)限以創(chuàng)建他們自己的表、序列、過程(procedure)、觸發(fā)器(trigger)、索引(index)和簇(cluster),resource角色隱含unlimited tablespace系統(tǒng)權(quán)限。

  • 3、dba角色

    dba角色具有所有的系統(tǒng)權(quán)限,及with admin option選項(xiàng),默認(rèn)的dba用戶為sys和system他們可以將任何系統(tǒng)權(quán)限授予其他用戶。

    但是要注意的是dba角色不具備sysdba和sysoper的特權(quán)(啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù))。
    一個(gè)具有DBA角色的用戶可以撤消任何別的用戶甚至別的DBA的CONNECT、RESOURCE 和DBA的其他權(quán)限。當(dāng)然,這樣是很危險(xiǎn)的,因此,除非真正需要,DBA權(quán)限不應(yīng)隨便授予那些不是很重要的一般用戶。
    撤消一個(gè)用戶的所有權(quán)限,并不意味著從Oracle中刪除了這個(gè)用戶,也不會(huì)破壞用戶創(chuàng)建的任何表;只是簡(jiǎn)單禁止其對(duì)這些表的訪問。其他要訪問這些表的用戶可以象以前那樣地訪問這些表。

    connect角色
    connect角色具有一般應(yīng)用開發(fā)人員需要的大部分權(quán)限,當(dāng)建立了一個(gè)用戶后,多數(shù)情況下,只要給用戶授予connect和resource角色就夠了
    Connect角色包含以下系統(tǒng)權(quán)限
    create cluster
    create database link
    create session
    alter session
    create table
    create view
    create sequence

    resource角色
    resource角色具有應(yīng)用開發(fā)人員所需要的其它權(quán)限,比如建立存儲(chǔ)過程,觸發(fā)器等。這里需要注意的是resource角色隱含unlimited tablespace系統(tǒng)權(quán)限。
    resource角色包含以下系統(tǒng)權(quán)限:
    create cluster
    create indextype
    create table
    create sequence
    create type
    create procedure
    create trigger

    自定義角色
    建立角色(不驗(yàn)證)
    如果角色是公用的角色,可以采用不驗(yàn)證的方式建立角色。

    create role 角色名 not identified;

    建立角色(數(shù)據(jù)庫(kù)驗(yàn)證)
    采用這樣的方式時(shí),角色名、口令存放在數(shù)據(jù)庫(kù)中。當(dāng)激活該角色時(shí),必須提供口令。在建立這種角色時(shí),需要為其提供口令。

    create role 角色名 identified by 密碼;

    給角色授權(quán)
    給角色授予權(quán)限和給用戶授權(quán)沒有太多區(qū)別,但是要注意,系統(tǒng)權(quán)限的unlimited tablespace和對(duì)象權(quán)限的with grant option選項(xiàng)是不能授予角色的。

    分配角色給某個(gè)用戶
    一般分配角色是由dba來完成的,如果要以其它用戶身份分配角色,則要求用戶必須具有g(shù)rant any role的系統(tǒng)權(quán)限。

    SQL> conn system/oracle; SQL> grant 角色名 to blake with admin option;

    因?yàn)榻o了with admin option選項(xiàng),所以,blake可以把system分配給它的角色分配給別的用戶。

    刪除角色
    使用drop role,一般是dba來執(zhí)行,如果其它用戶則要求該用戶具有drop any role系統(tǒng)權(quán)限。

    SQL> conn system/oracle; SQL> drop role 角色名;

    顯示角色信息
    1)、顯示所有角色

    SQL> select * from dba_roles;

    2)、顯示角色具有的系統(tǒng)權(quán)限

    SQL> select privilege, admin_option from role_sys_privs where role='角色名';

    3)、顯示角色具有的對(duì)象權(quán)限
    通過查詢數(shù)據(jù)字典視圖dba_tab_privs可以查看角色具有的對(duì)象權(quán)限或是列的權(quán)限。
    4)、顯示用戶具有的角色,及默認(rèn)角色
    當(dāng)以用戶的身份連接到數(shù)據(jù)庫(kù)時(shí),oracle 會(huì)自動(dòng)的激活默認(rèn)的角色,通過查詢數(shù)據(jù)字典視圖dba_role_privs 可以顯示某個(gè)用戶具有的所有角色及當(dāng)前默認(rèn)的角色。

    SQL> select granted_role, default_role from dba_role_privs where grantee = ‘用戶名’;

    精細(xì)訪問控制
    精細(xì)訪問控制是指用戶可以使用函數(shù),策略實(shí)現(xiàn)更加細(xì)微的安全訪問控制。如果使用精細(xì)訪問控制,則當(dāng)在客戶端發(fā)出sql語(yǔ)句(select,insert,update,delete)時(shí),oracle會(huì)自動(dòng)在sql語(yǔ)句后追加謂詞(where子句),并執(zhí)行新的sql語(yǔ)句,通過這樣的控制,可以使得不同的數(shù)據(jù)庫(kù)用戶在訪問相同表時(shí),返回不同的數(shù)據(jù)信息,

    總結(jié)

    以上是生活随笔為你收集整理的十四, 角色的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。