---
title: "SXA Storefrontのセキュリティドメイン"
slug: "security-domains-in-sxa-storefront"
abstract: "自分で構築したストアフロントでセキュリティドメインを設定する方法や、サーバー間でドメインを複製する方法についても教えてください。"
---
# SXA Storefrontのセキュリティドメイン

各店舗はデフォルトで独自の [セキュリティドメイン](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/security-domains.html) を持ち、登録顧客は他の店舗で自動的に認証されません。複数の店舗を管理している場合、登録顧客が1つの店舗にログインして購入できる場合、管理する他の店舗ではログインできません。登録顧客がどの店舗にもログインできるようにするには、すべての店舗で同じセキュリティドメインを使用する必要があります。

デフォルトでは、商取引サイトを作成すると、サイト名と同じローカル管理のセキュリティドメインが作成され、Sitecore\\App\_Config\\Securityフォルダ内のDomains.configファイルにこれらの変更を保存します。これにより、登録済み顧客はストアフロントサイトにログインできます。最初は、ドメインはスキャフォールディングが実行されるContent Management (CM)インスタンスでのみ作成されます。ドメインがライブサイトで有効になるには、Content Delivery(CD)インスタンスでも設定する必要があります。

CDサーバーインスタンスがCMインスタンスと分離されるスケール環境では、新しいドメインはSitecoreのすべてのCDおよびCMインスタンスに複製しなければなりません。

Commerce ConnectはSitecore.Commerce.Providers.DomainProviderインターフェースを定義します。SXA StorefrontはSXA Storefront基盤層にこのプロバイダーインターフェースの実装を含んでいます。ドメインプロバイダーは使用中のセキュリティドメイン名をCommerce ConnectとCommerceに返Connect API呼び出しごとにドメイン名を外部コマースシステムに渡します。

> !警告すでに顧客アカウントを持つサイトのセキュリティドメインを変更すると、アカウントのドメインを更新しない限り、顧客はサイトへのアクセスを失います。

## サイト用のセキュリティドメインを設定する

コンテンツエディターの */sitecore/Content///Settings/Site Grouping/* 項目で、サイトに使用するセキュリティドメインの名前を設定できます:

![The Domain field](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/102/sitecore-experience-commerce/images/CXA_CE_Storefront_Domain.png)

> !注Sitecore 9.2以前は、Sitecoreインスタンス間でのセキュリティドメインの複製は手動作業でした。 newCxaSiteCreatedパイプラインの導入により、これはサイト作成の一環として自動的に行われています。 [サイト作成パイプラインは](https://doc.sitecore.com/xp/ja/developers/102/sitecore-experience-commerce/customize-the-site-creation-pipeline.html "Customize the site creation pipeline") 、独自のカスタムプロセッサを含めるようにカスタマイズ可能です。

新しいセキュリティドメインを設定した後は、[それをCommerce Engine環境の設定に追加する必要があります。](https://doc.sitecore.com/xp/ja/developers/102/sitecore-experience-commerce/security-domains-in-sxa-storefront.html#UUID-cedbe99d-45c4-e0df-4337-2f13b4f421a7_section-idm4480052173891231524907385138 "Add a new security domain to the Commerce Engine environment policy")

## Commerce Engine環境ポリシーに新しいセキュリティドメインを追加

新しいストアフロントセキュリティドメインを作成する際は、適切なCommerce Engine環境ポリシー.jsonファイルにそのドメインをCustomerPropertiesPolicyに追加しなければなりません。これは顧客が新しいストアフロントサイトでアカウントを正常に登録するために必要です。すべてのCommerce環境の環境ポリシー.jsonファイルを更新する必要があります。

CustomerPropertiesPolicyポリシーにセキュリティドメインを追加するには:

1.  DevOpsロールを実行しているCommerce Engineのインスタンスでは、フォルダC:\\inetpub\\wwwroot\\<CommerceEngineInstance>\\wwwroot\\data\\Environmentsに移動し、新しいストアフロントの*Shops*環境のポリシーファイルを開きます。例えば、デフォルトのSitecore Commerce展開では、これはC:\\inetpub\\wwwroot\\CommerceShops\_Sc9\\wwwroot\\data\\Environments\\PlugIn.Habitat.CommerceShops-1.0.0.jsonです。
    
2.  CustomerPropertiesPolicyセクションで"Domains"ブロックを見つけ、新しいセキュリティドメインを追加します。以下は、Commerce Engine SDKより)サンプルのCommerceデプロイに含まれるデフォルトのセキュリティドメインを含む構成例を示しています。
    
    "$type": "Sitecore.Commerce.Plugin.Customers.CustomerPropertiesPolicy, Sitecore.Commerce.Plugin.Customers",
     "PreviewProperties": {
     "DetailsProperties": {
     "AddressDetailsProperties": {
     "Domains": 
     "Storefront",
     "extranet",
     "CommerceUsers"
     "YOUR\_NEW\_SECURITY\_DOMAIN"
    
    > !注セキュリティドメインの名前は大文字大文字に区別され、ストアフロントサイトの名前と正確に一致しなければなりません。セキュリティドメイン名とサイト名の不一致がある場合、顧客はストアフロントサイトに登録できません。
    
3.  [ステップ2](https://doc.sitecore.com/xp/ja/developers/102/sitecore-experience-commerce/security-domains-in-sxa-storefront.html#UUID-cedbe99d-45c4-e0df-4337-2f13b4f421a7_N1576261239263 "Step 2")を繰り返して、新しいサイトに属するすべての環境のファイル.json更新します。例えば*、オーサリング*環境や*ミニオン*環境も含まれます。
    
4.  Postmanを使って[Commerce Engineを起動](https://doc.sitecore.com/xp/ja/developers/102/sitecore-experience-commerce/bootstrap-the-commerce-engine.html "Bootstrap the Commerce Engine") し、変更をグローバルデータベースに適用してください。