VPD (Virtual Private Database) とは

  • Enterprise Edition の機能
  • Oracle8i で導入されたセキュリティ機能
  • 標準のオブジェクト権限および対応付けられたデータベース・ロールがセキュリティ要件を満たせない場合に使用する
  • 「アプリケーション・コンテキスト」機能と組み合わせることにより、高度な行レベルのプライバシおよび法令遵守のセキュリティ要件を実施できる

【参考サイト】
製品情報 - Oracle Database Security - Virtual Private Database

FGAC (Fine-Grained Access Control) とは

VPD が考え方で FGAC が実現方法・・・だそうです。

【参考サイト】
RAC環境におけるロックダウンに関する考察 その3 - おら! オラ! Oracle

FGAC でできること

ある表にアクセスする場合、標準のセキュリティ機能では テーブル単位でしか参照を制限することができません。

これに対して FGAC では、アクセスする SELECT などに 動的に WHERE 句などを追加することができるため 特定の行のみのアクセスを許可したり禁止したりすることができます。

データベース側で、このような制限をかけることによって、 ユーザが アプリケーションや SQL*plus、ACCESS で接続した場合でも 同じ制限をかけることができるようになります。