【必読】なぜ今、Aura ではなく LWR を選ぶべきなのか?

【共有セット完全ガイド】ロールがなくても大丈夫!Customer Community ユーザーにレコードを共有する唯一の方法

A high-quality 3D digital editorial illustration representing the concept of secure data connectivity and "matching" in a cloud-based portal. On the left side, a stylized holographic avatar of a person represents a digital user. On the right side, floating translucent geometric cubes contain icons of documents and gear wheels, representing data records like cases and orders. In the center, a glowing, crystalline architectural icon representing a shared corporate entity acts as a bridge. Vibrant lines of light emerge from both the user and the data records, meeting and locking into the central hub like matching puzzle pieces. The color palette features deep navy, neon cyan, and electric violet, creating a professional, high-tech atmosphere that symbolizes seamless access through shared attributes in a secure digital ecosystem. ビルダー・設定

この記事はバージョン Winter ’26 において執筆しています。
現在の動作と異なる場合がありますので、ご認識おきください。

Experience Cloud サイトを構築していて、こんなトラブルに遭遇したことはありませんか?

「ポータルユーザー(Customer Community ライセンス)に、自分が作成したケースや注文を見せたいのに、権限エラーで見えない」 「組織の共有ルール設定で『公開』にしているのに、外部ユーザーには適用されない」

焦ってプロファイル設定を見直したり、共有ルールを量産したりしても解決しません。なぜなら、Customer Community ライセンスのユーザーには「ロール(Role)」が存在しないからです。

DXforce Point

「Customer Community Plus」との混同に注意

「外部ユーザーを作ると、取引先ロールが作られるよね?」と思った方は、おそらく Customer Community Plus ライセンスの経験がある方です。

  • Plus / Partner: ロールが作られます。だから「共有ルール」が使えます。
  • 標準 Community: ロールは作られません(UserRoleId は空です)。だから「共有セット」しか使えないのです。本記事はこちらの解説です。

ロールがなければ、通常の共有ルールは機能しません。そこで登場するのが、外部ユーザー専用の強力な共有機能、「共有セット (Sharing Set)」 です。 この記事では、複雑に見える「アクセスマッピング」を直感的に理解・設定するための極意をお伝えしつつ、ロールを持たない「標準 Community ライセンス」を救済するための機能、共有セットについて解説します。

LWRって何?どんなメリットがあるの?
そんな疑問を解決するにはまずは以下の記事をご覧ください。
Salesforce LWRとは? Experience Cloudの次世代ランタイムを徹底解説

なぜ「共有ルール」ではダメなのか

Salesforceのセキュリティモデルに慣れている人ほど、この罠にハマります。 通常、レコードのアクセス権は「ロール階層」や「共有ルール」で制御しますが、これらは「ユーザーがロールを持っていること」が前提です。

しかし、最も安価で一般的な Customer Community ライセンス には、ロールがありません。 つまり、いくら「○○ロールの人に共有」というルールを作っても、対象外になってしまうのです。

そこでSalesforceが用意した代替手段が「共有セット」です。これは「階層」ではなく「マッチング(紐付け)」でアクセス権を決定します。

共有セットの仕組み:魔法の合言葉は「共通点」

共有セットの考え方は非常にシンプルです。
「ユーザー」と「レコード」の間に、「共通点」があるなら見せてよし。 これだけです。

最も典型的な共通点は 「取引先 (Account)」 です。

  • 取引先責任): Aさんは、「株式会社〇〇」に所属している(取引先責任者経由)。
  • レコード: その注文データは、「株式会社〇〇」に紐付いている。
  • 判定: 両方とも「株式会社〇〇」だ! → アクセス許可

これを図解すると以下のようになります。

この「共通の親(取引先や取引先責任者)」を介してアクセス権を与えるのが共有セットの正体です。

設定手順:アクセスマッピングを極める

それでは、実際に設定してみましょう。 シナリオは「ユーザーに、自分の会社(取引先)に紐付く『ケース(問い合わせ)』を見せたい」です。

  1. [設定] > [デジタルエクスペリエンス] > [設定] を開きます。
  2. 「共有セット」セクションまでスクロールし、[新規] をクリックします。
  3. プロファイルの選択:
    • このルールを適用するプロファイル(例: Customer Community User)を選択します。
  4. オブジェクトの選択:
    • 共有したいオブジェクト(今回は ケース)を選択します。
  5. アクセスの設定(最重要):
    • ここで「共通点」を定義します。
    • ユーザー: User.Account(ユーザーの取引先)
    • ターゲットケース: Case.Account(ケースの取引先)
    • これらが 一致する (Matches) ように設定します。
  6. アクセスレベル: 「参照のみ」または「参照・更新」を選択します。

これで、「自分の会社のケース」が全て見えるようになります。

よくあるユースケースとマッピング例

実務で頻出するパターンのマッピング設定をまとめました。迷った時の「辞書」としてお使いください。

見せたいもの共通点(キー)設定内容
(ユーザー = ターゲット)
自分の会社の注文取引先 (Account)User.Account = Order.Account
自分宛てのカスタム通知取引先責任者 (Contact)User.Contact = CustomNotification__c.Contact__c
親会社の全データ親取引先 (Parent Account)User.Account.Parent = Order.Account
DXforce Point

親の親までは辿れない

共有セットのマッピングで辿れるリレーションには制限があります(ドット記法で1つ先まで)。 「親会社の、そのまた親会社のデータ」といった複雑な要件がある場合は、共有セットでは対応できません。その時は、コストをかけて Customer Community Plus ライセンス(ロールが使える) へのアップグレードを検討すべきタイミングです。

【開発者への注意点】LWCとレコードアクセス

LWC開発者の方へ。

@wire や Apex でデータを取得しようとして「データが返ってこない」場合、コードのバグを疑う前に、まず「テストユーザーに共有セットが当たっているか」を確認してください。

  • Apex: without sharing を付ければ強制的に取得できますが、セキュリティレビューやガバナンスの観点から、外部ユーザー向けサイトでは with sharing が推奨されます。
  • LWC: 標準の lightning-record-form などは、共有セットの権限に厳格に従います。

「コードは正しいのに動かない」原因の9割は、この共有セット適用の漏れです。

まとめ

Customer Community ライセンスを使う限り、共有セットは避けて通れません。

  • ロール階層の代わりに 「共通点(取引先など)」 で繋ぐ。
  • 「誰に(プロファイル)」「何を(オブジェクト)」「どうやって(マッピング)」 見せるかを定義する。

この仕組みさえ理解すれば、安価なライセンスでもセキュアで高機能なポータルサイトを構築できます。 ぜひ、検証環境で実際に設定し、「見えた!」という瞬間を体験してみてください。

参考URL

Experience Cloud サイトユーザー用の共有セットの作成

DXforceの管理人

福島 瑛二

2013年にJavaエンジニアとしてのキャリアをスタート。2019年にSalesforceと出会い、Salesforceエンジニアの道へ。

デザインや UI/UX の観点からもシステムを捉え、ユーザーにとって心地よい体験を実装することにやりがいを感じています。

CRM(顧客データ)や Data Cloud と連携した高度なサイトを目に見える形で表現できる Experience Cloud に大きな可能性を見出しており、バックエンドのデータ構造とフロントエンドの表現力を極めることがこれからの Salesforce エンジニアに求められるスキルだと確信しています。

Trailblazer: efukushima

福島 瑛二をフォローする

読者の声

タイトルとURLをコピーしました
DXforce 案内エージェント