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

