設問
Universal Containers の営業マネージャーに出荷記録への適切なアクセスを許可するために Apex 管理共有を利用しました。これにより発生しうる不正アクセスのリスクを軽減するため、Salesforce アーキテクトが推奨すべき 2 つの機能とベストプラクティスはどれですか?
選択肢
A. テストクラスで runAs システムメソッドを使用し、さまざまなユーザーとプロファイルを使用してテストします。
B. Apex クラスの Sharing キーワードとともに使用して、レコードの可視性が確実に維持されるようにします。
C. Apex クラスで isShareable を使用して、レコードの可視性が確実に守られるようにします。
D. Apex クラスで isAccessible キーワードを使用して、レコードの可視性が確実に維持されるようにします。
解答
A. テストクラスで runAs システムメソッドを使用し、さまざまなユーザーとプロファイルを使用してテストします。
B. Apex クラスの Sharing キーワードとともに使用して、レコードの可視性が確実に維持されるようにします。
解説
A. テスト クラスで runAs システムメソッドを使用し、さまざまなユーザーとプロファイルを使用してテストします。
正解です。runAs() は、異なるプロファイルやロールのユーザーとしてコードを実行し、アクセス制御や共有設定が期待通りに機能しているかをテストするために使います。管理共有を行う際には、セキュリティホールがないか確認するために重要です。
B. Apex クラスの Sharing キーワードとともに使用して、レコードの可視性が確実に維持されるようにします。
正解です。with sharing を使用することで、Apexクラス内で共有ルールが強制され、ユーザーが本来アクセスできないレコードへのアクセスを防ぐことができます。これは不正アクセスの防止において基本的かつ重要な手段です。
C. Apex クラスで isShareable を使用して、レコードの可視性が確実に守られるようにします。
不正解です。isShareable は、存在しません。
D. Apex クラスで isAccessible キーワードを使用して、レコードの可視性が確実に維持されるようにします。
不正解です。isAccessible() は フィールドレベルセキュリティ(FLS)を確認するためのメソッドで、レコードレベルの可視性とは異なります。したがってこの設問の趣旨には合致しません。
第177問
こちらをクリック