接続文字列のパスワードを不正アクセスから保護する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecoreは、パスワードをApp_Config\ConnectionStrings.configファイルに格納します。このファイルを暗号化して、ファイルが許可なくアクセスされた場合にパスワードが公開されないようにすることをお勧めします。
このトピックは、xConnect Search IndexerとSitecore Cortex Processingサービスを除くすべてのCoreロールとXP Serviceロールに適用されます。
この手順は、Sitecore 9.2以前とのみ互換性があります。Sitecore 9.3以降で接続文字列を暗号化する場合、またはMicrosoft ASP.NET RegIISライブラリで問題が発生した場合は、Microsoftに問い合わせることをお勧めします。
接続文字列のパスワードを保護するには、次のようにします。
-
次のPowerShellコマンドを実行して、ASP.NET IIS登録ツール (aspnet_regiis) を見つけます。
RequestResponseGet-ChildItem C:\Windows\Microsoft.net\ -Recurse aspnet_regiis.exe | select FullName
このコマンドでは、おそらくツールの複数のバージョンが検索されます。最新バージョンを選択する必要があります。
RequestResponseFullName -------- C:\Windows\Microsoft.net\Framework\v2.0.50727\aspnet_regiis.exe C:\Windows\Microsoft.net\Framework\v4.0.30319\aspnet_regiis.exe C:\Windows\Microsoft.net\Framework64\v2.0.50727\aspnet_regiis.exe C:\Windows\Microsoft.net\Framework64\v4.0.30319\aspnet_regiis.exe
-
aspnet_regiisツールを -pefオプションと共に使用して、接続文字列を暗号化します。
RequestResponseC:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -pef "connectionStrings" "C:\inetpub\wwwroot\YOUR_WEBSITE_FOLDER"
大事なWebサイトフォルダへのパスをバックスラッシュ(C:\inetpub\wwwroot\YOUR_WEBSITE_FOLDER\など)で終わらせると、aspnet_regiisツールが失敗するため、使用しないでください。
パスワードを復号化する場合は、-pefオプションを次のように変更してPowerShellコマンドを繰り返すことができます-pdf
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -pdf "connectionStrings" "C:\inetpub\wwwroot\YOUR_WEBSITE_FOLDER"
connectionStrings.configファイルは、Sitecoreをインストールする各コンピューターで個別に暗号化する必要があります。aspnet_regiisツールの詳細については、ASP.NET IIS登録ツールに関するMicrosoftドキュメントを参照してください。
Azure PAAS App Service環境でconnectionstrings.configファイルを暗号化する
PaaS環境では、未加工の接続文字列値をAppService接続文字列セクションに移動することで、接続文字列の値を保護できます。
Kuduを使用してPAASデプロイの接続文字列をセキュリティで保護するには:
-
App Serviceに移動し、Development Toolsをクリックし、Advanced Tools.
-
クリックDebug console、Powershell、site/wwwroot/App_configに移動してConnectionStrings.configファイルを開きます。
-
ConnectionStrings.configファイルで、データベース接続文字列から値を切り取り、Saveをクリックします。たとえば、core、master、security、webの値を削除します。
-
App Serviceを開き、Settings、Configurationに移動し、Connection stringsセクションでNew connection stringをクリックします。必要なすべてのデータベースの接続文字列を追加し、OKをクリックします。
-
Saveをクリックして変更を適用します。