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