【Oracle】Data Pumpでエクスポートファイルにパスワードを設定する方法|セキュリティ対策

【Oracle】Data Pumpでエクスポートファイルにパスワードを設定する方法|セキュリティ対策 Oracle

OracleのData Pump(expdp / impdp)は、高速かつ柔軟なデータエクスポート・インポートを可能にするツールですが、出力されるダンプファイル(.dmp)にはデータベース内の重要な情報が含まれるため、セキュリティ対策が非常に重要です。

本記事では、Data Pumpでエクスポートファイルにパスワードを設定して暗号化する方法を紹介し、ファイル漏洩時のリスク低減につながるセキュアな運用手法を解説します。

Data Pumpで暗号化する方法とは?

Oracle Data Pumpでは、ENCRYPTION パラメータを使用して、エクスポートファイルを暗号化することができます。暗号化されたファイルは、復元時に対応するパスワードを要求することで、不正アクセスからデータを保護します。

暗号化を使用するための前提条件

  • Oracle Database Enterprise Edition
  • Advanced Security Option(ASO)が有効であること

エクスポート時にパスワードを設定して暗号化する方法

基本構文

expdp ユーザー名/パスワード directory=ディレクトリ名 dumpfile=ファイル名.dmp logfile=ログファイル名.log encryption=all encryption_password=任意のパスワード

使用例:

expdp scott/tiger directory=DATA_PUMP_DIR dumpfile=secure_data.dmp logfile=secure_data.log encryption=all encryption_password=mySecret123

このコマンドでは、secure_data.dmp がパスワード付きで暗号化され、復元には同じパスワードが必要になります。

暗号化の対象を制御する(ENCRYPTIONパラメータ)

指定値 暗号化の対象
all データとメタデータのすべてを暗号化
data_only データだけを暗号化
metadata_only メタデータだけを暗号化
none 暗号化しない(デフォルト)

インポート時の復号(パスワード指定)

暗号化されたエクスポートファイルをimpdpでインポートする際には、同じパスワードを指定する必要があります。

impdp scott/tiger directory=DATA_PUMP_DIR dumpfile=secure_data.dmp logfile=import_secure.log encryption_password=mySecret123

パスワードが一致しない場合、インポートは失敗します。

注意点

  • encryption_passwordはコマンドライン上に平文で表示されるため、OSレベルの履歴管理やログ監視の対策が必要
  • 安全性を高めたい場合は、パラメータファイル(parfile)を使用し、パスワードをスクリプトファイル内で管理
  • 暗号化されたファイルは、同じバージョンまたは上位互換のOracle環境でインポートする必要がある

parfile(パラメータファイル)による指定例

ファイル:secure_export.par

directory=DATA_PUMP_DIR
dumpfile=secure_data.dmp
logfile=secure_data.log
encryption=all
encryption_password=mySecret123
schemas=scott

実行コマンド:

expdp scott/tiger parfile=secure_export.par

まとめ

OracleのData Pumpでencryptionパラメータとencryption_passwordを使用することで、エクスポートファイルにパスワードを設定し、安全にデータを保護することが可能です。

特に外部環境への持ち出しや他システム間での連携時には、情報漏洩リスクを防ぐためにも、暗号化によるセキュリティ対策は必須です。環境やポリシーに応じて柔軟に活用しましょう。