項目へのアクセスの制御
学習の目的
この単元を完了すると、次のことができるようになります。
- 特定の項目へのアクセスを制限する理由を挙げる。
- 項目レベルセキュリティの設定を表示し、編集する。
項目レベルセキュリティの変更
オブジェクトレベルのアクセス制御を終えたら、セキュリティと共有を完成させる次のステップは、機密項目の項目レベルセキュリティを定義することです。
オブジェクトへのアクセス権を許可しても、そのオブジェクトの個々の項目へのアクセスは制限する必要がある場合があります。項目レベルセキュリティ設定 (つまり、項目権限) は、オブジェクトの特定項目の値をユーザーが参照、編集、削除できるかどうかを制御します。Candidate オブジェクトは参照可能にしながら、応募者の社会保障番号などの機密項目を保護できる設定があります。
詳細ページと編集ページの項目の表示を制御するだけのページレイアウトとは異なり、項目レベルセキュリティは、関連リスト、リストビュー、レポート、検索結果など、アプリケーションの任意の部分の項目の表示を制御します。実際、ユーザーが特定の項目に絶対にアクセスできないようにするには、対象のオブジェクトの項目レベルセキュリティページを使用して、その項目へのアクセスを制限することが重要です。特定の項目に対して同レベルの保護を実現できる簡単な方法はこれ以外にはありません。
たとえば、サンプルの社員募集アプリケーションに設定できる項目レベルセキュリティ設定には次のものがあります。
- Position オブジェクト — 標準従業員と面接官には、給与の最大値と最小値を非表示にします。
- Candidate オブジェクト — 採用担当マネージャーと面接官には、社会保障番号を非表示にします。
- Job Application オブジェクト — 採用担当マネージャーには、職種者参照項目と応募者参照項目を参照のみにします。
項目設定を適用するには、プロファイルまたは権限セットを変更するか、[設定] の [項目アクセス許可] メニューから行います。
ユーザーの項目レベルセキュリティを設定すると、次の操作を実行できます。
- ページレイアウトを作成して、詳細ページと編集ページに表示される項目を構成する。
- 項目へのユーザーのアクセス権を項目アクセス許可を見て確認する。
- 検索レイアウトをカスタマイズして、検索結果、ルックアップダイアログの検索結果、およびタブのホームページの主要リストに表示される項目を設定する。
プロファイルを使用した項目アクセスの制限
項目設定を適用するには、プロファイルまたは権限セットを変更します。プロファイルを使用してユーザーの一般的なアクセスを制限してみましょう。その後、必要に応じて権限セットを使用してアクセスを拡張できます。
- [設定] の [クイック検索] ボックスに「プロファイル」と入力し、[プロファイル] を選択します。
- 変更するプロファイルの名前をクリックします。
-
[オブジェクト設定] をクリックし、項目設定を変更するオブジェクトを選択します。
-
[編集] をクリックします。
-
[項目権限] で、項目ごとにこのプロファイルを持つユーザーのアクセス権の種類を指定して、設定を保存します。
これで、機密データの項目レベルセキュリティが設定されました。ページレイアウトを作成して、ユーザーが使いやすいように項目を配置したり、検索結果とリストでの項目の表示方法をカスタマイズできます。最後の仕上げとして、各ユーザーがアクセスする必要がある個々のレコードを指定します。3 つのレベルすべてのセキュリティコントロールを組み合わせることにより、非常に安全でありながら、さまざまな種別のユーザーのニーズを満たすデータアクセスモデルを柔軟に設定できます。
権限セットを使用した項目アクセスの追加
権限セットを変更して項目設定を適用する方法について見てみましょう。権限セットの目的は、プロファイルで制限された項目へのユーザーのアクセスを拡張することでしたね。カスタムオブジェクトを設定するときに権限セットを使用しました。ここで [設定] ページに戻って、オブジェクトの 1 つの適切な項目を、それを必要とするユーザーが確実に使用できるようにします。
では、サンプルの社員募集アプリケーションに戻り、面接官が応募者の面接を終了したときに Candidate (候補者) レコードを更新できるように設定しましょう。(これはサンプルのため、各自の組織にはこのアプリケーションも Candidate (候補者) オブジェクトも表示されません。)面接官には標準ユーザープロファイルが設定されていると想定します。
- [設定] の [クイック検索] ボックスに「権限セット」と入力し、[権限セット] を選択します。
- 権限セットを選択し、[オブジェクト設定] をクリックします。
- 対象のオブジェクトをクリックし、[編集] をクリックします。この例では Candidate (候補者) オブジェクトを変更します。
-
[項目権限] で、面接官に必要なアクセスの種類を指定して、この権限セットを保存します。Apex および C# チェックボックスの値を面接官が参照および変更できるように設定されていることを確認してください。これで、面接官はこれらのスキルに関する応募者の能力を確認したときにこれらのチェックボックスをオンまたはオフにできます。この設定では、面接官は [Hire By (採用日)] の日付や採用担当マネージャーの名前を変更することはできませんが、情報を参照することはできます。面接官は職種の賃金率を知る必要もありませんから、その項目の参照アクセス権と編集アクセス権が外されています。
-
[割り当ての管理] をクリックし、指定した権限が必要になることが予想されるユーザーを選択します。[割り当てを追加]、[完了] の順にクリックして、完了です。
これで、機密データの項目レベルセキュリティが定義されました。最後に、各ユーザーがアクセスする必要がある個々のレコードを指定します。3 つのレベルすべてのセキュリティコントロールを組み合わせることで、非常に安全でありながら、さまざまな種別のユーザーのニーズを満たすデータアクセスモデルを柔軟に設定できます。
リソース