設問
Universal Containers には、アカウント上のプライベート共有モデルがあります。Apex 管理共有は、ロール階層内の特定のロールに割り当てられているすべてのユーザと特定のアカウントレコードを共有するために必要です。アーキテクトがこれを実装するために推奨される方法は何ですか?
選択肢
A. ロール内のユーザーを含むパブリック グループに関連付けられた AccountShare レコードを作成します。
B. ロールに割り当てられた各ユーザーに関連付けられた AccountShare レコードを作成します。
C. 必要なロールに関連付けられた AccountShare レコードを作成します。
D. ロールを含むパブリック グループに関連付けられた AccountShare レコードを作成します。
解答
D. ロールを含むパブリック グループに関連付けられた AccountShare レコードを作成します。
解説
A. ロール内のユーザーを含むパブリックグループに関連付けられた AccountShare
不正解です。ユーザー個別にグループを作成すると、人事異動のたびにグループメンバーの手動更新が必要になります。大規模運用に耐えられず、誤設定リスクが高まるため推奨されません。
B. ロールに割り当てられた各ユーザーごとに AccountShare
不正解です。ユーザーごとに個別のAccountShareレコードを作成するため、共有レコード数が爆発的に増加し、DML制限(1トランザクション最大10,000DML)に到達するリスクが高まります。パフォーマンスも悪化します。
C. 必要なロールに関連付けた AccountShare
不正解です。AccountShareの共有先(UserOrGroupId)にはUserIDまたはGroupIDしか指定できません。RoleIDは指定できないため、設計自体が技術的に成立しません。
D. ロールを含むパブリックグループに関連付けた AccountShare
正解です。ロールまたは下位ロールを含むパブリックグループを作成し、そのGroupIdをAccountShareのUserOrGroupIdに設定すれば、組織改編にも柔軟に対応可能で、メンテナンス性・パフォーマンスの両面から最も優れた解決策になります。
第100問
こちらをクリック