
Oracle Database 12cでは次世代型のOracle Virtual Private Database(VPD)としてOracle Real Application Security(RAS)が導入されています。Oracle RASによって、業界最先端のアプリケーションのセキュリティ要件をサポートするテクノロジーが提供されます。
Oracle Database 12c Real Application Security(RAS)は、保護対象のビジネス・オブジェクトだけではなく、それらのビジネス・オブジェクトに対して作用する権限を持つプリンシパル(ユーザーとロール)も網羅したセキュリティ・ポリシーを可能にする宣言モデルを実現します。RASは、従来のOracle Virtual Private Databaseテクノロジーよりもセキュアでスケーラビリティとコスト効率に優れています。
Oracle RAS は以下の利点を含みます:
既存のOracle VPDとは異なり、RASは、開発者がデータ・セキュリティ・ポリシー、アプリケーション・ロール、アプリケーション・ユーザーを定義できるようにするための宣言型インタフェースを提供します。このため、アプリケーション開発者は、PL/SQLストアド・プロシージャの作成や管理を行う必要はありません。
Oracle RASでは、データ・セキュリティ・ポリシーは、Oracle Database 12c RAS APIを使用してデータベース・カーネル内部に定義されます。ビジネス・オブジェクトに関連付けられた権限は、アクセス制御リスト(ACL)内に保管され、RAS APIを介してこのACLを定義したり管理したりします。
ACLはReal Application Securityの重要なコンポーネントであり、プリンシパルに割り当てられた権限を保管し、オブジェクトに対して実行可能な操作のタイプ(SELECT、INSERT、UPDATED、DELETE)を制御します。
Oracle Database 12c Virtual Private Database(VPD、Oracle8iで初めて導入)は、PL/SQLパッケージをアプリケーション表に関連付けるためのインタフェースを提供します。
PL/SQLパッケージは、条件または"WHERE"句を計算して入力SQL文に自動的に追加することで、表内の行や列へのアクセスを制限します。VPDポリシーはセキュリティ要件に応じて単純にも複雑にもなりますが、実行時にアプリケーションによって初期化されるOracle定義のアプリケーション・コンテキストをほぼ常に使用します。
VPDを使用して、行や列レベルで、プライバシや規制遵守に関するセキュリティ要件に対応できます。たとえば、単純なVPDで営業時間内のデータへのアクセスを制限することも、複雑なVPDでログイン・トリガー時にアプリケーション・コンテキストを読み取り、アプリケーション表に対して行レベルのセキュリティを適用することもできます。
