結論:まずこれだけ覚える
コンポーネントの可視性は、Lightning App Builderで配置したコンポーネントを、条件に応じて表示または非表示にする機能です。レコードの項目値、閲覧ユーザーのプロファイルや権限、利用端末などを条件にできます。 同じプロファイルのユーザーを権限セットの違いで出し分けたい場合は、対象の権限セットにカスタム権限を含め、そのカスタム権限を可視性条件に使用します。ただし、可視性は画面表示を調整する機能であり、データへのアクセス権限を制限するセキュリティ機能ではありません。
コンポーネントの可視性とは
Lightning App Builderで、レコードページ、アプリケーションページ、ホームページに配置したコンポーネントへ表示条件を設定する仕組みです。標準コンポーネント、カスタムコンポーネント、AppExchangeのコンポーネントに適用できます。 フィルタを設定しない場合、コンポーネントは通常どおり表示されます。1つ以上のフィルタを設定した場合、指定した条件とフィルタロジックを満たすまでコンポーネントは非表示になります。
ページレイアウトの割り当てとの違い
ページレイアウトは、主にプロファイルとレコードタイプの組み合わせに基づいて割り当てます。そのため、同じプロファイルを共有するユーザーを、権限セットの違いだけで別々のページレイアウトへ振り分けることはできません。 コンポーネントの可視性を使うと、同じLightningレコードページを使用したまま、関連リストやリッチテキストなどのコンポーネント単位で表示を切り替えられます。
| 比較項目 | ページレイアウトの割り当て | コンポーネントの可視性 |
|---|---|---|
| 主な制御対象 | 項目、関連リスト、ボタンなどのレイアウト | Lightningページ上の個々のコンポーネント |
| 主な判定単位 | プロファイルとレコードタイプ | レコード項目、ユーザー、権限、端末などのフィルタ |
| 同じプロファイル内の出し分け | 権限セットの違いだけでは不可 | 権限やカスタム権限を条件にして対応可能 |
可視性フィルタで使える主な条件
ページの種類によって利用できる条件は異なりますが、主に次の条件を使用できます。
- レコードの項目値
- 関連オブジェクトやユーザーなどの項目
- 閲覧ユーザーのプロファイル
- 標準権限またはカスタム権限
- デバイスの種類 レコードページではレコード項目を条件にできます。オブジェクトに関連付かないアプリケーションページやホームページでは、ユーザー、ユーザー権限、デバイスなどのコンテキストが中心になります。
権限セットごとに表示を分ける方法
権限セットの名前そのものではなく、権限セットを通じて付与したカスタム権限を判定条件にします。
- 表示対象を表すカスタム権限を作成する。
- そのカスタム権限を対象チーム用の権限セットまたは権限セットグループに含める。
- 対象ユーザーへ権限セットまたは権限セットグループを割り当てる。
- Lightning App Builderで対象コンポーネントを選択する。
- [コンポーネントの可視性]で、対象のカスタム権限が真であることを条件にする。
- ページを保存して有効化し、対象ユーザーと対象外ユーザーの両方で確認する。 カスタム権限は、標準のオブジェクト権限や項目権限では表せない独自の処理・機能へのアクセス判定を定義し、プロファイルまたは権限セットを通じてユーザーへ付与する仕組みです。
セキュリティ上の注意
コンポーネントを非表示にしても、その背後にあるレコードや項目へのアクセス権限は失われません。値はレポート、ダッシュボード、リストビューなど別の場所から見える場合があります。 データそのものを保護する場合は、次の仕組みを使用します。
- オブジェクト権限
- 項目レベルセキュリティ
- 組織の共有設定、ロール階層、共有ルール、手動共有などのレコード共有 可視性フィルタで参照する項目へユーザーがアクセスできない場合、その条件は偽として評価されます。表示条件に使用する項目のアクセス権も確認してください。
試験での判別ポイント
- 「同じプロファイルだが、特定のユーザー群だけコンポーネントを表示する」なら、コンポーネントの可視性を検討する。
- 「特定の権限セットを持つユーザーだけ表示する」なら、カスタム権限を権限セットに含め、可視性条件で判定する。
- 「データ自体を閲覧できないようにする」なら、コンポーネントの可視性ではなく、権限や共有を設定する。
出典(Salesforce公式)
- Visibility Rules on Lightning Pages — Lightningページ上のコンポーネントにフィルタ条件とロジックを設定できること、レコード項目、ユーザー、ユーザー権限、デバイスなどを条件にできることを裏付けます。
- Add Visibility Rules for Dynamic Pages — 条件未設定時の表示動作、複数条件のフィルタロジック、プロファイル・権限・端末に基づく可視性制御を裏付けます。
- Custom Permissions — カスタム権限を独自機能のアクセス判定として定義し、プロファイルまたは権限セットを通じてユーザーへ付与できることを裏付けます。
- Lightning components are not visible if their visibility is set via custom permissions — カスタム権限をプロファイルまたは権限セットで付与し、Lightningコンポーネントの可視性条件に使用する構成がサポートされることを示すSalesforce公式の解決済みKnown Issueです。
- Lightning Page Visibility Rule Considerations and Limitations — 可視性ルールで非表示にしても項目データへのアクセスは失われず、可視性は項目レベルセキュリティの代替ではないこと、および条件項目へアクセスできない場合の評価を裏付けます。