スケールされた環境でAPI認証キーを設定する

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

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

適用対象

xDB処理、xDB Reporting and Content Management。

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

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

Azure Toolkit

セキュリティキーはARMテンプレートに入力される際にデフォルトで設定されます。

スケールアップされたSitecore環境でサーバー間の安全な通信を確保するために、クライアントからの各リクエストはxDB ReportingサーバーとxDB Processingサーバーで認証されなければなりません。例えば、リモートのReporting Serverと通信する必要があるContent Managementサーバー上などです。スケール環境では、認証された当事者のみがリモートサーバー上のデータにアクセスできます。

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

各サーバーでは、認証プロセス中に使用できるAPI認証キーを入力する必要があります。リクエストを成功裏に認証するには、キーが同一でなければなりません。例えば、レポートサーバーのキーはコンテンツ管理サーバーに保存されたキーと一致していなければ、レポートからデータを正常に取得できません。

communication-between-cm-and-reporting1.png

サーバー認証プロセスは以下の通りです:

  • Content Managementクライアントは Sitecore.Analytics.Commons.ApiKeyHttpTransportFactory クラスを使ってレポートサーバーからデータを要求します。
  • レポーティングサーバーがリクエストを受信すると、 ApiKeyReportDataProvider クラスはHTTPヘッダーのAPI認証キーがレポーティングサーバーに保存されているものと一致しているか(大文字を区別して)チェックします。
  • 2つのキーが一致すれば、リクエストの処理を継続でき、データが取得されてContent Managementクライアントに返送されます。
  • 認証キーが一致しない場合、サーバーは403(禁止)ステータスコードを返します。

!重要ウェブサイト全体でHTTPSを使用してください。 Sitecore.Xdb.Remote.Client.configファイルでは、RequireHttpsがデフォルトで有効で、すべての本番環境で有効にしておくべきです。HTTPは本番サーバーには十分に安全ではなく、ローカルテストや開発インスタンスでのみ使用すべきです。

オプション#1

以下の節では、Content ManagementとProcessing and Reportingサーバー間でAPI認証キーを設定する方法について説明します。この場合、ProcessingとReportingは同じ認証キーを使用します。

Content Managementサーバー上で

Content ManagementサーバーでAPI認証キーを設定するには:

  1. Content ManagementサーバーでWebsite\App_Configフォルダに移動し、ConnectionString.configファイルを開いてください。

  2. ConnectionStrings.configファイルでreporting.apikey接続文字列を見つけ、ASCII文字列をキーとして入力します(デフォルト最小32文字)。キーは数字やテキストの組み合わせでいくつも構いません。

    例えば:

    !重要選択した文字列は、Sitecore.Xdb.Remote.Client.configファイルの属性で指定された最小のAPIキー長MinimalApiKeyLength準拠しなければなりません。

処理および報告サーバーについて

処理および報告サーバーでAPI認証鍵を設定するには:

  1. 処理サーバーとレポートサーバーでは、 Website\App_Config フォルダに移動して ConnectionStrings.config ファイルを開きます。
  2. ConnectionStrings.configファイルにreporting.apikey接続文字列を追加します。キーはContent Managementサーバーと一致しなければなりません。

オプション#2

以下のセクションでは、Content Management and ProcessingとContent Management and Reportingの間で異なるAPI認証キーを設定する方法について説明します。

Content Managementサーバー上で

Content Managementサーバー、または処理サーバーからデータ要求を行っている他のサーバー上で:

  1. Sitecore.Xdb.Remote.Client.configファイル内で次のセクションを見つけ、connectionStringNameパラメータを新しい値に設定します。例えば、processing.apikey:

    /~/v81/processing/reportingstoragemanager/ processing.apikey X-Processing-Api-Key 32
  2. ConnectionStrings.configファイルに2つのAPI認証キーを追加します:

    例えば:

処理サーバー上で

処理サーバーでAPI認証鍵を設定するには:

  1. Sitecore.Xdb.Remote.Client.configファイル内で、以下のセクションを見つけて、示す通りconnectionStringNameパラメータを更新してください。

    X-Processing-Api-Key processing.apikey
  2. ConnectionStrings.configファイルに新しいAPI認証キーを追加します:

  3. もし存在する場合はreporting.apikeyファイルからConnectionStrings.configファイルから削除してください。

レポーティングサーバーで

レポートサーバーでAPI認証キーを設定するには:

  • ConnectionStrings.configファイルに新しいAPI認証キーを追加します:

オプション構成

オプションContent Managementサーバー構成

以下の表は、必要に応じて後で調整可能なSitecore.Xdb.Remote.Client.configファイルのデフォルトパラメータ設定を示しています。処理およびレポート用のパラメータ設定を異なる設定で設定できます。

パラメータ

概要

ServiceUrl

すべてのリクエストで使うサービスホストURLです。報告サーバーのホスト名が変わった場合はこれを更新してください。

ConnectionStringName

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

ヘッダー名

リクエストに含めるヘッダーの名前。両方のサーバーで同じヘッダー名を使いましょう。例えば、X-Reporting-Api-Keyなどです。

最小ApiKeyLength

これはAPI認証キーの最小鍵長を指定します。短すぎるとリクエストは送信されません。長い鍵の方が安全です。

RequireHttps

ブールスイッチはデフォルトで「true」に設定されています。本番環境では必ずHTTPSを使いましょう。もし「true」に設定されていて、そのスキーマが HTTPSでなければ例外が発生します。

これらの構成パラメータはSitecore.Xdb.Remote.Client.configファイルの以下のセクションに記載されています。

reporting.apikey X-Reporting-Api-Key 32 /~/v75/reporting/remotedatasourceproxy/ /~/v81/processing/reportingstoragemanager/ reporting.apikey X-Processing-Api-Key 32

オプションの報告サーバー設定

レポーティングサーバーでは、Sitecore.Analytics.Reporting.ApiKeyReportDataProviderは Sitecore.Xdb.Remote.Server.configファイルの設定セクションで定義されています。Sitecore.Xdb.Remote.Server.configファイルには以下のデフォルトパラメータが含まれています:

パラメータ

概要

ConnectionStringName

正しいAPI認証キーを含む接続文字列の名前(これはリクエストを行っているサーバーのキーと一致するはずです)。

ヘッダー名

受信サーバーリクエストで確認するためのヘッダーの名前。

これらの構成パラメータはSitecore.Xdb.Remote.Client.configファイルの以下のセクションに記載されています。

X-Reporting-Api-Key reporting.apikey

オプションのプロセッシングサーバー構成

パラメータ

概要

ConnectionStringName

正しいAPI認証キーを含む接続文字列の名前(これはリクエストを行っているサーバーのキーと一致するはずです)。

ヘッダー名

受信サーバーリクエストで確認するためのヘッダーの名前。

X-Processing-Api-Key processing.apikey
この記事を改善するための提案がある場合は、 お知らせください!