スケールされた環境でAPI認証キーを設定する
このページの翻訳は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認証キーを入力する必要があります。リクエストを成功裏に認証するには、キーが同一でなければなりません。例えば、レポートサーバーのキーはコンテンツ管理サーバーに保存されたキーと一致していなければ、レポートからデータを正常に取得できません。

サーバー認証プロセスは以下の通りです:
- 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認証キーを設定するには:
-
Content ManagementサーバーでWebsite\App_Configフォルダに移動し、ConnectionString.configファイルを開いてください。
-
ConnectionStrings.configファイルでreporting.apikey接続文字列を見つけ、ASCII文字列をキーとして入力します(デフォルト最小32文字)。キーは数字やテキストの組み合わせでいくつも構いません。
例えば:
!重要選択した文字列は、Sitecore.Xdb.Remote.Client.configファイルの属性で指定された最小のAPIキー長MinimalApiKeyLength準拠しなければなりません。
処理および報告サーバーについて
処理および報告サーバーでAPI認証鍵を設定するには:
- 処理サーバーとレポートサーバーでは、 Website\App_Config フォルダに移動して ConnectionStrings.config ファイルを開きます。
- ConnectionStrings.configファイルにreporting.apikey接続文字列を追加します。キーはContent Managementサーバーと一致しなければなりません。
オプション#2
以下のセクションでは、Content Management and ProcessingとContent Management and Reportingの間で異なるAPI認証キーを設定する方法について説明します。
Content Managementサーバー上で
Content Managementサーバー、または処理サーバーからデータ要求を行っている他のサーバー上で:
-
Sitecore.Xdb.Remote.Client.configファイル内で次のセクションを見つけ、connectionStringNameパラメータを新しい値に設定します。例えば、processing.apikey:
/~/v81/processing/reportingstoragemanager/ processing.apikey X-Processing-Api-Key 32 -
ConnectionStrings.configファイルに2つのAPI認証キーを追加します:
例えば:
処理サーバー上で
処理サーバーでAPI認証鍵を設定するには:
-
Sitecore.Xdb.Remote.Client.configファイル内で、以下のセクションを見つけて、示す通りconnectionStringNameパラメータを更新してください。
X-Processing-Api-Key processing.apikey -
ConnectionStrings.configファイルに新しいAPI認証キーを追加します:
-
もし存在する場合は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ファイルの以下のセクションに記載されています。
オプションの報告サーバー設定
レポーティングサーバーでは、Sitecore.Analytics.Reporting.ApiKeyReportDataProviderは Sitecore.Xdb.Remote.Server.configファイルの
パラメータ
概要
ConnectionStringName
正しいAPI認証キーを含む接続文字列の名前(これはリクエストを行っているサーバーのキーと一致するはずです)。
ヘッダー名
受信サーバーリクエストで確認するためのヘッダーの名前。
これらの構成パラメータはSitecore.Xdb.Remote.Client.configファイルの以下のセクションに記載されています。
オプションのプロセッシングサーバー構成
パラメータ
概要
ConnectionStringName
正しいAPI認証キーを含む接続文字列の名前(これはリクエストを行っているサーバーのキーと一致するはずです)。
ヘッダー名
受信サーバーリクエストで確認するためのヘッダーの名前。