項目へのアクセスの制御
学習の目的
この単元を完了すると、次のことができるようになります。
- 特定の項目へのアクセスを制限する理由を挙げる。
- 権限セットで項目権限を管理する。
項目権限を変更する
オブジェクトレベルのアクセスを制御した後、セキュリティとアクセスを完成させる次のステップは、機密項目の項目レベルセキュリティを定義することです。
オブジェクトへのアクセス権を許可しても、そのオブジェクトの個々の項目へのアクセスは制限する必要がある場合があります。項目権限 (つまり、項目レベルセキュリティ) は、オブジェクトの特定の項目の値をユーザーが参照して編集できるかどうかを管理します。Candidate (応募者) オブジェクトは参照可能にしたまま、応募者の社会保障番号などの機密項目を保護できる設定があります。
詳細ページと編集ページの項目の表示を制御するだけのページレイアウトとは異なり、項目権限は、関連リスト、リストビュー、レポート、検索結果など、アプリケーションの任意の部分の項目の表示を制御します。実際、ユーザーが特定の項目に絶対にアクセスできないようにするには、対象のオブジェクトの項目権限を使用して、その項目へのアクセスを制限することが重要です。特定の項目に対して同レベルの保護を実現できる簡単な方法はこれ以外にはありません。
たとえば、サンプルの社員募集アプリケーションに設定できる項目レベルセキュリティ設定には次のものがあります。
- Position (職種) オブジェクト — 標準従業員と面接官には、給与の最大値と最小値を非表示にします。
- Candidate オブジェクト — 採用担当マネージャーと面接官には、社会保障番号を非表示にします。
- Job Application オブジェクト — 採用担当マネージャーには、職種者参照項目と応募者参照項目を参照のみにします。
項目設定を適用するには、プロファイルまたは権限セットを変更するか、[Setup (設定)] の [Field Accessibility (項目アクセス許可)] メニューから実行します。オブジェクト権限と同様に、権限セットと権限セットグループを使用して項目権限を管理することをお勧めします。
ユーザーの項目レベルセキュリティを設定すると、次の操作を実行できます。
- ページレイアウトを作成して、詳細ページと編集ページに表示される項目を構成する。
- 項目へのユーザーのアクセス権を項目アクセス許可を見て確認する。
- 検索レイアウトをカスタマイズして、検索結果、ルックアップダイアログの検索結果、およびタブのホームページの主要リストに表示される項目を設定する。
権限セットで項目権限を設定する
権限セットを変更して項目権限を適用する方法を見てみましょう。オブジェクトの適切な項目を、それを必要とするユーザーが確実に使用できるようにします。
では、サンプルの社員募集アプリケーションに戻り、面接官が応募者を面接した後で、Candidate (候補者) レコードを更新できるように設定します。新しい権限セットを作成し、今回はオブジェクト権限と項目権限の両方を設定します。
- [Setup (設定)] の [Quick Find (クイック検索)] ボックスで [Permission Sets (権限セット)] を検索して選択します。
-
[New (新規)] をクリックします。
- 権限セットの表示ラベルと説明を入力します。
Update Candidate Records
(応募者レコードの更新) という名前にします。
- ライセンスに [–None– (–なし–)] を選択します。
-
[Save (保存)] をクリックします。
- [Find Settings (設定の検索)] ボックスで、[Candidates (応募者)] を検索して選択してから、[Edit (編集)] をクリックします。
- [Object Permissions (オブジェクト権限)] で、[Read (参照)] 権限を有効にします。
- [Field Permissions (項目権限)] で、必須の項目権限を有効にします。
-
[Save (保存)] をクリックします。
[Apex] と [C#] のチェックボックスの値を面接官が参照および変更できるようにします。そうすれば、面接官がこのスキルに関する応募者の能力を判断したときに、このチェックボックスをオンまたはオフにできます。面接官が [Hire By (採用日)] の日付や採用担当マネージャーの名前を変更できないようにする一方で、情報は確認できるようにします。面接官が応募者の SSN、メール、電話番号を知る必要もないため、こうした項目の「参照」アクセス権と「編集」アクセス権は付与しません。
これで、この権限セットを権限セットグループに追加するか、ユーザーに直接割り当てることができます。
複数の権限セットの項目権限を設定する
複数の権限セットの項目権限を更新したい場合はどうすれば良いでしょうか? たとえば、オブジェクトに新しい項目を作成し、適切な権限セットで項目権限を有効にしたい場合です。または、すべての権限セットの既存の項目に対するアクセス権を更新するような場合です。ご想像のとおり、多数の権限セットを個別に編集すれば時間がかかります。代わりに、1 回でまとめて変更できます。
- [Setup (設定)] の [Quick Find (クイック検索)] ボックスで [User Management Settings (ユーザー管理設定)] を検索して選択します。
-
[Field-Level Security for Permission Sets during Field Creation (項目作成時の権限セットの項目レベルセキュリティ)] がまだ有効になっていない場合は有効にします。
- [Object Manager (オブジェクトマネージャー)] で、[Candidate (応募者)] を選択します。
-
[Fields & Relationships (項目とリレーション)] をクリックして、[Job Category (職務カテゴリ)] を選択します。
-
[Set Field-Level Security (項目レベルセキュリティの設定)] をクリックします。
- 使用可能なカスタム権限セットについては、項目権限を更新します。[Permission sets with object permissions (オブジェクト権限を持つ権限セット)] をオンにすると、カテゴリに対する「作成」「参照」「編集」「削除」アクセス権を含む権限セットに絞り込むことができます。
-
[Save (保存)] をクリックします。
機密データの項目レベルセキュリティが定義されました。最後に、各ユーザーがアクセスする必要がある個々のレコードを指定します。3 つのレベルすべてのセキュリティコントロールを組み合わせることで、非常に安全でありながら、さまざまな種別のユーザーのニーズを満たすデータアクセスモデルを柔軟に設定できます。
リソース
- Salesforce ヘルプ: 項目権限
- Salesforce ヘルプ: すべての権限セットの項目の項目レベルセキュリティの設定
- Salesforce ヘルプ: 権限セットとプロファイルでの項目権限の設定