Oracle12c 新機能

update:

第2回「Oracle12c Data Redaction」

著者:吉田 宗弘

1. Introduction

1.1 はじめに

Database には企業活動を行う上で極めて重要なデータが蓄積されており、常に不正アクセスのターゲットとなっています。情報漏洩と言うと「特権ユーザ」の管理に目が行きがちですが、注意すべきは「特権ユーザ」だけではありません。「アプリケーション実行ユーザ」も注意が必要です。「特権ユーザ」についてはメンテナンスやトラブル調査等の限られた用途で使用されるため、定期的なパスワード変更や監査ログの取得等の対策を取っている所も多いと思われます。一方「アプリケーション実行ユーザ」については、アプリケーションの動作に対する影響や性能劣化に対する懸念等からこれらの対策が取られていない所も多いのではないのでしょうか?このような状態で「アプリケーション実行ユーザ」を悪用されると、アプリケーションが参照できる全てのデータに無制限のアクセスを許してしまう恐れがあります。Oracle12c ではこのような問題を解決するために新たにData Redaction (メモリ上でデータをマスキングする機能) が実装されました。Data Redaction 機能には、以下の特徴があります。

  • Database のセッション情報を元にメモリ上でのデータのRedactionを行う。
    (格納データには影響しない。)
  • セッション情報だけでなくSYSDATE, TO_CHAR 等のFunction も使用できるため、
    曜日や時間帯でRedactionの有無を切替える事が可能
  • Policy でRedaction対象列やRedactionの方法を指定する。
  • Redactionの方法は4種類 (完全, 部分, ランダム, 正規表現) から選択
  • テーブルに定義できるRedaction Policy は1つのみ (1つのRedaction Policy に
    複数のRedaction 設定を含める事が可能)
  • Oracle Advanced Security Option のライセンスが必要
  • 元々Oracle12c の機能だが、Oracle11.2.0.4 にBackport されている。そのため、
    手軽に動作確認を行うのであれば、Amazon RDS が使用可能
  • 数値型/文字型/日付型/LOB型のデータ型に対応
    (ユーザ定義データ型やXML型は未対応)
  • 特権ユーザや、EXEMPT REDACTION POLICY システム権限が付与されている
    ユーザはRedaction されない。
  • Backup やexp, マテリアライズド・ビューの作成/リフレッシュ等はRedaction されない。

1.2 サポートされるRedaction方法

それでは最初に、Data Redaction 機能がサポートするRedaction 方法について説明します。Data Redaction 機能がサポートしているRedaction 方法とその特徴を以下に記載します。


1.2	サポートされるRedaction方法

1.3 関連するデータ・ディクショナリ

ここでData Redaction に関連したデータ・ディクショナリを確認してみましょう。

以下の3つのデータ・ディクショナリがData Redaction に関連しています。
関連するデータ・ディクショナリ

それでは実際に、それぞれのデータ・ディクショナリの内容をみていきましょう。
データ・ディクショナリの内容


2. サポートされるRedaction 方法

2.1 Full Redaction (完全リダクション) によるデータマスキングの確認

それでは実際にFull Redaction によるデータマスキングの確認を行ってみましょう。



2.2 Partial Redaction (部分リダクション) による
  データマスキングの確認

前節ではFull Redaction によるマスキングについて確認を行いました。 今回は、Partial Redaction を使用したデータマスキングについて確認を行います。


(→次のページへ続く