Microsoft SQL Serverを使用したセカンダリサーバーモデル

ミッションクリティカルな環境では、パスワードへの途切れることのないアクセスが不可欠です。PAM360は、これを実現するためのセカンダリサーバーモデルを提供しています。Microsoft SQL Server(MS SQL)を使用してセカンダリサーバー(高可用性またはHA)のセットアップを設定する場合、プライマリとセカンダリの MS SQL データベース間でデータベースレプリケーションを設定する必要があります。これは、PAM360 から直接、または SQL Server Management Studio を通じて実行できます。このドキュメントでは、PAM360を使用してプライマリデータベースとセカンダリデータベース間のMS SQL Serverレプリケーションを設定するための詳細なガイドを提供します。

メモ:

SQL Server Management Studioを使用したレプリケーションの設定については、このヘルプドキュメントを参照してください。

このドキュメントを読み終えると、Microsoft SQL ServerベースのPAM360環境においてセカンダリサーバーを設定する際に関連する以下の重要な側面について十分に理解できるようになります。

  1. セカンダリサーバーモデルはどのように機能するか?
  2. PAM360におけるセカンダリサーバーのアーキテクチャ
  3. セカンダリサーバーのネットワークシナリオ
  4. セカンダリサーバーのセットアップ(PAM360を使用したレプリケーション)
  5. セカンダリサーバーのセットアップの確認

1.セカンダリサーバーモデルはどのように機能するか?

PAM360では、セカンダリサーバーモデルによってサーバーとデータベースインスタンスの両方の冗長性が確保されます。このモデルの主な特徴は次のとおりです:

  • プライマリインスタンスとセカンダリインスタンス:プライマリインスタンスは、すべてのユーザーに対して読み取り/書き込みアクセスを処理します。セカンダリインスタンスは、プライマリインスタンスと同期された状態を維持します。
  • データ同期:プライマリデータベースとセカンダリデータベース間のデータは、セキュアな暗号化チャネルを介したSQL Serverのデータレプリケーションによって継続的に同期されます。
  • フェイルオーバー:プライマリサーバーが利用できなくなると、セカンダリサーバーは、プライマリサーバーがオンラインに戻るまで、ユーザーに対して読み取り/書き込みアクセスを自動的に提供します(パスワードリセット機能を除く)。プライマリサーバーが復元されると、ダウンタイム中にセカンダリデータベースに加えられた変更は、自動的にプライマリデータベースと同期されます。

2.PAM360におけるセカンダリサーバーのアーキテクチャ

このアーキテクチャは、1台のプライマリサーバーと1台のセカンダリサーバーという冗長なPAM360サーバーで構成されています。セカンダリサーバーは、SQL Serverレプリケーションを通じてプライマリサーバーと同期された状態に保たれます。

high-availability-mssql

3.セカンダリサーバーのネットワークシナリオ

PAM360のセカンダリサーバーアーキテクチャは、2つのネットワークシナリオをサポートしています。

シナリオ1

同一ネットワーク上のプライマリサーバーとセカンダリサーバー


このシナリオでは、プライマリサーバーとセカンダリサーバーの両方が同一ネットワーク内にホストされています。プライマリサーバーに障害が発生した場合、セカンダリサーバーがパスワードリセットを除く読み取り/書き込みの責任を引き継ぎます。

両方のサーバーは同じ場所に展開されています。プライマリサーバーがダウンした場合でも、ユーザーは同一ネットワーク内のセカンダリサーバーからパスワードを取得し、関連する操作を実行することができます。プライマリサーバーがアクティブになると、両サーバーのデータベース内のデータが同期されます。

シナリオ2

異なるネットワーク上のプライマリサーバーとセカンダリサーバー

このシナリオでは、プライマリサーバーとセカンダリサーバーは異なる地理的な場所にホストされており、WANリンクで接続されています。WANリンクに障害が発生した場合、セカンダリサーバーは(パスワードリセットを除く)読み取り/書き込みアクセスを提供することにより、自ネットワーク内のユーザーへのサービスを継続することができます。

