マイナンバーが配られ始めた頃から、iDempiereのマイナンバー対応についての問い合わせをいくつか受けています。問い合わせの根底には、マイナンバー(個人番号)は個人情報保護の観点より外部流出してしまうと会社の信用問題&賠償問題になるので避けたい…というのがあるのだと感じています。そこで、iDempiereでマイナンバーを管理するために利用できる機能をここにまとめておきたいと思います。
マイナンバーを保存する項目(カラム)の追加
まずはマイナンバーを保存するためにデータベースのテーブルに項目(カラム)を追加し、画面上に表示しないといけません。iDempiereでは、データベースのテーブルに項目(カラム)を追加し、画面に表示するのはとても簡単です。
ここでは、1例として、ユーザーマスタ画面(AD_Userテーブル)にMyNumberカラムを追加し、画面上に表示するというケースで説明します。
【補足説明】マイナンバーを保存するテーブルについて
本来であれば、まずはマイナンバーをどのテーブルで保存するのかという事から考えないといけません。マイナンバーには法人に付与される法人番号と、個人に付与される個人番号があり、それぞれにどのように管理するのか方針を検討した上で、マイナンバーを保存するテーブルを決める必要があると思います。法人番号は原則公表されてだれでも利用する事ができるということから、情報漏えいとう観点からは神経質にならなくても良い情報だろうと思います。個人番号については、個人情報として扱わないといけないため、情報漏えいという観点では特に気を付けないといけないでしょう。
この法人番号と個人番号を2つともマイナンバーとして同じように管理するのであれば、iDempiereでは基本的に取引先マスタで得意先(顧客)、仕入先、従業員を管理しますので、取引先マスタで管理するのが良いのではないかと思います。
個人番号をより強固に管理したいのでれば、法人番号は取引先マスタで管理して、個人番号はユーザーマスタで管理するという方針も良いのではないかと思います。
マイナンバーの画面表示を制限する
ウィンドウ設定でマイナンバーの表示と非表示を権限とからめて制御する
iDempiereでは画面単位で項目(カラム/フィールド)の表示・非表示を設定する事ができます。そのため、マイナンバーを表示しているユーザーマスタの画面と、マイナンバーを表示しないユーザー画面とにわけて、ある一定の人にしかマイナンバーを表示しているユーザーマスタ画面へのアクセス権限を付与しないという事で、ある程度セキュリティーを高める事ができると思います。
表示ロジックでマイナンバーの表示と非表示を権限とからめて制御する
iDempiereで、画面に表示する項目(カラム/フィールド)の表示、非表示をロックを設定する事により制御する事ができます。この機能を使用して、職責などのIDを利用して、管理者権限の人にだけマイナンバーを表示するような制御をすることもできます。
隠しタイプ(ObscureType)を使用する
隠しタイプを利用すると、画面表示上、マイナンバーの一部を隠す事ができます。入力の作業中に、他の人からのぞき見される事によるマイナンバーの流出を防ぐ事ができます。
隠しタイプはカーソルがマイナンバーに当たっていない(フォーカスされていない)ときは****でマスクして画面上に表示し、カーソルがあたる(フォーカスされる)と、すべての番号を表示し、マイナンバーを確認・編集する事ができます。
マイナンバーを暗号化してデータベースに保存する
ユーザーマスタテーブル(AD_User)テーブルに、MyNumberカラムを追加して、そこにマイナンバーを保存していますが、そのデータは暗号化されていないので、データベースを直接除くと、マイナンバーが確認できます。
そもそもデータベースのデータを直接参照するとういこと自体、管理者以外がすべきことではないですし、外部の悪意ある人から参照されるという事はあってはならない事だと思います。あってはならない事ですが、最悪そのような事になってしまった場合でも、被害を最小限にとどめるために、データを暗号化しておきたいというのがシステム管理者の気持ちだろうと思います。
そこで、iDempieでは下記の方法でデータを暗号化して保存する事ができます。
テーブルとカラムウィンドウのMyNumberカラムで、ツールバーのプロセスアイコンより暗号化のプロセスを実行します。
暗号化のプロセスを実行すると、マイナンバーのデータが暗号化されます。
関連するコンテンツ
- 【iDempiere Lab】パスワードの暗号化について(2013年7月11日の研究日誌)