Azure SQL Database をバックエンド データベースとして構成

注意:本ドキュメントに掲載しているサードパーティー製品の画面上の項目名は、英語表記の場合があります。

PAM360には、デフォルトのバックエンドデータベースとしてPostgreSQLがバンドルされています。しかし、PostgreSQL、MS SQL(スタンドアロンおよびクラスター)、Azure SQLなどの代替データベースサーバーとの構成もサポートしています。このドキュメントでは、PAM360のインストール環境のバックエンドデータベースとしてAzure SQLを構成するための手順を段階的に説明します。

Azure Managed Instanceを使用して PAM360 データベースをセットアップする方法については、このドキュメントも参照してください。

本書では、次のトピックについて学びます:

  1. SSL証明書の作成とWindows証明書ストアでのインストール
  2. SSL証明書のPAM360へのインポート
  3. SSL暗号化のSQL Serverでの有効化
  4. PAM360でChangeDB.Batを実行

メモ:

高いセキュリティレベルを確保するため、PAM360はSQLサーバーへの接続をSSL経由でのみ行うように設定されています


1.SSL証明書を作成し、Windows証明書ストアにインストールする
(SQL Serverが稼働しているマシン上)

PAM360 を SQL Serverに接続する前に、SQL Server で SSL 暗号化を有効にする必要があります。そのためには、SSL証明書を作成し、認証局(CA)に署名してもらうか、自分で署名する必要があります。

1.1 証明書の生成と第三者認証局による署名

CA署名済みのSSL証明書をお持ちの場合は、手順4から証明書のインストールに直接進んでください。それ以外の場合は、以下の手順1~3に従って、新しいCA署名付き証明書を生成してインストールしてください。

  1. OpenSSLを使用して秘密鍵を生成するため、ターミナルで以下のコマンドを実行してください:
    openssl genrsa -des3 -out server.key 2048
    このコマンドは2048ビットのRSA秘密鍵を生成し、パスフレーズで保護された状態でserver.keyに保存します。
  2. 秘密鍵を使用して証明書署名要求(CSR)を作成します。この要求は、署名のために認証局(CA)に送信されます。次のコマンドを実行してください。
    openssl req -new -key server.key -out server.csr
    このプロセス中に、鍵のパスフレーズを入力し、共通名ホスト名、またはIPアドレスなどの情報を提供するよう求められます。ここで、共通名はSQLサーバーの完全修飾ドメイン名 (FQDN)である必要があります。
  3. 生成されたCSR(server.csr)を、VeriSignThawteRapidSSLなどの第三者認証局に送信して署名してもらいます。CSRの提出方法および署名プロセスの完了方法については、各認証局のドキュメントを参照してください。このサービスは通常有料です。
    数日後には、署名済みのSSL証明書と認証局のルート証明書が .cer ファイルとして届きます。
  4. MMCコンソールを使用して、SQLサーバーにサーバー証明書をインストールします:
    1. [Start]をクリックし、[Run]を選択します。RunダイアログボックスにMMCと入力し、Enterキーを押します。これにより、Microsoft 管理コンソール (MMC) が開きます。
    2. コンソールメニューからAdd/Remove Snap-inを選択します。
    3. Addをクリックし、次にCertificatesを選択して、もう一度Addをクリックします。
    4. プロンプトが表示されたら、Computer Accountの証明書を管理するオプションを選択してください。
    5. Manage User Certificates (Local Computer) >> Personal >> Certificatesに移動します。
    6. Certificatesを右クリックし、All Tasksを選択してから、Importをクリックします。
    7. 署名済みのサーバー証明書の保存場所を確認し、証明書を選択してインポート処理を完了してください。
      install-third-party
  5. 以下の手順に従って、PAM360にCAルート証明書をインストールしてください。
    1. CAのルート証明書を <PAM360 Installation Folder>\bin ディレクトリにコピーしてください。
    2. <PAM360 Installation Folder>\bin ディレクトリから、以下のコマンドを実行してください。
      importCert.bat <Absolute-Path-of-the-Certificate>
      <Absolute-Path-of-the-Certificate> を、コピーしたルート証明書ファイルの実際のパスに置き換えてください。このコマンドは、ルート証明書をPAM360証明書ストアに追加します。

1.2 PowerShell を使用した自己署名証明書の作成

自己署名証明書を作成して使用するには、SQL Serverがインストールされているマシンで以下の手順を実行します。

  1. SQL Serverに移動し、Powershellを開きます (管理者として実行)。
  2. 以下のコマンドを実行してください。このコマンドを実行すると、自己署名証明書がローカルストアにインストールされ、保存されます。
    New-SelfSignedCertificate -DnsName FQDN of the SQL server -CertStoreLocation cert:\LocalMachine\My

2.SSL証明書のPAM360へのインポート

証明書のインストールが完了したら、以下の手順に従ってサーバー証明書をPAM360証明書ストアにインポートしてください。

  1. サーバー証明書をコピーし、<PAM360 Installation Folder>/bin ディレクトリ配下に貼り付けてください。
  2. 以下のコマンドを実行してください。これにより、証明書がPAM360証明書ストアに追加されます。
    importCert.bat <Absolute-Path-of-the-Certificate>