プライマリサーバーが場所Aに、セカンダリサーバーが場所Bに配置されており、両者間のWANリンクに障害が発生した場合、両サーバーは独立して動作します。場所Bのユーザーはリンクが復旧するまでセカンダリサーバーにアクセスし、復旧後は両サーバーのデータベースが同期されます。




3.1 監査証跡の管理

どちらのシナリオにおいても、監査証跡は通常どおり記録されます。プライマリサーバーの障害中にユーザーがセカンダリサーバーにアクセスした場合、パスワードの取得、ログイン、ログアウトなどのアクションはセカンダリサーバーに記録されます。ネットワーク接続が復旧すると、プライマリサーバーとセカンダリサーバー間の監査データが同期されます。



4.PAM360を使用したレプリケーションによるセカンダリサーバーのセットアップ

メモ:

セカンダリサーバーの設定を進める前に、Application Gatewayが環境にデプロイされている場合は、セカンダリサーバーとして展開を計画しているサーバーにMicrosoft Visual C++ Redistributable for Visual Studio 2015以降がインストールされていることを確認してください。

high-availability-flow

4.1 PAM360を使用したレプリケーションの設定


メモ:

SQL Server Management Studioを使用したレプリケーションの設定については、このヘルプドキュメントを参照してください。

  1. PAM360プライマリサーバーを停止します。
  2. 次に、MS SQL セカンダリデータベースの SSL 証明書をプライマリサーバーにインポートします。セカンダリデータベースに SSL がまだ設定されていない場合は、このヘルプドキュメントを参照して設定してください。PAM360は、データベース間の安全な通信を確保するためにSSLを必要とします。SSL証明書をインポートするには、コマンドプロンプトを開き、<PAM360-Primary-Installation-Directory>/binフォルダに移動して、次のコマンドを実行します:
    importCert.bat <Absolute-Path-of-the-MS-SQL-Secondary-Database-SSL-Certificate>
  3. SSLcertificate がインポートされたら、pam360_key.key ファイルを開き、MASTERKEY の値をコピーします。この値は次の手順で使用します。SQLサーバーの統合時に推奨されたとおり、このキーを安全な場所に移動した場合は、次のステップで使用できるよう準備しておいてください。
    PAM360 のビルドが 8000 より前のバージョンを使用している場合は、<PAM360-Primary-Installation-Directory>/conf フォルダーに移動し、masterkey.key ファイルを開きます。このファイルからSQLマスターキーをコピーして、次のステップで使用します。SQLサーバーの統合時に推奨されたとおり、このキーを安全な場所に移動した場合は、次のステップで使用できるよう準備しておいてください。
  4. 次に、<PAM360-Primary-Installation-Directory>/bin フォルダーに再度移動し、ご使用のオペレーティングシステムに応じてレプリケーション設定スクリプト ConfigureReplication.bat または sh ConfigureReplication.sh を実行します。このコマンドは、プライマリデータベースとセカンダリデータベースのセキュアなレプリケーション設定ウィザードを起動します。
    config-replication

    メモ:

    PAM360 ビルド 8000 以降では、ConfigureReplication.bat --files-only(Windows の場合)または sh ConfigureReplication.sh --files-only(Linux の場合)を実行することで、データベースレプリケーションを行わずに SQLServerHAPack.zip を作成できます。

  5. Master Details の下に、以下の詳細を入力します:
    1. Master Host Name:プライマリデータベース用の MS SQL Server がインストールされているマシンの名前または IP アドレスを入力します。
    2. Instance Name:PAM360 が使用する SQL Server の名前付きインスタンスを指定します。インスタンス名が指定されていない場合、PAM360 はポート 1433 のデフォルトインスタンスへの接続を試みます。
      PAM360 は MS SQL に SSL モードでのみ接続するため、PAM360 専用の特定ポートで動作するデータベースインスタンスを作成することを推奨します。1433 以外のポート番号を指定する必要がある場合は、以下の形式でホスト名フィールドに含めてください:<hostname>:<port>
    3. User Name および Password:プライマリデータベースに接続するための SQL Server 認証情報を入力します。このユーザーには sysadmin SQL ロールが必要です。PAM360 はこれらの認証情報を保存せず、プライマリデータベースとセカンダリデータベース間のレプリケーション設定プロセス中にのみ使用されることに注意してください。
      Windows マシンから接続する場合は、Windows ログイン認証情報を使用することもできます。この場合、ログイン名を<domain-name>\<username>として入力します。
    4. Master Database:PAM360プライマリデータベースの名前を指定します。
    5. Master Key:前述の手順3でコピーしたSQLマスターキーを貼り付けます。
  6. Slave Detailsの下で、以下の情報を入力します:
    1. Slave Host Name:セカンダリデータベース用のMS SQL Serverがインストールされているマシンの名前またはIPアドレスを入力します。
    2. Instance Name:PAM360 が使用する SQL Server の名前付きインスタンスを指定します。インスタンス名が指定されていない場合、PAM360 はポート 1433 のデフォルトインスタンスへの接続を試みます。
      マスターデータベースと同様に、特定のポートでPAM360専用のデータベースインスタンスを作成することを推奨します。1433以外のポートを使用する場合は、以下の形式でホスト名フィールドに含めます:<hostname>:<port>
    3. Slave User Name および Password:セカンダリデータベースに接続するためのSQL Server認証情報を入力します。このユーザーには sysadmin SQL ロールが必要です。PAM360はこれらの認証情報を保存しないことにご注意ください。これらはプライマリデータベースとセカンダリデータベース間のレプリケーション設定プロセス中にのみ使用されます。
      Windowsマシンから接続している場合は、Windowsログイン認証情報も使用できます。この場合、ログイン名を<domain-name>\<username>として入力します。
    4. Slave Database:PAM360セカンダリデータベースの名前を入力します。デフォルトではpam360standbyです。プライマリサーバーのChangeDB.batを設定する際に暗号化キーカスタムオプションを選択した場合は、新しいセカンダリデータベースを作成する必要があります。さらに、AES 256暗号化を使用してマスターキー、証明書、および対称キーを作成し、ここにスレーブデータベース名を指定します。
  7. 「テスト」をクリックし、次に「設定」をクリックしてレプリケーションのセットアップを開始します。このプロセスは、環境によっては完了までに30分以上かかる場合があります。
  8. レプリケーションの設定が完了したら、プライマリサーバーを再起動します。

