Oracle Database Security - Virtual Private Database


Oracle Database Security ― Virtual Private Database
Oracle Database 10g Enterprise Editionの機能の1つであるVirtual Private Database(VPD)は、Oracle8iで導入され、現在ではデータベースで最も一般的に利用されているセキュリティ機能です。標準のオブジェクト権限および対応付けられたデータベース・ロールが不十分なために、アプリケーションのセキュリティ要件を満たせない場合に、VPDを使用します。VPDポリシーは、セキュリティ要件に応じて単純な場合も複雑な場合もあります。VPDを「アプリケーション・コンテキスト」機能と組み合わせることにより、高度な行レベルのプライバシおよび法令遵守のセキュリティ要件を実施できます。たとえば、単純なVPDにより営業時間内のデータへのアクセスを制限することも、複雑なVPDによりログイン・トリガー時にアプリケーション・コンテキストを初期化し、ORDERS表に対して行レベルのセキュリティを実施することもできます。

ユーザーの接続する表が、アプリケーション、Webインタフェース、SQL*Plusなど、いかなる媒体を使用してセキュリティ保護されていようとも、同じ結果が得られます。表にアクセス・ポリシーが実装されるため、「アプリケーション側で個々にセキュリティを設定した際の問題」は発生しません。

例: 顧客はCUSTOMERS表(上図)にリストされているため、ORDERS表(下図)にある顧客自身の注文内容のみを調べることができます。

Oracle Database 10gでは、Virtual Private Databaseに新しい機能が追加されています。「列関連性」を使用すると、重要な列が選択された場合にのみポリシーが実施されるようにVPDを構成できます。

例:ACCOUNT_MGR_IDが「149」である経理担当者は、CUSTOMERS表のすべての行を確認できますが、与信限度を調べることはできません。CREDIT_LIMIT列の問合せを行った場合、担当する顧客の与信限度のみが表示されます。 VPDの最も高度な構成である「列のマスキング」により、使いやすさとセキュリティの最も効果的な組合せが実現します。担当者は、CUSTOMERS表内のパブリックな情報へはアクセスできますが、機密情報は表示されません。

例: CREDIT_LIMIT列には、この経理担当者が担当する顧客のデータ・セルのみが表示され、それ以外はすべて空白です。


Technical Information
US版の翻訳資料/○=他サイトへのリンク
Virtual Private Database 10gR2 - Technical White Paper June 2005


Hands-On: Virtual Private Database
Oracle by Example (Updated)
Maximize performance with new VPD features
Oracle Magazine:Keeping Information Private with VPD
Tech Note:Using VPD in an Oracle HTML DB Application


graphic element 関連テクノロジ graphic element
Application Express (旧:HTML DB)
Oracle XML DB
PL/SQL
Java

graphic element 以前のリリース graphic element
Oracle9i Database
Oracle9i Spatial
Oracle9i OLAP
Oracle Ultra Search
Oracle Enterprise Manager and Managemant Packs
Oracle8i Database

graphic element 掲示板 graphic element
Oracle Database 10gの部屋
Oracle9iデータベースの部屋
Linux