システム監査において、「アカウントの認証用パスワードはアプリデータとは別の領域に保存していること」が求められることがあります。しかし、単に異なるテーブルに保存しているだけでは「別領域」として認識されないこともあります。
本記事では、データベース上でパスワードとアプリデータが異なる領域に保存されていることを証明するための方法について解説します。
「別領域に保存」とは何を指すのか?
監査の視点から見ると、「別領域に保存」とは次のような状態を指します。
- 物理的なストレージの分離(異なるディスク、パーティション、ストレージボリューム)
- 論理的なストレージの分離(異なるデータベース、スキーマ、Tablespace)
- アクセス制御の分離(認証情報の保存領域に制限をかけ、アプリデータとは異なる権限を適用)
この基準を満たしていることを示す必要があります。
証明方法1:テーブルスペース(Tablespace)の分離
Oracle DBを使用している場合、パスワードデータを別のTablespaceに配置することで、データの保存領域が物理的に異なることを証明できます。
以下のSQLで、特定のテーブルがどのTablespaceに保存されているかを確認できます。
SELECT table_name, tablespace_name
FROM all_tables
WHERE table_name IN ('USER_CREDENTIALS', 'APP_DATA');
この結果が次のようになっていれば、別領域に保存されていると説明できます。
テーブル名 | Tablespace名 |
---|---|
USER_CREDENTIALS | SECURE_TBS |
APP_DATA | APP_TBS |
このように、パスワード用のテーブルが専用のTablespace(例:SECURE_TBS)にあることを示せば、データが異なる領域に保存されていることを証明できます。
証明方法2:ストレージの物理分離(ASMまたはディスクボリューム)
Oracle Cloud Infrastructure(OCI)環境で運用している場合、ASM(Automatic Storage Management)やディスクボリュームの設定を確認し、パスワード情報が異なるディスクに保存されていることを証明できます。
次のSQLを実行し、テーブルスペースの物理ストレージ情報を取得します。
SELECT tablespace_name, file_name
FROM dba_data_files;
結果が次のようになっている場合。
Tablespace名 | ファイルパス |
---|---|
SECURE_TBS | /u02/oradata/secure_tbs.dbf |
APP_TBS | /u01/oradata/app_tbs.dbf |
この場合、パスワード情報は/u02に、アプリデータは/u01に保存されているため、物理的に異なるストレージ領域を使用していることが証明できます。
証明方法3:アクセス制御(ユーザー権限の分離)
監査では、パスワードデータへのアクセス制御が適切に設定されているかも重要視されます。以下のSQLで、パスワードテーブルの権限を確認できます。
SELECT grantee, privilege
FROM dba_tab_privs
WHERE table_name = 'USER_CREDENTIALS';
結果が以下のようになっていれば、適切に分離されていることが証明できます。
ユーザー | 権限 |
---|---|
DBA | SELECT, INSERT, UPDATE |
APP_USER | なし |
つまり、アプリケーションユーザー(APP_USER)がパスワードテーブルにアクセスできない設定になっていることを示せば、データの保護が適切に行われていることを説明できます。
証明方法4:監査ログの活用
Oracleの監査機能(Audit Trail)を使用すると、データベース上でどのユーザーがどのテーブルにアクセスしたかのログを記録できます。
監査ログの設定が適切であることを示せば、パスワードデータが適切に管理されていることの証拠になります。
SELECT username, action_name, object_name, timestamp
FROM dba_audit_trail
WHERE object_name IN ('USER_CREDENTIALS');
この結果を提出することで、アクセス制御が適切に機能していることを示すことができます。
まとめ
データベース上で「パスワードはアプリデータとは別の領域に保存されている」ことを証明するには、以下の方法を活用します。
- Tablespaceの分離:パスワードとアプリデータが異なるTablespaceに保存されていることを確認
- ストレージの物理分離:ディスクやボリュームが異なることを示す
- アクセス制御の分離:アプリデータとパスワードテーブルへのアクセス権限が異なることを証明
- 監査ログの活用:パスワードデータが適切に管理されていることをログで確認
これらの証拠を監査法人に提示することで、適切な説明が可能になります。
適切なセキュリティ管理を行い、システム監査の要求を満たしましょう!
コメント