ページの先頭行へ戻る
Enterprise Postgres 9.5 運用ガイド
FUJITSU Software

6.1.4 秘匿化形式

秘匿化形式とは、秘匿化条件が成立した時の改訂する方法と表示される文字の組み合わせです。秘匿化形式は秘匿化種別ごとに異なっています。秘匿化形式については以下に示します。

全秘匿化

全秘匿化では、すべての文字をデータベースで決められた値に改訂します。改訂後の文字はpgx_confidential_valuesテーブルを参照することで確認できます。また、改訂後の文字はpgx_update_confidential_valuesシステム管理関数で変更可能です。

参照

秘匿化が可能なデータ型は、“6.3 データ秘匿化が可能なデータ型”を参照してください。

部分秘匿化

部分秘匿化では、データをfunction_parametersの内容に従って改訂します。function_parametersはデータ型によって指定方法が異なります。

カテゴリ

function_parametersの指定方法

数値型

'改訂文字, 開始位置, 終了位置'

  • 改訂文字:表示する数字を指定します。指定できる範囲は0-9です。

  • 開始位置:秘匿化を開始する数字位置を指定します。指定できる範囲は正の整数です。

  • 終了位置:秘匿化を終了する数字位置を指定します。指定できる範囲は開始位置よりも大きい正の整数です。

1桁目から5桁目までを9に秘匿化する場合は以下を指定します。

function_parameters := '9, 1, 5'

この場合、元データが“123456789”の場合は、“999996789”に改訂されます。

文字型

'入力形式, 出力形式, 改訂文字, 開始位置, 終了位置'

  • 入力形式:データが現在どのようにフォーマットされているかを指定します。秘匿化される可能性がある文字にV、空白やハイフンなど秘匿化されない文字はFを指定します。

  • 出力形式:表示されるデータを書式化する方法を定義します。秘匿化される可能性がある文字にVを指定します。入力形式の各文字Fについては出力させる任意の文字を指定してください。単一引用符を出力したい場合は2つ続けて記述してください。

  • 改訂文字:任意の単一文字を指定します。単一引用符を出力したい場合は2つ続けて記述してください。

  • 開始位置:秘匿化を開始するVの数字位置を指定します。指定できる範囲は正の整数です。

  • 終了位置:秘匿化を終了するVの数字位置を指定します。終了位置の値を決める時はFの位置は含めないでください。指定できる範囲は開始位置よりも大きい正の整数です。

電話番号の始めの3桁を除いて*に秘匿化する場合は以下を指定します。

function_parameters := 'VVVFVVVVFVVVV, VVV-VVVV-VVVV, *, 4, 11'

この場合、元データが“012-3456-7890”の場合は、“012-****-****”に改訂されます。

日付/タイムスタンプ型

'MDYHMS'

  • M:月を秘匿化します。月を秘匿化する場合は1から12を小文字のmの後ろに追記します。秘匿化しない場合は大文字のMを指定します。

  • D:日を秘匿化します。日を秘匿化する場合は1から31を小文字のdに追記します。月の日よりも大きい数値を入力すると、その月の最終日が表示されます。秘匿化しない場合は大文字のDを指定します。

  • Y:年を秘匿化します。年を秘匿化する場合は1から9999を小文字のyに追記します。秘匿化をしない場合は大文字のYを指定します。

  • H:時間を秘匿化します。時間を秘匿化する場合は0から23を小文字のhに追記します。秘匿化をしない場合は大文字のHを指定します。

  • M:分を秘匿化します。分を秘匿化する場合は0から59を小文字のmに追記します。秘匿化をしない場合は大文字のMを指定します。

  • S:秒を秘匿化します。秒を秘匿化する場合は0から59を小文字のsに追記します。秘匿化をしない場合は大文字のSを指定します。

時間、分、秒を0時0分0秒に秘匿化する場合は以下を指定します。

function_parameters := 'MDYh0m0s0'

この場合、元データが“2010-10-10 10:10:10”の場合は、“2010-10-10 00:00:00”に改訂されます。

参照

正規表現秘匿化

正規表現秘匿化では、データをregexp_pattern、regexp_replacement、regexp_flagsの内容に従って改訂します。regexp_patternには、正規表現による改訂方法を指定します。regexp_replacementには、正規表現の改訂後の文字を指定します。regexp_flagsには、正規表現のフラグを指定します。

bから始まる3文字をすべてXに改訂する場合は以下を指定します。

regexp_pattern := 'b..'

regexp_replacement:= 'X'

regexp_flags := 'g'

この場合、元データが“foobarbaz”の場合は、“fooXX”に改訂されます。

参照

  • regexp_pattern、regexp_replacement、regexp_flagsに指定できる値は、“PostgreSQL文書”の“POSIX正規表現”のpattern、replacement、flagsを参照してください。

  • 秘匿化が可能なデータ型は、“6.3 データ秘匿化が可能なデータ型”を参照してください。

注意

  • 列のデータ型がcharacter(n)、char(n)の場合、改訂後の文字列長が列の長さ(n)を超えると、列の長さまで切り詰められて表示されます。

  • 列のデータ型がcharacter varying(n)、varchar(n)の場合、改訂後の文字列長が改訂前の文字列長の長さを超えると、改訂前の文字列長まで切り詰められて表示されます。