設問
Universal Containers (UC) には、Salesforceユーザー向けのオープン共有モデルがあり、連絡先の所有者に関係なく、すべてのSalesforce内部ユーザーがすべての連絡先を編集できます。ただし、UC管理者は、連絡先レコードの所有者のみがその連絡先を削除できるようにしたいと考えています。ユーザーが連絡先を所有していない場合、ユーザーはレコードを削除できません。要件を満たすために、アーキテクトはプロジェクトにどのようにアプローチすべきでしょうか?
選択肢
A. 現在のユーザーが所有者でないかどうかを確認する「削除前」トリガーを作成します。
B. 連絡先オブジェクトの共有設定をパブリック読み取り専用に設定します。
C. 連絡先オブジェクトから削除権限を削除するユーザーのプロファイルを設定します。
D. Contactオブジェクトに検証ルールを作成して、現在のユーザーが所有者でないかどうかを確認します。
解答
A. 現在のユーザーが所有者でないかどうかを確認する「削除前」トリガーを作成します。
解説
A. 現在のユーザーが所有者でないかどうかを確認する「削除前」トリガーを作成します。
正解です。Apexトリガーを使用することで、現在のユーザーが連絡先の所有者でない場合にレコードの削除を防ぐことができます。この方法は、削除権限を動的に制御するために最も適しています。
B. 連絡先オブジェクトの共有設定をパブリック読み取り専用に設定します。
不正解です。共有設定をパブリック読み取り専用にすると、全ユーザーが連絡先を編集できなくなります。連絡先を所有者のみに制限するための要件を満たしません。
C. 連絡先オブジェクトから削除権限を削除するユーザーのプロファイルを設定します。
不正解です。プロファイル設定で削除権限を制限すると、全ユーザーが連絡先を削除できなくなります。所有者にのみ削除権限を与える細かな制御はできません。
D. Contactオブジェクトに検証ルールを作成して、現在のユーザーが所有者でないかどうかを確認します。
不正解です。検証ルールはデータの整合性をチェックするためのもので、レコードの削除を制御するためには使用できません。削除を制御するにはApexトリガーが適しています。
第207問
こちらをクリック