本記事では項目レベルセキュリティの基本と、設定において意味がとりづらい「参照可能」と「参照のみ」の違い、そして設定方法を詳しく解説しています。
項目レベルセキュリティとは
Salesforceにおける項目レベルセキュリティは、特定のユーザーが特定の項目を表示または変更することを制御する機能です。このセキュリティ設定により、ユーザーに必要な情報のみを表示させることが可能になります。例えば、重要な販売データや個人情報を特定の役割のユーザーのみが閲覧・編集できるように設定することができます。
以下は、右側の「対象の項目」に対してプロファイル別に項目レベルセキュリティを適用している様子を図で例示したものです。項目レベルセキュリティは、閲覧のみか、閲覧&編集可能、閲覧も編集もNGの3つのうちいずれかを選択することが出来ます。また、項目レベルセキュリティは、プロファイルだけでなく権限セット単位でも設定することが出来ます。
機能としては非常にシンプルなのですが、思った挙動をさせるためには、やや理解しづらい部分があります。それを以下で詳しく解説していきます。
項目レベルセキュリティ「参照可能」と「参照のみ」の違い
まず、日本語の問題でわかりづらいのが項目レベルセキュリティの「参照可能」と「参照のみ」の違いです。
下図は項目レベルセキュリティの設定画面です。一つの項目に対して、プロファイルごとに項目レベルセキュリティを設定できる仕様になっています。
先ほど項目レベルセキュリティは「閲覧のみか、閲覧&編集可能、閲覧も編集もNGの3つ」の中から選択できるとお伝えしました。しかし設定画面ではそのような表記にはなっていません。ご自身で読み替える必要があります。
読み替えパターンは以下の通りです。
- 設定画面の「参照可能がtrue」「参照のみがfalse」⇒閲覧も編集も可能(参照可能で、かつ参照のみではないよ、つまり編集も出来るよ、という考え方)
- 設定画面の「参照可能がtrue」「参照のみがtrue」⇒閲覧のみ可能(参照は可能なうえで、参照のみという考え方)
- 設定画面の「参照可能がfalse」「参照のみがfalse」⇒閲覧も編集もNG
- 設定画面の「参照可能がfalse」「参照のみがtrue」⇒参照のみをtrueにすると参照可能も自動でtrueにチェックされるためこのパターンは無い
項目レベルセキュリティとページレイアウトからの項目制御の優先順位
Salesforceの設定経験のある方であれば、項目の「編集可否」の設定はページレイアウトからも行えることをご存知だと思います。
例えば、項目レベルセキュリティで編集可能な項目に対して、ページレイアウトで編集不可にした場合、どちらが優先されるでしょうか?
答えは、制限が厳しい方のアクセス設定が適用されます。つまり、上記の例ではページレイアウトが優先され、編集不可となります。
また、以下の場合はユーザーがレコードを保存できなくなってしまうのかな、と思ったのですが、試してみたところ保存は出来ました。ただし必須入力させたい意図を持っているのに入力させられないので、要注意です。
例:項目レベルセキュリティでは参照のみになっているが、ページレイアウトでは必須になっている。
項目レベルセキュリティの設定方法
項目レベルセキュリティを設定する方法は、以下の3つがあります。
- オブジェクトマネージャーの項目から
- 権限セットから
- プロファイルから
これ以外にもマニアックな手法としてデータローダーで一括更新も可能ですが、本記事では上記3点の設定について解説します。
オブジェクトマネージャーの項目から項目レベルセキュリティを設定する
オブジェクトマネージャーから「項目とリレーション」そして、項目レベルセキュリティを設定したい項目を選択します。
項目の編集画面が開きますので、「項目レベルセキュリティの設定」を押下します。
『項目レベルセキュリティ「参照可能」と「参照のみ」の違い』で解説したように、プロファイルごとにチェックボックスを操作すれば完了です。
権限セットから項目レベルセキュリティを設定する
編集したい権限セットを開きます。オブジェクト設定を押します。
「ctrl+f」でオブジェクト名で検索します。該当のオブジェクトを選択します。
以下の赤枠部分で項目レベルセキュリティを設定します。チェックボックスの名称が項目から設定する場合とは若干違います。
項目から設定する場合と比較するとこっちの方がわかりやすいですね。参照だけさせたい場合には参照アクセス権をtrueに。編集をさせたい場合には編集アクセス権をtrueにすればOKということなので、見たまんまです。
プロファイルから設定する場合
編集したいプロファイルを開きます。「ctrl+f」で「項目レベル」と入れると以下の箇所に飛びます。オブジェクトを選択します。
以下の通り、項目レベルセキュリティを編集する画面が開きます。true,falseの考え方は権限セットと同様です。
まとめ
項目レベルセキュリティについて詳しく解説しました。この機能を活用することで、ユーザーは自分に適切な権限に制限された状態でデータを扱うことができるため、誤操作のリスクを減らし、効率的な作業が可能になります。
データ保護とユーザーエクスペリエンスを高めるために、項目レベルセキュリティを使いこなしていきましょう!