Azure SQL Database をバックエンド データベースとして構成
注意:本ドキュメントに掲載しているサードパーティー製品の画面上の項目名は、英語表記の場合があります。
PAM360には、デフォルトのバックエンドデータベースとしてPostgreSQLがバンドルされています。しかし、PostgreSQL、MS SQL(スタンドアロンおよびクラスター)、Azure SQLなどの代替データベースサーバーとの構成もサポートしています。このドキュメントでは、PAM360のインストール環境のバックエンドデータベースとしてAzure SQLを構成するための手順を段階的に説明します。
Azure Managed Instanceを使用して PAM360 データベースをセットアップする方法については、このドキュメントも参照してください。
本書では、次のトピックについて学びます:
メモ:
高いセキュリティレベルを確保するため、PAM360はSQLサーバーへの接続をSSL経由でのみ行うように設定されています。
1.SSL証明書を作成し、Windows証明書ストアにインストールする
(SQL Serverが稼働しているマシン上)
PAM360 を SQL Serverに接続する前に、SQL Server で SSL 暗号化を有効にする必要があります。そのためには、SSL証明書を作成し、認証局(CA)に署名してもらうか、自分で署名する必要があります。
1.1 証明書の生成と第三者認証局による署名
CA署名済みのSSL証明書をお持ちの場合は、手順4から証明書のインストールに直接進んでください。それ以外の場合は、以下の手順1~3に従って、新しいCA署名付き証明書を生成してインストールしてください。
- OpenSSLを使用して秘密鍵を生成するため、ターミナルで以下のコマンドを実行してください:
このコマンドは2048ビットのRSA秘密鍵を生成し、パスフレーズで保護された状態でserver.keyに保存します。openssl genrsa -des3 -out server.key 2048
- 秘密鍵を使用して証明書署名要求(CSR)を作成します。この要求は、署名のために認証局(CA)に送信されます。次のコマンドを実行してください。
このプロセス中に、鍵のパスフレーズを入力し、共通名、ホスト名、またはIPアドレスなどの情報を提供するよう求められます。ここで、共通名はSQLサーバーの完全修飾ドメイン名 (FQDN)である必要があります。openssl req -new -key server.key -out server.csr
- 生成されたCSR(server.csr)を、VeriSign、Thawte、RapidSSLなどの第三者認証局に送信して署名してもらいます。CSRの提出方法および署名プロセスの完了方法については、各認証局のドキュメントを参照してください。このサービスは通常有料です。
数日後には、署名済みのSSL証明書と認証局のルート証明書が .cer ファイルとして届きます。 - MMCコンソールを使用して、SQLサーバーにサーバー証明書をインストールします:
- [Start]をクリックし、[Run]を選択します。RunダイアログボックスにMMCと入力し、Enterキーを押します。これにより、Microsoft 管理コンソール (MMC) が開きます。
- コンソールメニューからAdd/Remove Snap-inを選択します。
- Addをクリックし、次にCertificatesを選択して、もう一度Addをクリックします。
- プロンプトが表示されたら、Computer Accountの証明書を管理するオプションを選択してください。
- Manage User Certificates (Local Computer) >> Personal >> Certificatesに移動します。
- Certificatesを右クリックし、All Tasksを選択してから、Importをクリックします。
- 署名済みのサーバー証明書の保存場所を確認し、証明書を選択してインポート処理を完了してください。
- 以下の手順に従って、PAM360にCAルート証明書をインストールしてください。
- CAのルート証明書を <PAM360 Installation Folder>\bin ディレクトリにコピーしてください。
- <PAM360 Installation Folder>\bin ディレクトリから、以下のコマンドを実行してください。
<Absolute-Path-of-the-Certificate> を、コピーしたルート証明書ファイルの実際のパスに置き換えてください。このコマンドは、ルート証明書をPAM360証明書ストアに追加します。importCert.bat <Absolute-Path-of-the-Certificate>
1.2 PowerShell を使用した自己署名証明書の作成
自己署名証明書を作成して使用するには、SQL Serverがインストールされているマシンで以下の手順を実行します。
- SQL Serverに移動し、Powershellを開きます (管理者として実行)。
- 以下のコマンドを実行してください。このコマンドを実行すると、自己署名証明書がローカルストアにインストールされ、保存されます。
New-SelfSignedCertificate -DnsName FQDN of the SQL server -CertStoreLocation cert:\LocalMachine\My
2.SSL証明書のPAM360へのインポート
証明書のインストールが完了したら、以下の手順に従ってサーバー証明書をPAM360証明書ストアにインポートしてください。
- サーバー証明書をコピーし、<PAM360 Installation Folder>/bin ディレクトリ配下に貼り付けてください。
- 以下のコマンドを実行してください。これにより、証明書がPAM360証明書ストアに追加されます。
importCert.bat <Absolute-Path-of-the-Certificate>
3.SSL暗号化のSQL Serverでの有効化
- SQL Server が実行されているマシンで、[スタート]をクリックしてSQL Server Configuration Managerを開きます。
- 左側のパネルでSQL Server Network Configurationを展開し、構成するサーバーのProtocolsを右クリックしてPropertiesをクリックします。
- Certificateタブに移動し、指定した証明書を使用するようにデータベースエンジンを設定します。
- クライアントとサーバー間のすべての通信が暗号化されるようにするには、Force EncryptionをYesに設定してください。この設定では、暗号化をサポートできないクライアントからのアクセスが拒否されます。これはセキュリティ上の推奨設定です。あるいは、暗号化をクライアントアプリケーション側で要求するようにしたい場合は、Force EncryptionをNoに設定することもできます。これは暗号化されていない通信につながる可能性があるため、推奨されません。
- 変更を適用するには、SQL Serverを再起動してください。
詳細については、Microsoftのナレッジベース記事にあるSQL ServerのSSL構成セクションを参照してください。
4.PAM360でChangeDB.Batを実行
ChangeDB.batまたはChangeDB.shファイルを実行して、SQLサーバーの詳細情報をPAM360に提供してください。設定プロセスを完了するには、以下の手順に従ってください。
- <PAM360 Installation Folder>/bin フォルダに移動し、ChangeDB.bat または sh ChangeDB.sh を実行してください。
- ポップアップウィンドウが開いたら、'Open the best practices document'ボタンをクリックして、まずBest Practices Guideをお読みください。データベース変更の設定を進めるには、'Continue with setup'ボタンをクリックしてください。
- 表示されたウィンドウに、以下の詳細を入力してください。
- Server TypeとしてSQL Serverを選択してください。
- Host Name:MS SQLサーバーがインストールされているマシンの名前またはIPアドレス。
- Instance Name:PAM360で使用するSQLサーバーの名前付きインスタンスを指定します。インスタンス名が指定されていない場合、PAM360はポート
1433でデフォルトのインスタンスとの接続を確立しようとします。
メモ:
PAM360 は SSL モードでのみ MS SQL に接続するため、PAM360 の特定のポートで実行される専用のデータベース インスタンスを作成することをお勧めします。1433以外のポート番号を指定する場合は、上記の[ホスト名]パラメーターで次のように指定できます:<hostname>:<port>。
- Database Name:PAM360データベースの名前を入力してください。データベース名が指定されていない場合、PassTrixによってデフォルト値が提供されます。別のデータベース名が必要な場合は、ここで指定してください。PAM360 は、マスターキー、対称キーなどの作成を処理します。
- Authentication:SQLサーバーに接続する方法。WindowsからSQLサーバーに接続している場合は、Windowsを選択します。PAM360
サービスが SQL サーバーに接続する権限を持つサービス アカウントで実行されている場合は、Windows シングル
サインオン機能を利用します。それ以外の場合は、SQLオプションを選択します。
メモ:
認証に使用されるユーザー名とパスワードはどこにも保存されないため、Windowsオプションを選択することをお勧めします。
- User Name and Password:手順vでSQLオプションを選択した場合は、PAM360がデータベースに接続できるユーザー名とパスワードを指定します。
メモ:
- ここに入力したUser NameとPasswordは、PAM360のdatabase_params.confファイルに保存されます。したがって、ホストの強化に注意してください。
- Windowsからデータベースに接続する場合は、Windowsのログイン認証情報を使用することもできます。この場合、User Nameを次のように入力する必要があります:<domain-name>\<username>。
- Encryption Key:データを暗号化してSQLサーバーに保存するためのキー。[Default]のままにして、PAM360 がキーを生成できるようにすることもできます。カスタムキーが必要な場合は、[Custom]オプションを選択します。
Customオプションを選択した場合は、以下の操作を実行してください。
- データベースの作成 - 詳細については、https://learn.microsoft.com/en-us/sql/relational-databases/databases/create-a-database?view=sql-server-ver16 を参照してください
- マスターキーの作成 - 詳細については、https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/create-a-database-master-key?view=sql-server-ver16 を参照してください
- 対称鍵の作成 - 詳細については、https://learn.microsoft.com/en-us/sql/t-sql/statements/create-symmetric-key-transact-sql?view=sql-server-ver16 を参照してください
- Certificate NameとSymmetric Key NameをGUIに入力します。
- Instance Type: PAM360では、バックエンドデータベースとしてLocal Instance(オンプレミス)とAzure SQLの両方を使用できます。ここで、インスタンスタイプとしてAzure SQLを選択して、データベース変更構成を続行してください。
- JDBC Driver: このドライバは、MS SQL Serverデータベースとシームレスに統合します。Microsoft (推奨)は、このフィールドでデフォルトで選択されるドライバであり、最新のSQL Serverバージョンおよび機能と互換性があるため、ほとんどのインストールで推奨されます。代替のJDBCドライバとして選択可能なのはjTDSで、これは特定の互換性機能をサポートしています。
- Connection Properties:
このチェックボックスを選択すると、次の形式でカスタム接続プロパティを指定できるようになります:key1=value1;key2=value2。
メモ:
DB移行設定ウィンドウに表示されている既存のサーバー情報やプロパティ(SSLや暗号化など)は、カスタム接続プロパティとして追加することはできません。
- 最後に、Testをクリックして接続設定が正しいことを確認し、その後Saveをクリックします。
メモ:
上記の手順を実行したら、<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 ドキュメントを参照してください。



