ユーザのアクセス権の制御
| 使用可能なインターフェース: Salesforce Classic (使用できない組織もあります) および Lightning Experience の両方 |
| 使用できるデータ管理オプションは、Salesforce のエディションによって異なります。 |
- オブジェクトレベルセキュリティ (権限セットおよびプロファイル)
- オブジェクトレベルセキュリティ (つまり、オブジェクト権限) で提供されているのは、データアクセスを制御するのに最も弱い方法です。オブジェクト権限を使用すると、ユーザがリードまたは商談などの特定のオブジェクトタイプのインスタンスを参照、作成、編集または削除できなくなります。また、特定のユーザに対してタブやオブジェクト全体を非表示にするため、そのようなデータの存在を知ることもできません。
- 権限セットおよびプロファイルでオブジェクト権限を指定します。権限セットやプロファイルは、アプリケーションでユーザが実行できる操作を決定する設定と権限の集合です。設定は、グループのメンバーに同じフォルダの権限と同じソフトウェアへのアクセス権限が割り当てられる、Windows ネットワークのグループと似ています。
- プロファイルは通常、ユーザの職務 (Salesforce システム管理者や営業担当など) によって定義されます。プロファイルは多くのユーザに割り当てることができますが、1 人のユーザを割り当てることができるには 1 つのプロファイルのみです。権限セットでは、ユーザにさらなる権限やアクセス設定を指定できます。ユーザの権限およびアクセスをより簡単に管理できるようになりました。これは、1 人のユーザに複数の権限セットを割り当てることができるためです。
- 項目レベルセキュリティ (権限セットおよびプロファイル)
- オブジェクトへのアクセス権を許可しても、そのオブジェクトの個々の項目へのアクセスは制限する必要がある場合があります。項目レベルセキュリティ (つまり、項目権限) は、オブジェクトの特定項目の値をユーザが参照、編集、削除できるかどうかを制御します。ユーザに対してオブジェクト全体を非表示にすることなく、重要な項目を保護することができます。また、項目権限は権限セットとプロファイルで制御されます。
- 項目権限は、関連リスト、リストビュー、レポート、検索結果など、アプリケーションの任意の部分の項目の表示を制御します。ユーザが特定項目にアクセスできないようにするには、項目権限を使用します。その他の設定では、項目を同程度に保護できません。ページレイアウトは、詳細ページと編集ページの項目の表示のみを制御するものです。
- レコードレベルセキュリティ (共有)
- オブジェクトレベル、項目レベルのアクセス権限を設定した後で、実際のレコード自体にアクセス設定を指定できます。レコードレベルセキュリティを使用して、ユーザに一部のオブジェクトレコードのアクセス権限を付与し、他のオブジェクトレコードのアクセス権限を付与しないようにできます。すべてのレコードはユーザまたはキューが所有します。所有者はレコードにフルアクセスできます。階層では、階層の上位のユーザは、そのユーザより階層の下位にいるユーザに対するアクセス権と同じアクセス権が必ず許可されます。このアクセス権は、ユーザが所有するレコードとそのユーザと共有されているレコードに適用されます。
- レコードレベルセキュリティを指定するには、組織の共有設定を行い、階層を定義して、共有ルールを作成します。
- 組織の共有設定
レコードレベルセキュリティではまず、各オブジェクトの組織の共有設定を指定します。組織の共有設定では、お互いのレコードに対するデフォルトアクセスレベルを指定します。
組織の共有設定を使用してデータを最も制限の厳しいレベルにロックダウンします。他のレコードレベルのセキュリティや共有ツールを使用して、他のユーザに選択的にアクセス権を付与します。たとえば、商談を参照および編集するオブジェクトレベルの権限をユーザに許可し、組織全体の共有設定は参照のみであるとします。デフォルトでは、これらのユーザは、すべての商談レコードを参照することはできますが、レコードの所有者であるか、他の権限が付与されていない限り、これらのレコードを編集することはできません。
- ロール階層
組織の共有設定を指定したら、レコードに対するより幅広いアクセス権を許可する一番の方法はロール階層の使用です。組織図と同様に、ロール階層は、ユーザまたはユーザグループが必要とするデータアクセスのレベルを示します。ロール階層によって、組織の共有設定に関係なく、階層の上位のユーザは常に階層の下位のユーザと同じデータにアクセスできます。組織図に一致する代わりに、階層の各ロールでユーザまたはユーザグループが必要とするデータのアクセスレベルを示すことができます。
同様に、テリトリー階層を使用して、レコードへのアクセス権限を共有することができます。「テリトリーレコードのデフォルトのユーザアクセス権の定義」を参照してください。
- 共有ルール
共有ルールでは、特定のユーザセットを対象に、組織全体の共有設定に自動的な例外を設けることができます。共有ルールを使用して、所有していないレコードや通常は参照できないレコードへのアクセス権をこれらのユーザに付与します。ロール階層と同様、共有ルールは、レコードに対する追加のユーザアクセス権を許可するためだけに使用され、組織の共有設定に比べて厳密な制限ではありません。
- 共有の直接設定
特定のレコードセットに対するアクセス権限を必要とするユーザの一貫性のあるグループを定義することが必要な場合があります。レコード所有者は共有の直接設定を使用して、アクセス権限を持たないユーザに参照権限および編集権限を与えます。共有の直接設定は組織の共有設定、ロール階層、または共有ルールのように自動化されていません。ただし、レコード所有者に、レコードを参照する必要があるユーザと特定のレコードを共有する柔軟性を提供します。
- Apex による共有管理
共有ルールと共有の直接設定で必要な制御が提供されない場合、Apex による共有管理を使用できます。Apex による共有管理により、開発者はプログラムでカスタムオブジェクトを共有できます。Apex による共有管理を使用してカスタムオブジェクトを共有した場合は、「すべてのデータの編集」権限を持つユーザのみが、カスタムオブジェクトのレコードの共有を追加または変更できます。共有アクセス権は、レコード所有者が変わっても維持されます。
- 組織の共有設定