Oracle® Fusion Middleware Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成 12c (12.2.0.1) E70107-04 |
|
![]() 前 |
![]() 次 |
クラシック・キャプチャ・モードでのExtractの場合、TDEをサポートするには、次の特別な構成手順が必要です。この項は、統合キャプチャ・モードのExtractには適用されません。
注意:
統合モードでは、Extractはデータベース・ログマイニング・サーバーを活用して、特別な設定要件またはパラメータ設定なしで、TDE列の暗号化およびTDE表領域の暗号化をサポートします。統合キャプチャの詳細は、「キャプチャおよび適用モードの選択」を参照してください。
クラシック・キャプチャ・モードでのExtractの場合、TDEサポートには2種類の鍵の交換が必要です。
暗号化鍵は、表鍵(列レベルの暗号化)、暗号化REDOログ鍵(表領域レベルの暗号化)、またはその両方のいずれにすることも可能です。この鍵はOracle DatabaseとExtract間で共有されます。
復号化鍵にはORACLEGG
の名前が付けられ、そのパスワードは共通鍵と呼ばれます。この鍵は、OracleおよびOracle GoldenGateドメインに安全に格納されます。共通鍵を所有するユーザーのみが、表およびREDOログ鍵を復号化できます。
復号化キーは、組込みPL/SQLコードによってExtractプロセスに配信されます。Extractでは共通鍵を使用してデータが復号化されます。Extractでは、ウォレットのマスター・キー自体は処理されず、またマスター・キーのパスワードも認識されません。これらは、Oracle Databaseセキュリティ・フレームワークの範囲内です。
Extractでは、復号化されたデータが破棄ファイル(DISCARDFILE
パラメータで指定)を含む証跡ファイル以外のファイルに書き込まれることはありません。"ENCRYPTED
"という語が使用中の破棄ファイルに書き込まれます。
Oracle GoldenGateのパフォーマンスに対するこの機能の影響には、データベース・パフォーマンスに対する復号化の影響が反映されます。Extractの起動時間がわずかに長くなる以外は、TDEデータのレプリケートによるパフォーマンスへの影響は最小限です。
ExtractでTDEキャプチャをサポートするための要件は次のとおりです。
高いセキュリティ基準を維持するため、Oracle GoldenGate Extractプロセスはoracle
ユーザー(Oracle Databaseを実行するユーザー)の一部として実行する必要があります。これにより、oracle
ユーザーと同じ権限でメモリー内で鍵が保護されます。
Extractプロセスは、データベースのインストールと同じマシン上で実行される必要があります。
ハードウェア・セキュリティ・モジュールでTDEを使用している場合でも、ソフトウェア・ウォレットを使用する必要があります。HSMのみの構成からHSMとウォレットの構成に移行し、sqlnet.ora
ファイルを正しく構成するための各手順の詳細は、「Oracleセキュリティ担当者のタスク」の構成手順を参照してください。
ソース・データベースがアップグレードされる場合は、マスター・キーを必ず更新する必要があります。
Oracle 11.2.0.2でTDEをサポートするには、My Oracle Support Webサイト(https://support.oracle.com
)の記事1557031.1を参照してください。
次に、OracleサーバーとExtractプロセス間の通信を確立するためにOracleセキュリティ担当者およびOracle GoldenGate管理者が実行する手順を説明します。
Oracleパスワードの基準以上の共通鍵パスワードを共有します。このパスワードは他のユーザーに知られないようにする必要があります。安全なパスワードの作成のガイドラインについては、次を参照してください。
Oracle GoldenGateでは、HSMともソフトウェア・ウォレットを使用する必要があります。HSMのみのモードを現在使用している場合は、次の手順に従って、HSMとウォレットのモードに移行します。
次の例に示すように、sqlnet.ora
ファイル構成を変更します(ウォレット・ディレクトリは、Oracle Databaseの所有者によってアクセス可能な(rwx)ディスク上の任意の場所が可能です)。次の例は、ベスト・プラクティスの場所(my_db
は$ORACLE_SID
)を示します。
ENCRYPTION_WALLET_LOCATION= (SOURCE=(METHOD=HSM)(METHOD_DATA= (DIRECTORY=/etc/oracle/wallets/my_db)))
Oracle Databaseの所有者としてorapki
(またはWallet Manager)にログインし、sqlnet.ora
ファイルに指定した場所に自動ログイン・ウォレットを作成します。ウォレットのパスワードを求められたら、HSMパスワードと同じパスワード(またはHSM接続文字列)を指定します。これらの2つのパスワードは同じにする必要があります。
cd /etc/oracle/wallets/my_db orapki wallet create -wallet . -auto_login[_local]
注意:
Oracle Database所有者には、ウォレットの完全なオペレーティング・システム権限が必要です。
次のエントリを空のウォレットに追加して、'auto-open' HSMを有効にします。
mkstore -wrl . -createEntry ORACLE.TDE.HSM.AUTOLOGIN non-empty-string
ORACLEGG
のエントリをウォレットに作成します。ORACLEGG
は、この鍵の名前にする必要があります。この鍵のパスワードは、共通鍵を共有する必要がありますが、このパスワードをコマンドラインから入力しないでください。かわりに、入力を求められるまで待ちます。
mkstore -wrl ./ -createEntry ORACLE.SECURITY.CL.ENCRYPTION.ORACLEGG Oracle Secret Store Tool : Version 11.2.0.3.0 - Production Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. Your secret/Password is missing in the command line Enter your secret/Password:sharedsecret
Re-enter your secret/Password:sharedsecret
Enter wallet password:hsm/wallet_password
ORACLEGG
のエントリを確認します。
mkstore -wrl . -list
Oracle Secret Store Tool : Version 11.2.0.3.0 - Production
Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
Enter wallet password: hsm/wallet_password
Oracle Secret Store entries:
ORACLE.SECURITY.CL.ENCRYPTION.ORACLEGG
SYSDBA
システム権限を持つユーザーとしてSQL*Plusにログインします。
ウォレットを閉じ、再度開きます。
SQL> alter system set encryption wallet close identified by "hsm/wallet_password
"; System altered. SQL> alter system set encryption wallet open identified by "hsm/wallet_password
"; System altered.
これによってパスワードが自動オープン・ウォレットに挿入されるため、HSMに保存されたTDEマスター暗号化鍵を使用して暗号化されたデータにアクセスする際、パスワードは不要です。
ログ・ファイルを切り替えます。
alter system switch logfile; System altered.
Oracle RAC環境で、各ノードでウォレットのコピーを使用している場合、ここでコピーを作成し、各ウォレットを再度開きます。
注意:
共有の場所にある1つのウォレットを、すべてのOracle RACノード間でアクセスが同期化された状態で使用することをお薦めします。
Extractでは、TDEデータは復号化され、クリア・テキストとして証跡内に書き込まれます。ターゲット・データベースへの経路を含めてデータのセキュリティを維持するには、次のOracle GoldenGateのセキュリティ機能も使用することをお薦めします。
証跡内のデータの暗号化
TCP/IP間の遷移でのデータの暗号化
詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
DDLが列レベルの暗号化が存在する表で実行される場合や表キーが更新される場合には、DDLの実行中に表を停止するか、Oracle GoldenGate DDLサポートを有効にする必要があります。通常、キーの更新はセキュリティ違反に伴って行われ、すぐに実行される必要があるため、いつでも対応できるよう、DDL環境をアクティブにしておくとより実用的です。Oracle GoldenGate DDL環境をインストールするには、「トリガーベースのDDLキャプチャのインストール」を参照してください。Oracle GoldenGate DDLサポートを構成するには、「DDLサポートの構成」を参照してください。表レベルの暗号化の場合は、Oracle GoldenGate DDLサポートは必要ありません。
ソース・データベースがアップグレードされ、Oracle GoldenGateがTDEデータをキャプチャしている場合は、マスター・キーを更新し、データベースおよびExtractを再起動する必要があります。マスター・キーを更新するコマンドは次のとおりです。
alter system set encryption key identified by "mykey";