日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Oracle數(shù)據(jù)庫用VPD來確保信息的隱私

瀏覽:20日期:2023-11-13 14:13:54
Oracle的行級安全性為用戶提供了他們自己的虛擬專有數(shù)據(jù)庫。鑒于隱私法,如美國的HIPAA(健康保險移植和責(zé)任法案)、Gramm-Leach-Bliley法案、Sarbanes-Oxley法案以及歐共體的安全港法律(Safe Harbour Law),確保適當(dāng)?shù)男畔㈦[私是當(dāng)今眾多企業(yè)迫切關(guān)心的一個問題。其他隱私指令,如Visa的持卡人信息安全計劃(Cardholder Information Security Program,CISP)也要求企業(yè)確保對信息的訪問是得到嚴格控制的。 Oracle一直都提供授權(quán)(或拒絕)用戶訪問數(shù)據(jù)庫對象的能力,但是這些訪問權(quán)限是在對象級別上定義的--是對于整張表,而不是對于表中特定的行而定義的。雖然對于許多應(yīng)用程序來說這種方法已經(jīng)足夠了,但涉及金融、健康或其他類型的個人信息的應(yīng)用程序通常需要對訪問和授權(quán)進行更加獨立的控制。 Oracle8i中引入的Oracle行級安全性(row-level security,RLS)特性提供了細粒度的訪問控制--細粒度意味著是在行一級上進行控制。行級安全性不是向?qū)Ρ碛腥魏卧L問權(quán)限的用戶打開整張表,而是將訪問限定到表中特定的行。其結(jié)果就是每個用戶看到完全不同的數(shù)據(jù)集--只能看到那些該用戶被授權(quán)可以查看的數(shù)據(jù)--所有這些功能有時被稱為的Oracle虛擬專有數(shù)據(jù)庫(或稱為VPD)特性。 使用Oracle的VPD功能不僅確保了企業(yè)能夠構(gòu)建安全的數(shù)據(jù)庫來執(zhí)行隱私政策,而且提供了應(yīng)用程序開發(fā)的一個更加可治理的方法,因為雖然基于VPD的政策限制了對數(shù)據(jù)庫表的訪問,但在需要的時候可以很輕易地對此做出修改,而無需修改應(yīng)用程序代碼。 例如,假設(shè)銀行的賬戶經(jīng)理(AM)向高凈值賬戶持有者提供個人客戶支持。AM使用定制的銀行應(yīng)用程序來幫助他們檢查客戶的余額、存款或提取的款項,以及對貸款要求做出決定。銀行的政策曾經(jīng)答應(yīng)所有AM可以訪問所有賬戶持有人的信息,但在最近,對該政策做了改變。現(xiàn)在,分配給AM一個特定的客戶集,他們只需訪問只與這些客戶有關(guān)的信息。政策的變化必須反映在應(yīng)用程序中,該應(yīng)用程序現(xiàn)在向每個AM顯示所有客戶的信息,而不只是關(guān)于分配給AM的那些客戶的信息。 為了使應(yīng)用程序符合新的隱私政策,銀行有三種選擇: 修改應(yīng)用程序代碼,使所有SQL語句都包含一個判定詞(WHERE子句)。然而這種選擇不能保證在應(yīng)用程序之外執(zhí)行隱私政策,而且假如將來政策又有變化,則必須再一次修改代碼,所以從長遠考慮這不是一個好方法。 保持應(yīng)用程序不動,用一些必要的判定詞創(chuàng)建表的一些視圖,并用與表名一樣的名字為這些視圖創(chuàng)建同義詞。從應(yīng)用程序不變更和安全性的角度來看這種方法比較好,但可能難于治理,因為有大量潛在的視圖需要跟蹤和治理。 創(chuàng)建可動態(tài)生成判定詞的政策函數(shù)來為每個AM創(chuàng)建一個VPD,通過利用內(nèi)置的行級安全性(DBMS_RLS)來設(shè)置政策,這些函數(shù)隨后可以用于所有對象,而不必考慮它們?nèi)绾伪辉L問。 最后一種選擇提供了最佳安全性,它不增加治理負擔(dān),并能確保信息的安全隱私,這種方法就是所有賬戶經(jīng)理根據(jù)他們自己的證書,可查看表的不同視圖。 本文說明如何建立VPD安全性模型。我們將借助前面提到的銀行例子通過創(chuàng)建函數(shù)、制定政策、然后測試結(jié)果來描述整個建立過程。(請注重,為使例子簡單,沒有完整定義該表。) 示例應(yīng)用的基本設(shè)置 下面簡單地給出示例銀行應(yīng)用的基本假設(shè): 一個BANK模式擁有兩個構(gòu)成該應(yīng)用的要害表--一個CUSTOMERS(客戶)表: 姓名 空?  類型CUST_ID 非空  數(shù)字CUST_NAME非空  字符型變量2(20) 以及一個ACCOUNTS(賬戶)表: 姓名 空? 類型ACCT_NO 非空 數(shù)字CUST_ID 非空 數(shù)字余額數(shù)字(15,2)代碼清單1包含用于創(chuàng)建和填充這兩個基本示例表的SQL腳本。 用戶的SECMAN(安全性經(jīng)理)擁有一個Access_POLICY表,它識別AM以及他們各自客戶的賬戶: 姓名 空?  類型AM_NAME 非空  字符型變量2(20)CUST_ID 非空  數(shù)字ACCESS_TYPE 非空  字符(1) AM_NAME字段存儲賬戶經(jīng)理的用戶ID;CUST_ID用于識別客戶;ACCESS_TYPE定義指定的訪問權(quán)限--S(SELECT--查詢)、I(INSERT--插入數(shù)據(jù))、D(DELETE--刪除數(shù)據(jù))以及U(UPDATE--更新數(shù)據(jù))。ACCESS_POLICY表中有這樣一些記錄: AM_NAME  CUST_ID  ACCESS_TYPE-------  ------- -----------SCOTT123  SSCOTT123  ISCOTT123  DSCOTT123  USCOTT456  SSCOTT789  SLARA 456  ILARA 456  D LARA 456  ULARA 456  S 正如你所看到的,客戶123的AM SCOTT擁有所有權(quán)限--S、I、D和U--客戶456的AM LARA也具有這些權(quán)限。還有,由于SCOTT可以批準LARA的客戶456的賬戶結(jié)余,所以他擁有對客戶456的S權(quán)限。 第一步 創(chuàng)建政策函數(shù) 無論AM何時要查看客戶的賬戶信息,他都必須動態(tài)地應(yīng)用銀行的訪問規(guī)則(包含在ACCESS_POLICY表中)。第一步是創(chuàng)建政策函數(shù),用于返回要應(yīng)用到表上的適當(dāng)判定詞。和對ACCESS_POLICY表的處理一樣,出于安全考慮,政策函數(shù)也由用戶的SECMAN創(chuàng)建和控制。最好是使隱私規(guī)則與它們將要應(yīng)用到的表分開。 讓我們仔細看一看政策函數(shù)get_sel_cust_id,如代碼清單2— in detail: 準確接收兩個參數(shù):模式名稱(p_schema in varchar2)和表名(p_table in varchar2)。 只返回一個字符串值--return varchar2 as l_retstr varchar2(2000),它包含將要添加到表的每個查詢中的判定詞。 使用一個游標例程--for cust_ rec in--來獲得值的列表,因為每個用戶可能有表中列出的幾個cust_id。 返回一個結(jié)構(gòu)化的字符串l_retstr,無論用戶何時試圖訪問基本表都將它用做一個判定詞。 該函數(shù)返回判定詞where cust_id in,隨后是用戶(am_name = USER)能夠看到的客戶賬戶名單(由逗號分隔)。 請注重在進入構(gòu)建用戶cust_id名單的循環(huán)之前,代碼清單2中的代碼先檢查該用戶是否為表的所有者BANK,若是則返回NULL,如下所示: if (p_schema = user) then 1_retstr := null; 構(gòu)建完該函數(shù)后,你需要通過測試一些示例數(shù)據(jù)來確保它返回相應(yīng)的判定詞。以SECMAN身份連接數(shù)據(jù)庫,向ACCESS_POLICY表中插入一些記錄,授予SECMAN在幾個示例賬戶上的讀權(quán)限,如下所示: insert into access_policy values ('SECMAN',123,'S');insert into access_policy values ('SECMAN',456,'S');insert into access_policy values ('SECMAN',789,'S'); 下面來執(zhí)行該函數(shù):  select get_sel_cust_id ('BANK','CUSTOMERS') from dual; 該函數(shù)返回一個將被用作判定詞的字符串,如下面的示例輸出所示:  GET_SEL_CUST_ID('BANK','CUSTOMERS')------------------------CUST_ID IN (123,456,789) 你需要為其他類型的訪問創(chuàng)建類似的函數(shù)。為簡單起見,為所有其他訪問類型創(chuàng)建一個單一的函數(shù)--UPDATE, DELETE, INSERT--如代碼清單3所示。但是注重,對于現(xiàn)實世界中的應(yīng)用,每種訪問類型應(yīng)該有自己的單獨定義的函數(shù),以確保相應(yīng)的隱私。 代碼清單3中的政策函數(shù)與代碼清單2中的基本上是一樣的,唯一的區(qū)別是通過使用ACCESS_CONTROL表中的信息進一步限定了判定詞: and access_type in ('I', 'U', 'D')創(chuàng)建政策函數(shù)僅僅是第一步。現(xiàn)在你需要通過定義在你的系統(tǒng)中控制該函數(shù)的使用政策來確保這個函數(shù)將被使用。 第二步 定義政策 政策是用Oracle提供的DBMS_RLS包定義的。要知道政策本身并不是任何用戶(schema)擁有的數(shù)據(jù)庫對象,它們是邏輯結(jié)構(gòu)。擁有對DBMS_RLS包的執(zhí)行權(quán)限的用戶可以修改或刪除由其他用戶創(chuàng)建的政策。對DBMS_RLS的執(zhí)行權(quán)限應(yīng)該受到嚴謹?shù)目刂啤?在下面的例子中,用戶SECMAN被(SYS)授予對DBMS_RLS包的執(zhí)行權(quán)限: grant execute on dbms_rls to secman;代碼清單4創(chuàng)建了一個關(guān)于模式BANK的CUSTOMERS表的政策,命名為CUST_SEL_POLIC。該政策將模式SECMAN擁有的函數(shù)GET_SEL_CUST_ID(見代碼清單2)所返回的判定詞應(yīng)用到對該表的所有SELECT操作語句。 同樣,對其他訪問類型該表應(yīng)遵循不同的政策,如代碼清單5所示。該政策應(yīng)用于對CUSTOMERS表的INSERT、UPDATE和DELETE操作語句。 該政策與SELECT政策幾乎一樣,但它包含如下一項檢查以確保即使執(zhí)行完UPDATE該政策仍然得到遵循:  update_check => TRUE除非遵守該政策,否則數(shù)據(jù)不能被添加到該表中。
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
色婷婷精品视频| 国产99久久| 日韩中文一区二区| 视频一区日韩| 国产精品中文字幕亚洲欧美| 久久精品99久久久| 国产精品115| 国产精品久久观看| 久久九九精品| 亚洲在线一区| 91精品国产自产在线丝袜啪| 日韩精品亚洲专区在线观看| 欧美日一区二区三区在线观看国产免 | 国产成人精品一区二区三区视频| 国内自拍视频一区二区三区| 久久麻豆精品| 亚洲影视一区二区三区| 国产精品午夜av| 日韩欧美一区二区三区在线观看 | 视频在线在亚洲| 欧美专区一区| 国产在线观看91一区二区三区| 久久久久99| 日韩影片在线观看| 超碰超碰人人人人精品| 亚洲制服一区| 涩涩av在线| 亚洲精选久久| 日本在线啊啊| 日韩精品免费视频人成| 国产黄大片在线观看| 奶水喷射视频一区| 国产在线一区不卡| 天堂成人免费av电影一区| 免费亚洲一区| 丝瓜av网站精品一区二区| 国产亚洲精品美女久久| 亚洲v在线看| 欧美一区二区三区久久| 在线亚洲人成| 欧美天堂一区| 午夜久久黄色| 精品国产99| 日本亚洲欧洲无免费码在线| 91亚洲国产成人久久精品| 麻豆久久精品| 国产一区调教| 97精品国产99久久久久久免费| 亚洲91视频| 国产精品观看| 在线观看一区| 久久精品国内一区二区三区水蜜桃| 91综合久久爱com| 99在线精品免费视频九九视| 福利一区二区免费视频| 天堂va在线高清一区| 九九色在线视频| 国产精品麻豆成人av电影艾秋| 五月精品视频| 日韩深夜视频| 精品国产亚洲一区二区三区大结局| 水蜜桃久久夜色精品一区的特点| 成人影视亚洲图片在线| 日本精品久久| 亚洲一区有码| 亚洲一区日本| 亚洲成av在线| 精品五月天堂| 国产精品毛片视频| 日韩高清在线观看一区二区| 日韩专区欧美专区| 亚洲福利久久| 日韩精品免费一区二区在线观看 | 久久蜜桃av| 色爱综合网欧美| 精品国产一区二区三区噜噜噜| 日韩成人av影视| 一区二区国产在线观看| 久久精品国内一区二区三区水蜜桃| 久久69成人| 国产精品一线| 国产精品乱战久久久| 国产欧美日韩一区二区三区四区 | 亚洲二区视频| 久久天堂精品| 欧美日韩在线观看视频小说| 国产高清不卡| 色在线中文字幕| 日韩免费小视频| 欧美日韩视频网站| 91亚洲人成网污www| 欧美激情福利| 国产欧美日韩精品一区二区三区| 日韩**一区毛片| 亚洲激情五月| 国产一区二区中文| 影音先锋久久精品| 精品午夜视频| 国产精品22p| 开心激情综合| 久久av偷拍| 国产精品福利在线观看播放| 精品视频自拍| 亚洲手机视频| 日韩欧美自拍| 精品一区电影| 国产伊人久久| bbw在线视频| 另类中文字幕国产精品| 99热精品久久| 亚洲中字黄色| 欧美亚洲网站| 欧美www视频在线观看| 日韩在线二区| 香蕉久久国产| 国产日韩一区| 日韩免费看片| 国产精品日本| 日韩高清二区| 国内一区二区三区| 久久国产亚洲| 欧美日韩日本国产亚洲在线 | 亚洲精品自拍| 国产精品多人| 色婷婷狠狠五月综合天色拍| 9国产精品视频| 久久国产人妖系列| 色在线中文字幕| 中文精品视频| 欧美片网站免费| 电影亚洲精品噜噜在线观看| 视频一区在线播放| 国产日韩中文在线中文字幕| 久久精品国产99国产| 亚洲性视频h| 日韩在线电影| | 国内精品福利| 亚洲精选91| 国产精品黑丝在线播放| 久久午夜影视| 国模大尺度视频一区二区| 91久久中文| 精品久久久亚洲| 久久国产66| 精品三级国产| 免费国产自线拍一欧美视频| 国产高清亚洲| 亚洲精品1区2区| 久久香蕉精品香蕉| 久久成人精品| 日韩国产欧美| 国产亚洲人成a在线v网站| 欧美三级网址| 日韩va欧美va亚洲va久久| 另类专区亚洲| 日韩av影院| 午夜视频精品| 精品三级av| 日本久久一区| 日韩一区二区免费看| 国产欧美日韩精品一区二区免费| 欧美日韩一区二区综合 | 国产精品88久久久久久| 国产精品久久久久av蜜臀| 亚洲欧美一区在线| 国产精品99精品一区二区三区∴| 午夜久久美女| 国内精品伊人| 日韩精品视频在线看| 999国产精品| 国产精品对白| 亚洲精品福利| 欧美亚洲在线日韩| 免费亚洲一区| 91亚洲精品在看在线观看高清| 天堂日韩电影| 精品91福利视频| 国产精品午夜av| 日韩国产欧美三级| 在线国产精品一区| 一本色道精品久久一区二区三区| 不卡福利视频| 狠狠久久伊人| 久久69成人| 久久av导航| 国产亚洲欧美日韩在线观看一区二区| 三级亚洲高清视频| 欧美+日本+国产+在线a∨观看| 成人国产精品久久| 久久精品一本| 老色鬼精品视频在线观看播放| 久久国内精品| 日本不卡一区二区| 中文不卡在线| 免费在线看一区| 天堂成人免费av电影一区 | 国产精品毛片久久久| 91麻豆精品| 国产伦精品一区二区三区在线播放|