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
 |
- Technical White Paper June 2005 |
Hands-On: Virtual Private Database
 |
(Updated) |
 |
|
 |
Oracle Magazine: |
 |
Tech Note: |
|
 |
 |
関連テクノロジ |
 |
 |
以前のリリース |
 |
 |
掲示板 |
 |
|