いつも Salesforce をご利用いただきまして誠にありがとうございます。
Salesforce B2C Commerce 🛒 サポートの盛です。
本日は、下記でご紹介の B2C Commerce 24.8 リリースにおける注文への不正アクセスのブロックについてお知らせします。
https://help.salesforce.com/s/articleView?id=sf.b2c_rn_order_allow_list.htm&language=ja&type=5
B2C Commerce では、注文への不正なアクセスを制限する機能があります。
注文への不正なアクセスと見なされる条件について、Controller 上の OrderMgr.getOrder() などによる注文取得処理において、以下の両方に合致する場合に注文への不正なアクセスと見なされます。
- 取得対象の注文を行った顧客と、現在のストアフロントのセッションの顧客が一致しない場合(つまり、他人の注文データである場合)
- 取得対象の注文のステータスが「CREATED (作成済み)」以外の場合
アクセスの制限は、「Business Manager | サイト環境設定 | 注文」の「ストアフロント注文アクセスを制限する」設定項目にて設定ができます。
これまで、こちらの設定は、「はい」か「いいえ」のみでした。
設定の意味合いは下記の通りです。
- はい: 注文への不正なアクセスが発生した場合、 SecurityException が発生する
- いいえ: 注文への不正なアクセスが発生しても SecurityException は発生しない
SecurityException が発生した場合は注文アクセスは防止され、スクリプトの動作は中断されます。
セキュリティの観点では「はい」が推奨する設定値になりますが、この度、「許可リスト」機能が使用可能となりました。
「許可リスト」の設定を行った場合、許可リストに入っていない Controller で注文への不正なアクセスが発生した場合に、SecurityException が発生するようになりました。
ストアフロント注文アクセスの制限は現時点では必須の設定ではないため、現在「いいえ」としている場合、必ずしも「はい」や「許可リスト」に設定変更しなければならない、ということはございません。
今後、注文への不正なアクセスを抑制したい場合は、以下の方針で進めることをおすすめします。
- サンドボックスで、「ストアフロント注文アクセスを制限する」を「許可リスト」とする。
- 注文アクセスが発生するストアフロントの操作をサンドボックスで検証する。
- 不正な注文アクセスが検知されますと、「マーチャントツール > サイト環境設定 > 注文」画面上部に許可リストに追加する対象の Controller がアラートとして表示されます。
- アラートが表示されたコントローラーについて、安全なアクセスを行うようコードの修正するか、許可リストにコントローラを追加して対応します。
- サンドボックスで十分に検証を行ったら、本番環境にコードと許可リストの設定を展開し、「ストアフロント注文アクセスを制限する」を「許可リスト」とします。
- 「ストアフロント注文アクセスを制限する」設定のデータレプリケーションの項目は、対象サイトの「システム環境設定」です。
- 注文への不正なアクセスが検知されたら「マーチャントツール > サイト環境設定 > 注文」画面上部に許可リストに追加する対象の Controller がアラートとして表示されます。
- 対象の Controller が検知されたら許可リストに追加しつつ、サンドボックスで必要に応じて修正を行い、十分に検証を行ったのち、本番環境に適用します。
この他の詳細につきましては、以下の文書もご参照下さい。
ストアフロント注文アクセスを制限するための許可リストに関するよくある質問 (FAQ)
弊社では、今後もお客様のデータの保護について、製品の改善に努めてまいります。
引き続き Salesforce をよろしくお願い申し上げます。