1. セキュリティと管理

スケーリングされた環境のサーバーでセキュリティ キーを構成する

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

適用対象

xDBレポートとコンテンツ管理。

Sitecoreインストールフレームワーク

セキュリティキーはデフォルトでは設定されていません

Azure ツールキット

セキュリティ キーは、ARMテンプレートに入力されるときに既定で構成されます。

スケーリングされたSitecore環境でサーバー間の安全な通信を確保するには、クライアントからの各要求をReporting Serviceサーバーで認証する必要があります。たとえば、リモートのReporting Serviceサーバーと通信する必要があるコンテンツ管理サーバーなどです。スケーリングされた環境では、認証されたパーティのみがリモート サーバー上のデータにアクセスできます。

サーバー要求ごとに、Sitecore.Analytics.Commons.ApiKeyHttpTransportFactoryクラスは要求されたページにカスタムHTTPヘッダーを追加します。ヘッダーには、ConnectionStrings.configファイルに保存されているAPI認証キーが含まれています。

メモ

API認証キーは、Sitecore 8.2 Update 1以降で必要です。

各サーバーで、認証プロセス中に使用できるAPI認証キーを入力する必要があります。要求を正常に認証するには、キーが同一である必要があります。たとえば、Reporting Serviceサーバーからデータを正常に取得するには、Reporting Serviceサーバー上のキーがコンテンツ管理サーバーに格納されているキーと一致する必要があります。

サーバー認証プロセスは次のとおりです。

  • コンテンツ管理クライアントは、Sitecore.Analytics.Commons.ApiKeyHttpTransportFactoryクラスを使用してReporting Serviceサーバーにデータを要求します。

  • Reporting Serviceサーバーが要求を受信すると、ApiKeyReportDataProviderはHTTPヘッダーのAPI認証キーがReporting Serviceサーバーに格納されているものと一致することを確認します (大文字と小文字が区別されます)。

  • 2つのキーが一致すると、要求の処理を続行し、データが取得され、コンテンツ管理クライアントに送り返すことができます。

  • 認証キーが一致しない場合、サーバーは403 (禁止) ステータス コードで応答します。

大事な

ウェブサイト全体でHTTPSを使用します。 Sitecore.Xdb.Remote.Client.configファイルでは、RequireHttpsはデフォルトで有効になっており、すべての実稼働環境で有効にしたままにしておく必要があります。HTTPは運用サーバーに対して十分な安全性がないため、ローカルのテスト インスタンスまたは開発インスタンスでのみ使用する必要があります。

このトピックでは、次の内容について説明します。

API認証キーの構成

API認証キーを設定するには:

  1. Reporting Serviceサーバーからのデータ要求を行うサーバー・インスタンス (コンテンツ管理サーバーなど) にAPI認証キーを追加します。コンテンツ管理サーバーで、Website\App_Configフォルダに移動し、ConnectionString.configファイルを開きます。

  2. ConnectionStrings.configファイルで、reporting.apikey接続文字列を検索し、キーとして使用するASCII文字列を入力します (デフォルトの最小長は32文字)。キーは、数字またはテキストの任意の組み合わせにすることができます。

  3. 例えば:

    <add name="reporting.apikey" connectionString="67588d50667e47e0a02cb919185f7c30"/>
  4. 選択する文字列は、Sitecore.Xdb.Remote.Client.configファイルのMinimalApiKeyLength属性で指定されているAPIキーの最小長に準拠している必要があります。

  5. 要求を受信するサーバー (Reporting Serviceサーバーなど) に同じキーを追加します。 ConnectionStrings.configファイルにAPI認証キーを入力して、同じプロセスを繰り返します。

コンテンツ管理サーバーの構成

専用のコンテンツ管理サーバーを設定する場合は、Sitecore.Xdb.Remote.Client.configファイルも有効にする必要があります。次の表は、このファイルのデフォルトのパラメータ設定を示しています。この設定は、必要に応じて後で調整できます。

Parameter

Description

ServiceUrl

すべての要求で使用するサービスホストのURL。レポートサーバーのホスト名が変更された場合は、これを更新してください。

ConnectionStringName

API認証キーを含む接続文字列の名前。

HeaderName

要求に含めるヘッダーの名前。両方のサーバーで同じヘッダー名を使用します。たとえば、X-Reporting-Api-Key.

MinimalApiKeyLength

これにより、API認証キーのキーの最小長が指定されます。短すぎると、リクエストは送信されません。キーが長いほど安全です。

RequireHttps

ブール スイッチはデフォルトで "true" に設定されています。本番環境では、常にHTTPSを使用してください。「true" に設定されていて、<paramref name="serviceHostUrl"/> のスキーマがHTTPSでない場合は、例外がスローされます。

これらの構成パラメーターは、Sitecore.Xdb.Remote.Client.configファイルの次のセクションに表示されます。

<httpTransportFactory type="Sitecore.Analytics.Commons.ApiKeyHttpTransportFactory, Sitecore.Analytics" singleInstance="true">    
      <param desc="serviceUrl"></param>     
      <param desc="requireHttps" type="System.Boolean" factoryMethod="Parse" arg0="true" />      
      <param desc="connectionStringName">reporting.apikey</param>      
<!-- The same header name must be defined in Sitecore.Xdb.Remote.Server.config for reporting.-->      
      <param desc="headerName">X-Reporting-Api-Key</param>      
      <param desc="minimalApiKeyLength">32</param>    
</httpTransportFactory>

Reporting Serviceサーバーの構成

Reporting Serviceサーバーでは、Sitecore.Analytics.Reporting.ApiKeyReportDataProviderSitecore.Xdb.Remote.Server.configファイルの <dataProvider> 構成セクションで定義されます。Sitecore.Xdb.Remote.Server.configファイルには、次のデフォルトパラメータが含まれています。

Parameter

Description

ConnectionStringName

正しいAPI認証キーを含む接続文字列の名前 (これは、要求を行うサーバーのキーと一致する必要があります)。

HeaderName

受信サーバー要求をチェックインするヘッダーの名前。

これらの構成パラメーターは、Sitecore.Xdb.Remote.Server.configファイルの次のセクションに表示されます。

<dataProvider type="Sitecore.Analytics.Reporting.ReportDataProvider, Sitecore.Analytics" singleInstance="true" cacheEnabled="false">
      <patch:attribute name="type">Sitecore.Analytics.Reporting.ApiKeyReportDataProvider, Sitecore.Analytics</patch:attribute>
<!-- The same header name must be defined in Sitecore.Xdb.Remote.Client.config for CM instance.-->
      <param desc="headerName">X-Reporting-Api-Key</param>
      <param desc="connectionStringName">reporting.apikey</param>
</dataProvider>
この記事を改善するための提案がある場合は、 お知らせください!