設問
Cloud Kicksには現在、会社の連絡先用のパブリック読み取り/書き込み共有モデルがあります。Cloud Kicks管理チームは、連絡先レコードの所有者のみがその連絡先を削除できるようにすることを要求しています。これらの要件を満たすためにアーキテクトは何をすべきでしょうか?
選択肢
A. 連絡先オブジェクトから削除権限を削除するユーザーのプロファイルを設定します。
B. 「削除前」トリガーを作成して、現在のユーザーが所有者でないかどうかを確認します。
C. 連絡先オブジェクトの共有設定をパブリック読み取り専用に設定します。
D. Contactオブジェクトに検証ルールを作成して、現在のユーザーが所有者でないかどうかを確認します。
解答
B. 「削除前」トリガーを作成して、現在のユーザーが所有者でないかどうかを確認します。
解説
A. 連絡先オブジェクトから削除権限を削除するユーザーのプロファイルを設定します。
不正解です。
削除権限をプロファイルで管理すると、レコード所有者以外のユーザーが削除を行えないように設定することは難しいです。プロファイル設定ではユーザー全体に影響を与えるため、個別の削除制御には適していません。
B. 「削除前」トリガーを作成して、現在のユーザーが所有者でないかどうかを確認します。
正解です。
Apexの「削除前」トリガーを使用して、削除操作が実行される前に、実行ユーザーがレコードの所有者であるかどうかを確認し、所有者でない場合は削除をキャンセルすることができます。これにより、レコード所有者のみが削除可能にする要件を満たします。
C. 連絡先オブジェクトの共有設定をパブリック読み取り専用に設定します。
不正解です。
共有設定を読み取り専用に変更すると、すべてのユーザーの更新や削除を制限してしまい、必要なユーザーもレコードを編集できなくなります。これでは要件を満たすことができません。
D. Contactオブジェクトに検証ルールを作成して、現在のユーザーが所有者でないかどうかを確認します。
不正解です。
検証ルールはレコードの保存時に発動し、削除操作時には使用できません。削除を制御するためには、Apexトリガーを使用する必要があります。
第19問
こちらをクリック