3.SSL暗号化のSQL Serverでの有効化

  1. SQL Server が実行されているマシンで、[スタート]をクリックしてSQL Server Configuration Managerを開きます。
  2. 左側のパネルでSQL Server Network Configurationを展開し、構成するサーバーのProtocolsを右クリックしてPropertiesをクリックします。
  3. Certificateタブに移動し、指定した証明書を使用するようにデータベースエンジンを設定します。
  4. クライアントとサーバー間のすべての通信が暗号化されるようにするには、Force EncryptionYesに設定してください。この設定では、暗号化をサポートできないクライアントからのアクセスが拒否されます。これはセキュリティ上の推奨設定です。あるいは、暗号化をクライアントアプリケーション側で要求するようにしたい場合は、Force EncryptionNoに設定することもできます。これは暗号化されていない通信につながる可能性があるため、推奨されません。
  5. 変更を適用するには、SQL Serverを再起動してください。
    forced-encryption-new1

    forced-encryption-new2

詳細については、Microsoftのナレッジベース記事にあるSQL ServerのSSL構成セクションを参照してください。

4.PAM360でChangeDB.Batを実行

ChangeDB.batまたはChangeDB.shファイルを実行して、SQLサーバーの詳細情報をPAM360に提供してください。設定プロセスを完了するには、以下の手順に従ってください。

  1. <PAM360 Installation Folder>/bin フォルダに移動し、ChangeDB.bat または sh ChangeDB.sh を実行してください。
  2. ポップアップウィンドウが開いたら、'Open the best practices document'ボタンをクリックして、まずBest Practices Guideをお読みください。データベース変更の設定を進めるには、'Continue with setup'ボタンをクリックしてください。
  3. 表示されたウィンドウに、以下の詳細を入力してください。
    1. Server TypeとしてSQL Serverを選択してください。
    2. Host Name:MS SQLサーバーがインストールされているマシンの名前またはIPアドレス。
    3. Instance Name:PAM360で使用するSQLサーバーの名前付きインスタンスを指定します。インスタンス名が指定されていない場合、PAM360はポート 1433でデフォルトのインスタンスとの接続を確立しようとします。

      メモ:

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

    4. Database Name:PAM360データベースの名前を入力してください。データベース名が指定されていない場合、PassTrixによってデフォルト値が提供されます。別のデータベース名が必要な場合は、ここで指定してください。PAM360 は、マスターキー、対称キーなどの作成を処理します。
    5. Authentication:SQLサーバーに接続する方法。WindowsからSQLサーバーに接続している場合は、Windowsを選択します。PAM360 サービスが SQL サーバーに接続する権限を持つサービス アカウントで実行されている場合は、Windows シングル サインオン機能を利用します。それ以外の場合は、SQLオプションを選択します。

      メモ:

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

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

      メモ:

      • ここに入力したUser NameとPasswordは、PAM360のdatabase_params.confファイルに保存されます。したがって、ホストの強化に注意してください。
      • Windowsからデータベースに接続する場合は、Windowsのログイン認証情報を使用することもできます。この場合、User Nameを次のように入力する必要があります:<domain-name>\<username>
    7. Encryption Key:データを暗号化してSQLサーバーに保存するためのキー。[Default]のままにして、PAM360 がキーを生成できるようにすることもできます。カスタムキーが必要な場合は、[Custom]オプションを選択します。
    8. Customオプションを選択した場合は、以下の操作を実行してください。

  4. Certificate NameSymmetric Key NameをGUIに入力します。
  5. Instance Type: PAM360では、バックエンドデータベースとしてLocal Instance(オンプレミス)とAzure SQLの両方を使用できます。ここで、インスタンスタイプとしてAzure SQLを選択して、データベース変更構成を続行してください。
  6. JDBC Driver: このドライバは、MS SQL Serverデータベースとシームレスに統合します。Microsoft (推奨)は、このフィールドでデフォルトで選択されるドライバであり、最新のSQL Serverバージョンおよび機能と互換性があるため、ほとんどのインストールで推奨されます。代替のJDBCドライバとして選択可能なのはjTDSで、これは特定の互換性機能をサポートしています。
  7. Connection Properties: このチェックボックスを選択すると、次の形式でカスタム接続プロパティを指定できるようになります:key1=value1;key2=value2

    メモ:

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

  8. 最後に、Testをクリックして接続設定が正しいことを確認し、その後Saveをクリックします。
    db-change-conf-azure

メモ:

上記の手順を実行したら、<PAM360 Installation Folder>/conf ディレクトリに移動し、masterkey.key ファイルを安全な場所に移動します。SQL Serverは、階層的な暗号化とキー管理インフラストラクチャを使用してデータを暗号化します。各レイヤーは、証明書、非対称キー、および対称鍵の組み合わせを使用して、その下のレイヤーを暗号化します。その1つがデータベースマスターキーであり、これはサービスマスターキーとパスワードによって作成されます。このパスワードは、PAM360内の <PAM360 Installation Folder>/conf ディレクトリにある masterkey.key というファイルに保存されています。Masterkey.keyファイルを安全な場所に移動することを強くお勧めします。これは、データのセキュリティを確保するためです。このキーを安全に保つように注意してください。高可用性とディザスタリカバリを実行するときに必要になります。このキーを紛失した場合は、MS SQL/Azure MS SQL Serverセットアップをすべて構成し直す必要があります。

Azure MS SQL における暗号化とキー管理の詳細については、こちらの MSDN ドキュメントを参照してください。