パスワードの管理 (OracleToSQL)
このセクションでは、データベースパスワードのセキュリティ保護と、それらをサーバー間でインポートまたはエクスポートする処置について説明します。
パスワードのセキュリティ保護
SSMA を使用すると、データベースのパスワードをセキュリティで保護できます。
セキュリティ保護された接続を実装するには、次の処置を行います。
次の 3 つの方法のいずれかを使用して、有効なパスワードを指定します。
クリア テキスト: 'password' ノードの値属性にデータベース パスワードを入力します。 スクリプト ファイルまたはサーバー接続ファイルの [サーバー] セクションのサーバー定義ノードにあります。
クリアテキスト内のパスワードは安全ではありません。 そのため、コンソール出力 に次の警告メッセージが表示されます。「サーバー<server-id>のパスワードはセキュリティで保護されていないクリア テキスト形式で提供されています。SSMA コンソール アプリには、暗号化を使用してパスワードを保護するオプションが用意されています。詳細については、SSMA ヘルプ ファイルの -securepassword オプションを参照してください。」
暗号化されたパスワード: この場合、指定されたパスワードは ProtectedStorage.ssma のローカル コンピューター上の暗号化された形式で格納されます。
パスワードの保護
-securepassword
でSSMAforOracleConsole.exe
を実行し、コマンド ラインでサーバー ID を渡して追加スイッチを実行し、サーバー接続情報を渡すか、サーバー定義セクションでパスワード ノードを含むスクリプト ファイルを渡します。プロンプトで、ユーザーはデータベースパスワードを入力して確認するよう求められます。
サーバー定義 ID とそれに対応する暗号化されたパスワードは、ローカル コンピューター上のファイルに格納されます
例 1:
パスワードを指定します。
C:\SSMA\SSMAforOracleConsole.EXE -securepassword -add all -s "D:\Program Files\Microsoft SQL Server Migration Assistant for Oracle\Sample Console Scripts\AssessmentReportGenerationSample.xml" -v "D:\Program Files\Microsoft SQL Server Migration Assistant for Oracle\Sample Console Scripts\ VariableValueFileSample.xml"
server_id 'XXX_1': xxxxxxx のパスワードを入力します
server_id 'XXX_1': xxxxxxx のパスワードを再入力します
例 2:
C:\SSMA\SSMAforOracleConsole.EXE -securepassword -add "source_1,target_1" -c "D:\Program Files\Microsoft SQL Server Migration Assistant for Oracle\Sample Console Scripts\ServersConnectionFileSample.xml" - v "D:\Program Files\Microsoft SQL Server Migration Assistant for Oracle\Sample Console Scripts\ VariableValueFileSample.xml" -o
server_id 'source_1': xxxxxxx のパスワードを入力します
server_id 'source_1': xxxxxxx のパスワードを再入力します
server_id 'target_1': xxxxxxx のパスワードを入力します
server_id 'target _1': xxxxxxx のパスワードを再入力します
暗号化されたパスワードの削除
-securepassword
でSSMAforOracleConsole.exe
を実行し、コマンド ラインでサーバー ID を渡して-remove
スイッチを実行し、ローカル コンピューターに存在する保護されたストレージ ファイルから暗号化されたパスワードを削除します。例:
C:\SSMA\SSMAforOracleConsole.EXE -securepassword -remove all C:\SSMA\SSMAforOracleConsole.EXE -securepassword -remove "source_1,target_1"
パスワードが暗号化されているサーバー ID の一覧を表示
-securepassword
でSSMAforOracleConsole.exe
を実行し、コマンド ラインで-list
スイッチを実行して、パスワードが暗号化されているすべてのサーバー ID を一覧表示します。例:
C:\SSMA\SSMAforOracleConsole.EXE -securepassword -list
注意
- スクリプトまたはサーバー接続ファイルに記載されているクリアテキストのパスワードは、セキュリティで保護されたファイル内の暗号化されたパスワードよりも優先されます。
- サーバー接続ファイルまたはスクリプト ファイルのサーバー セクションにパスワードが存在しない場合、またはローカル コンピューターで保護されていない場合は、コンソールにパスワードを入力してもらうようメッセージが表示されます。
暗号化されたパスワードのエクスポートまたはインポート
SSMA コンソール アプリを使用すると、ローカル コンピューター上のファイルに存在する暗号化されたデータベース パスワードを、セキュリティで保護されたファイルにエクスポートできます。また、その逆もできます。 暗号化されたパスワードをマシンに依存しないようにするうえで役立ちます。 エクスポート機能を使用すると、ローカルで保護されたストレージからサーバー ID とパスワードを読み取り、暗号化されたファイルに情報が保存されます。 ユーザーは、セキュア ファイルのパスワードを入力するよう求められます。 必ず 8 文字以上のパスワードを入力するようにしてください。 このセキュア ファイルは、異なるマシン間で移植できます。 インポート機能は、セキュア ファイルからサーバー ID とパスワードの情報を読み取ります。 ユーザーに、セキュア ファイルのパスワードを入力するよう求めるプロンプトが表示され、その情報がローカルで保護されたストレージにアペンドされます。
エクスポートの例 :
パスワードのエクスポート
エクスポートされたファイルを保護するためのパスワードを入力します
C:\SSMA\SSMAforOracleConsole.EXE -securepassword -export all "machine1passwords.file"
エクスポートされたファイルを保護するためのパスワードを入力します: xxxxxxxx
確認のため、パスワードを再入力してください: xxxxxxxx
C:\SSMA\SSMAforOracleConsole.EXE -p -e "OracleDB_1_1,Sql_1" "machine2passwords.file"
エクスポートされたファイルを保護するためのパスワードを入力します: xxxxxxxx
確認のため、パスワードを再入力してください: xxxxxxxx
インポートの例 :
暗号化されたパスワードのインポート
インポートされたファイルを保護するためのパスワードを入力します
C:\SSMA\SSMAforOracleConsole.EXE -securepassword -import all "machine1passwords.file"
暗号化されたファイルからサーバーをインポートするためのパスワードを入力します: xxxxxxxx
確認のため、パスワードを再入力してください: xxxxxxxx
C:\SSMA\SSMAforOracleConsole.EXE -p -i "OracleDB_1,Sql_1" "machine2passwords.file"
暗号化されたファイルからサーバーをインポートするためのパスワードを入力します: xxxxxxxx
確認のため、パスワードを再入力してください: xxxxxxxx