SQLで漏れやすい情報
WHERE句の文字列やINSERT文の値は目立ちますが、customer_contractやemployee_salaryのような識別子からも業務内容を推測できます。接続先名、スキーマ名、コメント、ストアドプロシージャ名も確認対象です。
- 顧客番号、氏名、住所、メールアドレスなどの値
- 社内システム名を含むスキーマ名やテーブル名
- 業務ルールが分かるカラム名、定数、コメント
- 接続文字列、DBリンク、ホスト名、ファイルパス
構造を壊さずに置き換える手順
- 調査に必要なSQL文だけをコピーし、接続設定や実行ログを分離します。
- テーブル、カラム、値、コメントのうち、どの分類をマスキングするか決めます。
- 同じ識別子には同じ置換名を使い、JOINやサブクエリの対応関係を保ちます。
- 対象DBを選び、引用符、関数、ページング構文などのDB固有表現が残っているか確認します。
共有前に確認するポイント
| 確認項目 | 見るポイント |
|---|---|
| 構文 | 括弧、引用符、終端記号が欠けていないか |
| 対応関係 | 別名、JOIN条件、CTE参照が同じ置換名になっているか |
| 値 | 日付、ID、LIKE条件、IN句に実データが残っていないか |
| コメント | 担当者名、障害番号、顧客名が残っていないか |
マスキング後のSQLは本番DBで実行せず、共有用コピーとして扱います。動作確認が必要な場合は、テストデータを使う隔離環境で行ってください。
ブラウザで試す
入力内容はブラウザ内で処理されます。元データを残したうえで、結果を確認してから保存・共有してください。
SQLマスキングツールを開く