バックエンド データベースとして Azure MS SQL を使用する
(Enterprise Edition でのみ利用可能な機能)
Password Manager Pro は、PostgreSQL データベースと MSSQL データベースの両方をバックエンド データベースとしてサポートします。デフォルトでは、PostgreSQL は Password Manager Pro にバンドルされており、バックエンド データベースとして構成されています。ただし、Password Manager Pro を使用すると、Azure MS SQL データベースを含む他のデータベースをバックエンド データベースとして構成できます。
このドキュメントでは、Password Manager Pro で Azure MS SQL をバックエンド データベースとして使用するプロセスについて詳しく説明します。
必要なステップ
- SSL 証明書を作成し、Windows 証明書ストアにインストール
- SSL証明書をPassword Manager Proにインポート
- SQL Server で SSL 暗号化を有効化
- Password Manager ProでChangeDB.batを実行
重要な注記:
- 高レベルのセキュリティを確保するために、Password Manager Pro は SSL 経由でのみ SQL サーバーに接続するように構成されています。
- Password Manager Pro は、バージョン 6400 以降のみ、バックエンド データベースとして MS SQL サーバーをサポートします。
- MySQL をバックエンド データベースとして使用する以前のバージョンの Password Manager Pro を使用している場合、データを MS SQL に移行する手順は次のとおりです。
1.SSL 証明書を作成し、Windows 証明書ストアにインストール
(SQL サーバーが実行されているマシン内)
Password Manager Pro を SQL サーバーに接続する前に、SQL Server で SSL 暗号化を有効にする必要があります。このためには、SSL 証明書を作成し、認証局 (CA) による署名を取得するか、自己署名を取得する必要があります (詳細を参照)。
A) 証明書を生成し、サードパーティのCAによって署名してもらう方法:
Openssl を使用して証明書を作成します。これには、秘密鍵の生成と証明書要求の生成の2つのステップが含まれます。次のコマンドを使用して、証明書を作成します。
- 秘密鍵の生成:次のコマンドを実行します。
openssl genrsa -des3 -out server.key 2048
- 証明書要求の生成:以下の手順に従ってください。
- サーバーの秘密鍵を使用して証明書要求を作成します。プロンプトが表示されたら、キーのパスフレーズ、共通名、ホスト名、または IP アドレスを入力します。共通名にはSQL ServerのFQDNを指定します。
openssl req -new -key server.key -out server.csr - 証明書が生成されたら、環境の要件に基づいて、VeriSign、Thawte、RapidSSL などのサードパーティ CA によって署名してもらうか、自己署名してください。CSRの提出の詳細については、対応するCAのドキュメント/Webサイトを参照してください。これは有料サービスであることを忘れないでください。数日以内に、署名付き SSL 証明書と CA のルート証明書を .cer ファイルとして受け取ります。
- SQLサーバーが実行されているマシンにサーバー証明書をインストールします。
- CA ルート証明書を Password Manager Pro サーバーにインストールします。
- SQLサーバーが実行されているマシンにサーバー証明書をインストール:(MMCを使用)
- SQL サーバーが実行されているマシンで、[スタート] >> [実行] をクリックします。[実行] ダイアログ ボックスに次のように入力します:MMC。MMCコンソールが表示されます。
- [コンソール]メニューから[スナップインの追加と削除]をクリックします。 [追加]をクリックし、[証明書]をクリックします。もう一度[追加]をクリックします。現在のユーザー アカウント、サービス アカウント、またはコンピューター アカウントのスナップインを開くように求められます。コンピューターアカウントを選択します。
- [証明書 (ローカル コンピューター)] >> [個人] >> [証明書] を選択します。
- [証明書]を右クリックし、[すべてのタスク]>>[インポート]をクリックします。
- インストールする証明書を参照して選択します。
- Password Manager Pro への CA のルート証明書のインストール:
- CA のルート証明書をコピーし、以下に貼り付けます:<Password Manager Pro Installation Folder>/bin ディレクトリ。
- <Password Manager Pro Installation Folder>/binディレクトリから、次のコマンドを実行します:
importCert.bat <上で説明したように貼り付けられたルート証明書の名前>
- これにより、証明書が Password Manager Pro 証明書ストアに追加されます。
B) Powershellを使用して自己署名証明書を作成:
自己署名証明書を作成して使用するには、SQLサーバーがインストールされているマシンで次の手順を実行します。
- SQL Server に移動し、Powershell を開きます (管理者として実行)。
- 次のコマンドを実行します。
New-SelfSignedCertificate -DnsName FQDN of the SQL server -CertStoreLocation cert:\LocalMachine\My
- 上記のコマンドは、自己署名証明書をインストールしてローカルストアに保存します。
2.SSL証明書をPassword Manager Proにインポート
SSL 証明書を Password Manager Pro にインポートするには、
- サーバー証明書をコピーし、<Password Manager Pro Installation Folder>/bin ディレクトリに貼り付けます。
- 次のコマンドを実行します。
importCert.bat <サーバー証明書の名前>
- これにより、証明書が Password Manager Pro 証明書ストアに追加されます。
3.SQL Server で SSL 暗号化を有効化
- SQL サーバーが実行されているマシンで [開始] をクリックします。Microsoft SQL Server プログラム メニューから、[構成ツール] をクリックし、[SQL Server 構成マネージャー] をクリックします。
- [SQL Server ネットワーク構成] を展開し、目的のサーバーのプロトコルを右クリックして、[プロパティ] をクリックします。(右パネルの特定のプロトコルではなく、ツールの左パネルの [プロトコル] セクションをクリックしてください。)
- [証明書] タブで、証明書を使用するようにデータベース エンジンを構成します。
- データベース エンジンの ForceEncryption オプションを [はい] に設定すると、すべてのクライアント/サーバー通信が暗号化され、暗号化をサポートできないクライアントはアクセスが拒否されます (推奨)。クライアント アプリケーションによって暗号化が要求されるようにする場合は、データベース エンジンの ForceEncryption オプションを [いいえ] に設定します (非推奨)。
- SQL Serverを再起動します。
詳細については、Microsoft のナレッジベース記事の[SQL Server の SSL の構成]セクションを参照してください。
4.Password Manager ProでChangeDB.batを実行
注:すでに MySQL をバックエンド データベースとして使用して Password Manager Pro を使用し、データを MS SQL サーバーに移行している場合は、この手順をスキップしてください。
ChangeDB.bat (Windows) ファイルまたは ChangeDB.sh (Linux) を編集して、SQL サーバーに関する詳細を Password Manager Pro に提供します。以下の手順に従ってください。
- <Password Manager Pro Installation Folder>/binフォルダに移動し、ChangeDB.bat (Windows) ファイルまたは sh ChangeDB.sh (Linux) を実行します。
- 表示されたポップアップで、ベストプラクティスドキュメントを開くをクリックしてベストプラクティスガイドを一読してください。 セットアップを続行ボタンを押して、DB変更の設定を進めます。
- 表示されたウィンドウで、以下の詳細を入力します。
- サーバーの種類として SQL Server を選択します。
- ホスト名:MS SQLサーバーがインストールされているマシンの名前またはIPアドレス。
- インスタンス名:Password Manager Proで使用するSQLサーバーの名前付きインスタンスを指定します。インスタンス名が指定されていない場合、Password Manager Pro はポート 1433 でデフォルトのインスタンスとの接続を確立しようとします。
Password Manager Pro は SSL モードでのみ MS SQL に接続するため、Password Manager Pro の特定のポートで実行される専用のデータベース インスタンスを作成することをお勧めします。1433 以外のポート番号を指定する場合は、上記のホスト名パラメータで次のように指定できます:<hostname>:<port>。
- データベース名:Password Manager Pro データベースの名前。デフォルトは[PassTrix]です。別のデータベース名が必要な場合は、ここで指定してください。Password Manager Pro は、マスターキー、対称キーなどの作成を処理します。
- 認証:SQLサーバーに接続する方法。Windows から SQL サーバーに接続している場合は、Windows を選択します。Password Manager Pro サービスが SQL サーバーに接続する権限を持つサービス アカウントで実行されている場合は、Windows シングル サインオン機能を利用します。それ以外の場合は、SQL オプションを選択します。
認証に使用されるユーザー名とパスワードはどこにも保存されないため、Windows オプションを選択することをお勧めします。
- ユーザーネームとパスワード:手順Vで SQL オプションを選択した場合は、Password Manager Pro がデータベースに接続するために使用するユーザー名とパスワードを指定します。
ここで入力したユーザー名とパスワードは、Password Manager Pro のdatabase_params.conf ファイルに保存されます。したがって、ホストの強化に注意してください。
Windowsからデータベースに接続している場合は、Windowsのログイン資格情報も使用できます。この場合、ユーザー名を次のように入力する必要があります:<domain-name>\<username>。 - 暗号化キー:データを暗号化してSQLサーバーに保存するためのキー。[デフォルト]のままにして、Password Manager Pro がキーを生成できるようにすることもできます。カスタムキーが必要な場合は、[カスタム] オプションを選択します。
[カスタム] オプションを選択した場合は、次の手順を実行します。
データベースの作成 >> 詳細:http://msdn.microsoft.com/en-us/library/aa258257(v=sql.80).aspx
マスターキーの作成 >> 詳細:http://technet.microsoft.com/en-us/library/ms174382.aspx
証明書の作成 >> 詳細:http://msdn.microsoft.com/en-us/library/ms187798.aspx
対称キーの作成 >> 詳細:http://msdn.microsoft.com/en-us/library/ms188357.aspx - GUIで証明書名と対称キー名を指定します。
- インスタンス種別: Password Manager Proはローカルインスタンス (オンプレ) と Azure SQLの両方をバックエンドデータベースとして許可します。 ここでは、Azure SQLインスタンス種別として選択し、DB変更設定を進めます。
- JDBCドライバー: このドライバーはMS SQLサーバーデータベースとシームレスに動作します。Microsoft (推奨)は、このフィールドで選択されるデフォルトドライバーで、最新のSQLサーバーのバージョンと機能に対応しているため、ほとんどのインストールで推奨されます。選択可能な代替JDBCドライバーはjTDSで、特定の互換機能をサポートしています。
- 接続プロパティ: このチェックボックスを選択すると、以下の形式でカスタム接続プロパティを指定するオプションが表示されます。: "key1=value1;key2=value2;".
- 最後に、[テスト]をクリックして接続設定が適切であることを確認し、[保存]をクリックします。
注:ビルド13100以降、Password Manager ProではjTDSドライバーをサポートしません、代わりに、JDBCドライバーがデータベース接続のためのデフォルトのドライバーとして機能します。
注: DB移行設定ウィンドウの既存サーバー詳細や、SSLや暗号化などのプロパティをカスタム接続プロパティとして追加することはできません。
上記の手順を実行した後、<Password Manager Pro_インストールディレクトリ>/confディレクトリに移動し、masterkey.keyファイルを安全な場所に移動します。SQL Serverは、階層的な暗号化とキー管理インフラストラクチャを使用してデータを暗号化します。各レイヤーは、証明書、非対称キー、および対称キーの組み合わせを使用して、その下のレイヤーを暗号化します。その1つがデータベースマスターキーであり、これはサービスマスターキーとパスワードによって作成されます。このパスワードは、Password Manager Proの<Password Manager Pro_インストールディレクトリ >/confディレクトリ内のmasterkey.keyという名前のファイルに保存されています。Masterkey.keyファイルを安全な場所に移動することを強くお勧めします。これは、データのセキュリティを確保するためです。このキーを安全に保つように注意してください。高可用性とディザスタリカバリを実行するときに必要になります。このキーを紛失した場合は、MS SQLサーバーのセットアップを最初からやり直す必要があります。
MS SQL での暗号化とキー管理の詳細については、MSDN ドキュメント (http://msdn.microsoft.com/en-us/library/ms189586.aspx) を参照してください。