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