プリザンター1.5以降でDBにSQL Serverを使用する際の接続文字列についての注意事項
概要¶
プリザンター1.5以降で使用する.NET 10から、SQL Serverへの接続時にTLS証明書検証がデフォルトで有効化されました。
この変更により、接続先のSQL Serverが有効なTLS証明書を提示しない場合、接続に失敗する可能性があります。プリザンター1.4以前で使用する.NET 8は、TLS証明書検証がデフォルトで無効化されていたため、証明書未設定のSQL Serverに対して接続できましたが、プリザンター1.5以降では以下の対応が必要です。
対応方法¶
- SQL ServerにTLS証明書を設定する
- 接続文字列にTrustServerCertificate=true;を追加する
このページでは、TLS証明書の設定をすぐに行えないユーザ向けに、2.の方法を説明します。
操作手順¶
1.Rds.jsonで設定している場合¶
編集前のRds.json(該当部分のみ)¶
"SaConnectionString": "Server=(local);Database=master;UID=sa;PWD={※1};Connection Timeout=30;",
"OwnerConnectionString": "Server=(local);Database=#ServiceName#;UID=#ServiceName#_Owner;PWD={※2};Connection Timeout=30;",
"UserConnectionString": "Server=(local);Database=#ServiceName#;UID=#ServiceName#_User;PWD={※3};Connection Timeout=30;",
編集後のRds.json(該当部分のみ)¶
"SaConnectionString": "Server=(local);Database=master;UID=sa;PWD={※1};Connection Timeout=30;TrustServerCertificate=true;",
"OwnerConnectionString": "Server=(local);Database=#ServiceName#;UID=#ServiceName#_Owner;PWD={※2};Connection Timeout=30;TrustServerCertificate=true;",
"UserConnectionString": "Server=(local);Database=#ServiceName#;UID=#ServiceName#_User;PWD={※3};Connection Timeout=30;TrustServerCertificate=true;",
{※1} SAアカウントのパスワード
{※2}、{※3} 任意のパスワード
2. システム環境変数で設定している場合¶
以下の各システム変数の値の末尾へ「TrustServerCertificate=true;」を追加してください。
- Implem.Pleasanter_Rds_SQLServer_OwnerConnectionString
- Implem.Pleasanter_Rds_SQLServer_SaConnectionString
- Implem.Pleasanter_Rds_SQLServer_UserConnectionString
TrustServerCertificate=true;を追記することの意味¶
接続文字列にTrustServerCertificate=true;を追記すると、クライアント側ではSQL Serverのサーバ証明書のチェーンを検証せずに(該当サーバ証明書を信頼して)、(暗号化以外の異常がある場合を除き)接続は必ず成功します。
サーバ証明書を導入していない場合、中間者攻撃などに対して無力になる可能性があり、使用は
- ローカルサーバ
- 開発用サーバ
など限定的な範囲に留めるべきとされています。
マイクロソフト社のドキュメントを併せて確認してください。
関連情報¶
インストール¶
- インストーラでプリザンターをWindowsにインストールする
- プリザンターをWindowsにインストールする
- プリザンターをWindows Server 2025にインストールする
- プリザンターをWindows Server 2022にインストールする
- プリザンターをWindows Server 2019にインストールする
- プリザンターをWindows Server 2016にインストールする
- プリザンターをWindows 11にインストールする
