Salesforceのオブジェクト権限とは?
Salesforceにおけるオブジェクト権限とは、データアクセスを制御するための設定です。
オブジェクト権限では、ユーザが各オブジェクトのレコードを作成、参照、編集、および削除するために必要な基本レベルのアクセス権限を指定します。権限セットおよびプロファイルでオブジェクト権限を管理します。
オブジェクト権限の設定内容
オブジェクト権限には、前項でご紹介した通りアクセス権限の種類がいくつかあります。
1つのオブジェクトに対し、下記のアクセス権をそれぞれ設定する必要があります。
権限 :内容
参照 :レコードの参照のみができます。
作成 :レコードの参照と作成ができます。
編集 :レコードの参照と更新ができます。
削除 :レコードの参照、編集、および削除ができます。
すべて表示:共有設定(※)に関係なく、すべてのレコードを参照できます。
すべて変更:共有設定に関係なく、すべてのレコードの参照、編集、削除、転送、承認ができます。
※共有設定とは、Salesforceの内部・外部ユーザに異なるアクセスレベルを付与でき、オブジェクトのレコードに対する組織のデフォルトのアクセス権を定義する設定です。
すべて表示・すべて変更について
すべて表示・すべて変更の権限を付与すると共有ルール(※)および共有設定は無視されます。
前項で「すべて表示」および「すべて変更」権限は「共有設定に関係なく」と記載しましたが、これは共有設定で指定されたアクセス権限を上書きするようなイメージです。
例えば、共有設定で「非公開」と設定されたオブジェクトでもプロファイルのオブジェクト権限で「すべて変更」権限を付与した場合、そのプロファイルを割り当てられたユーザは、該当オブジェクトのすべてのレコードに対して、参照・編集・削除の操作が行えるようになります。
ただし「すべて変更」権限を付与する場合は十分に考慮するようにしましょう。基本的にはマネージャ・経営層やシステム管理者など全体を見る必要のあるユーザにのみ付与するのが適切でしょう。
※共有ルールとは、共有設定でオブジェクトに対するデフォルト設定を「非公開」にした場合などに一定の条件によりアクセスレベルを緩めるための設定です。
オブジェクト権限の設定方法
オブジェクト権限の設定方法についてご説明します。
基本的にはユーザプロファイルごとにオブジェクト権限の設定を行います。また、権限セットによる設定も可能ですが、ここではプロファイルでの設定方法をご紹介します。
以下の順に設定メニューを開きます。
[設定箇所] 設定 > ユーザの管理 > プロファイル
オブジェクト権限の設定の前に必要なプロファイルが作成されていることが前提となりますが、ここではプロファイルの作成手順は割愛します。
プロファイルの設定画面を編集で開き、「標準オブジェクト権限」または「カスタムオブジェクト権限」のセクションからアクセス権を設定したいオブジェクトを探します。
該当のオブジェクトの右に”オブジェクト権限の設定内容”でご説明したアクセス権限を付与するためのチェックボックスが並んでいますので、必要な項目にチェックしていきます。
作成権限または編集権限を付与すると自動で参照権限が、削除権限を付与すると自動で参照と編集権限が付与されます。前提として参照できなければ操作ができないためにこのような動作になります。
また、すべて表示権限を付与した場合にも参照権限が付与され、すべて変更権限を付与すると作成権限以外が自動的に付与されます。
オブジェクト権限の一括設定
ここでは、オブジェクト権限の一括設定についてご紹介します。
ここまでは、手動でオブジェクト権限を設定する想定でご説明してきました。しかし、大きな組織や権限設定が複雑な組織の場合、プロファイルをいくつも作る必要があり、その度に1つずつ手動でオブジェクト権限を付与していくのは手間です。
似たような権限を持つプロファイルなら既存のプロファイルをコピーして異なる権限のところだけ修正すれば良いですが、膨大な量のオブジェクト権限を付与していくのは時間がかかってしまいます。そこで、オブジェクト権限の一括設定の方法をご紹介します。
Salesforceにある程度触れている方には馴染み深いツールですが、データローダを利用した設定方法です。オブジェクト権限設定ももちろん1つのオブジェクトとしてSalesforce組織内で管理されているため、データローダによるデータのエクスポートやインポートが可能になります。
ここでは、データローダは使える前提とし、インストール方法などの説明は割愛します。
まずはデータローダで「権限セット」オブジェクトのレコードを取得しましょう。データローダを起動し、[Export]を選択します。オブジェクト選択画面で[Show all Salesforce objects]にチェックした上で「権限セット」オブジェクトを選択し、エクスポートまで完了しましょう。
※プロファイルによるオブジェクト権限の設定方法ですが、権限セットオブジェクトの中にプロファイルのデータも含まれています。
エクスポートしたCSVファイル内に「PermissionRead(参照)」や「PermissionEdit(編集)」などオブジェクト権限に対する項目があり、ここでそれぞれのプロファイル・オブジェクトに対して「TRUE/FALSE」で権限を設定します。
エクスポート時と同様にデータローダで編集したCSVファイルを指定し、オブジェクト権限をアップデートしましょう。
適切なオブジェクト権限を考えよう
Salesforceにおけるオブジェクト権限は、オブジェクトのレコードに対する基本的なアクセスレベルを決定するための設定です。
この設定により、ユーザがどのオブジェクトにどのような操作が可能になるのかが決まります。本来、削除権限のないユーザに削除権限を付与してしまった場合、誤って大切な蓄積データを削除されてしまうようなリスクもあることになります。
また、必要のないユーザに編集権限を付与し、故意にデータを書き換えられてしまうような可能性もあるでしょう。
組織として意図しないデータ修正や損失を防ぐためにも、権限周りの設定は十分に考慮が必要になります。アクセス権限の内容を理解し、適切な権限設定を行えるようにしましょう。]]>