みなさん、Salesforceのアクセス権には自信がありますか?
基本的なところは理解できていても、自信をもって理解していると答えられる方は少ないと思います。
アクセス権の誤った設定により、一般社員の方が他の従業員の給与データや面接者の履歴書を閲覧できてしまういった重大な事故につながることがあります。
全体像が理解できれば、設定自体は難しいものではないので、アクセス権の仕組みを理解し、安全で柔軟性があるシステムを構築しましょう!
1. Salesforceにおけるアクセス権の種類
Salesforceのアクセス権は大きく分けて下記の3つの設定があります。
1. オブジェクト権限
- 取引先や商談、その他カスタムオブジェクトへのCRUD(作成(Create)、読み出し(Read)、更新(Update)、削除(Delete))を設定
2. 項目レベルセキュリティ
- オブジェクトの各項目のアクセス権を設定
3. レコードへのアクセス権
- オブジェクトの各レコード単位でのアクセス権を設定
これらの機能を組み合わせて設定することにより、例えば一般職の営業ユーザに自身の所属するチームの商談だけを見せ、金額に関わる項目は参照はできるが編集はできない、といった複雑な条件の実現が可能です。
2. オブジェクトのアクセス権
オブジェクトのアクセス権は、主に下記の2つの機能を利用します。
1. プロファイル
- 1ユーザに必ず1つ設定が必要で、オブジェクトのアクセス権のベースとなります。
2. 権限セット/ミュート権限セット
- 1ユーザに複数設定することができ、設定しないことも可能です。プロファイルをベースとしてアクセス権を追加/除外できます。また権限セットグループを利用することで、複数の権限セットを1つにまとめ、ユーザに付与することも可能です。
プロファイルの設定画面
プロファイルの設定値について
表の理解のポイントは下記の通りです。
- 【参照】、【編集】、【削除】にチェックがついていても、レコードのアクセス権がないと操作ができない
- 【参照】、【作成】、【編集】、【削除】にチェックがついていない場合、レコードのアクセス権に関わらず操作ができない
- 【すべて表示】、【すべて変更】にチェックがついている場合、レコードのアクセス権を無視して操作可能
3. 項目レベルセキュリティ
項目レベルセキュリティは各オブジェクトの項目ごとに設定が可能で、各項目×プロファイル別にアクセス権の設定ができます。
設定画面の日本語がわかりづらいですが、参照可能は「編集が可能」、参照のみは「閲覧のみ可能」です。
注意事項としては下記の3点に気を付けてください。
- 項目レベルセキュリティはレコードの条件により変更することができない
- レコードの条件により表示や編集権限を変える場合には、入力規則やページレイアウトを利用する必要がある
- 項目レベルセキュリティを使わずに、ページレイアウトのみで設定を行う場合、データローダやレポート、リストビューから直接編集ができてしまう
特段の理由がない限りは、項目のアクセス権は項目レベルセキュリティにて設定を行うようにしましょう。
項目レベルセキュリティの設定画面
ぺージレイアウトの設定画面
4. レコードへのアクセス権
最後に一番複雑なレコードのアクセス権について説明します。
レコードのアクセス権は下記の4つの機能を利用して設定をします。
- 組織の共有設定
- ロール設定
- 共有ルール
- 手動共有
レコードのアクセス権は「組織の共有設定」から「手動共有」にかけて広げることしかできず、権限を絞ることはできません。
例)100人の社員に対して95人には商談を見せたいが、5人の社員には見せたくない場合
- 組織の共有設定で商談の共有を非公開にする
- ロール設定や共有ルールにより権限を狭めることはできない
この点をしっかりと理解しておくことで、この後の説明が頭に入りやすくなりますので、しっかりと抑えておいてください。
組織の共有設定
組織のベースの設定としてオブジェクトごとの参照/編集権を設定します。
ただし、レコードの所有者はフルアクセス権(参照/編集/削除)を持つため、組織の共有に関わらずレコードの操作が可能な点に注意してください。
共有設定画面
主な設定値としては下記の通りです。前述の説明の通り非公開とした場合でもロールや共有ルールにより拡張が可能です。
- 非公開:所有者以外アクセス不可
- 公開/参照のみ:
- 公開/参照・更新可能:
ロール階層の設定
ロール階層は組織の共有設定にて、階層を使用したアクセス許可にチェックをいれることで利用可能です。
ロールは1ユーザに1つ割り当てることが可能です。上位の階層のロールに所属するユーザに、下位の階層のユーザが所持するレコードのアクセス権を付与します。
共有ルール
各オブジェクトごとに、共有の対象者やアクセス権のレベル(参照/編集)等、細かい条件を指定することが可能です。
共有設定画面
ルールタイプ:【レコード所有者に基づく】か【条件に基づく】を指定
- レコード所有者に基づく:レコードの所有者により共有
- 条件に基づく:レコードの項目の値により共有
1. ルールタイプを【レコード所有者に基づく】を選択した場合の設定
- 共有するレコード:共有を行う条件を指定(公開グループ、ロール)
- 共有先のユーザ::共有先のユーザを選択(公開グループ、ロール)
- ユーザのアクセスレベル:参照のみ/参照・更新
2. ルールタイプを【条件に基づく】を選択した場合の設定
- 共有するレコード:共有を行う条件を指定 (例:項目ベースが特定の値、数値が〇〇以上の時に共有)※複数の項目に対してAND、OR等の条件を組み合わせて設定が可能
- 共有先のユーザ::共有先のユーザを選択(公開グループ、ロール)
- ユーザのアクセスレベル:参照のみ/参照・更新
手動共有
手動共有は名前の通り、都度手動で共有を行う機能です。
事前の細かい設定は必要なく、ページレイアウトから共有ボタンを配置するだけで利用できます。
最後に
いかがでしたでしょうか。
アクセス権を正しく理解することで、より柔軟でセキュアなシステムの構築が実現可能になります。
この記事を参考に実際に手を動かして設定をすることで、より理解が深まりますよ!
サンブリッジでは、「こういうことってできないの?」といった相談から設定作業の代行まで必要な時に依頼できる運用保守や技術支援サービスを提供しています。
「既存の環境を改修したいが対応できる人がいない」「もっとSalesforceを活用したいがどの機能から手を付けてよいかわからない」などお困りの際はまずサンブリッジにご相談ください!
本記事が皆様の運用の参考になれば幸いです。
Salesforce導入・活用支援のご案内
サンブリッジが提供するSalesforce導入・活用支援サービスは、お客様の現状の業務用件や目指すゴールをヒアリングし、システム設計から実装までを行います。
導入後のトレーニングまでを含むきめ細やかなサービスを一貫して実施することにより、Salesforceの活用向上と導入の効果を最大化します。