4.2 PAM360セカンダリサーバーの設定

  1. 「このサーバーを設定する」「High Availability Secondary Server」オプションとして選択し、セカンダリサーバーにPAM360アプリケーションをインストールします。

    メモ:

    インストール後、セカンダリサーバーでPAM360サービスを起動しないでください。

  2. 次に、ChangeDB.bat(Windows)またはChangeDB.sh(Linux)ファイルを編集して、セカンダリデータベースのSQLサーバーに関する詳細をPAM360セカンダリサーバーに入力します。そのためには、<PAM360-Secondary-Installation- Directory>/binフォルダに移動し、ChangeDB.bat(Windows)またはsh ChangeDB.sh(Linux)ファイルを実行します。開いたポップアップで、以下の値を入力します。
    1. サーバータイプをSQL Serverとして選択します。
    2. ホスト名:セカンダリデータベース用のMS SQLサーバーがインストールされているマシンの名前またはIPアドレスを入力します。
    3. インスタンス名:PAM360で使用するSQLサーバーの名前付きインスタンスを指定します。インスタンス名が指定されていない場合、PAM360はポート 1433でデフォルトのインスタンスとの接続を確立しようとします。

      メモ:

      PAM360 は SSL モードでのみ MS SQL に接続するため、PAM360 の特定のポートで実行される専用のデータベース インスタンスを作成することをお勧めします。1433以外のポート番号を指定する場合は、上記の[ホスト名]パラメーターで次のように指定できます:<hostname>:<port>

    4. データベース名:PAM360セカンダリデータベースの名前を入力します。レプリケーション設定時に指定したデータベース名と完全に一致していることを確認してください。
    5. 認証:SQLサーバーに接続する方法。WindowsからSQLサーバーに接続している場合は、Windowsを選択します。PAM360 サービスが SQL Serverに接続する権限を持つサービス アカウントで実行されている場合は、Windows シングル サインオン機能を利用します。それ以外の場合は、SQLオプションを選択します。

      メモ:

      認証に使用されるユーザー名とパスワードはどこにも保存されないため、Windowsオプションを選択することをお勧めします。

    6. ログイン名とパスワード:手順vでSQLオプションを選択した場合は、PAM360がデータベースに接続できるユーザー名とパスワードを指定します。

      メモ:

      • ここで入力したログイン名とパスワードは、PAM360のdatabase_params.confファイルに保存されます。したがって、ホストの強化に注意してください。
      • Windowsからデータベースに接続する場合は、Windowsのログイン認証情報を使用することもできます。この場合、ユーザー名を次のように入力する必要があります:<domain-name>\<username>
    7. 暗号化キー:データを暗号化してSQLサーバーに保存するためのキー。[デフォルト]のままにして、PAM360 がキーを生成できるようにすることもできます。プライマリデータベースをカスタムキーで設定した場合は、セカンダリデータベースでも「カスタム」を選択する必要があります。

      カスタムオプションを選択した場合は、次の手順を実行してください:

    8. インスタンスタイプ: インスタンスタイプとしてローカルインスタンスを選択して、DB変更設定を続行します。
    9. JDBCドライバ: このドライバは、MS SQL Serverデータベースとシームレスに統合します。Microsoft (推奨)は、このフィールドでデフォルトで選択されるドライバであり、最新のSQL Serverバージョンおよび機能と互換性があるため、ほとんどのインストールで推奨されます。代替のJDBCドライバとして選択可能なのはjTDSで、これは特定の互換性機能をサポートしています。
    10. 接続プロパティ: このチェックボックスを選択すると、次の形式でカスタム接続プロパティを指定できるようになります:key1=value1;key2=value2

      メモ:

      DB移行設定ウィンドウに表示されている既存のサーバー情報やプロパティ(SSLや暗号化など)は、カスタム接続プロパティとして追加することはできません。

    11. 最後に、「テスト」をクリックして接続設定が正しいことを確認し、その後「保存」をクリックします。

      db-change-conf

  3. PAM360のライセンス、カスタムアイコン、およびリブランディング設定をプライマリサーバーからセカンダリサーバーに転送するには、プライマリサーバーからSQLServerHAPack.zipファイルをコピーし、<PAM360-Secondary-Installation-Directory>に展開します。
  4. 次に、<PAM360-Secondary-Installation-Directory>/confフォルダー内のmanage_key.confファイルを編集して、暗号化キーの場所を指定します。PAM360は、起動時にpam360_key.keyファイルがフルパスでアクセス可能である必要があります。アプリケーションが正常に起動すると、キーは不要になり、キーファイルを含む装置をオフラインにすることができます。

    メモ:

    PAM360 ビルド 8000 以降では、シームレスな操作のために、manage_key.conf ファイルで指定されたファイル パスに pam360_key.key ファイルを保持することが必須です。PAM360 は、中断のない動作を確保するためにこのファイルに継続的にアクセスします。指定されたパスに pam360_key.key ファイルがない場合、サービスが起動しないか、データベース バックアップなどの特定の機能が動作しない可能性があります。

  5. 最後に、セカンダリサーバーを起動します。

5.セカンダリサーバーのセットアップの確認

セカンダリサーバーが正しく機能していることを確認するには、プライマリサーバーまたはセカンダリサーバーのいずれかで「管理」>「一般」>「セカンダリサーバー」に移動します。「高可用性ステータス:稼働中」というステータスメッセージが表示されると、セットアップが正常に機能していることが確認されます。