Salesforce 認定 Platform Sharing and Visibility アーキテクト 無料問題 7 / 10 ・ 分野2: レコードへのアクセス
共有の行を照会すると、RowCause が ImplicitChild(画面の[理由]は Account Sharing)の行がある。開発者は、ある担当者からこのアクセスを外すため、この行を消す処理を考えている。Apex 開発者ガイド(Winter '23)の共有の種類の説明に合うものはどれか。
- 組み込みの暗黙の共有は、画面・SOAP API・Apex のどれからも直接は変えられない
- SOAP API からなら消せるが、Apex のトリガからは消せない
- 画面の[共有]からなら消せるが、Apex や API からは消せない
- Apex で RowCause を指定して DELETE 文を実行すれば、暗黙の共有の行も消せる
正解と解説を見る
正解: A
正解の理由
Apex 開発者ガイドの共有の種類の説明は、Salesforce が管理する共有(所有・ロール階層・共有ルール)の段で、管理された共有で足された暗黙の共有は、Salesforce の画面・SOAP API・Apex のどれからも直接は変えられないと書く。ImplicitChild や ImplicitParent の行は、元になる所有や共有から Salesforce が付けるもので、開発者が行を消して外すものではない。
違う選択肢
「Apex で RowCause を指定して DELETE 文を実行すれば、暗黙の共有の行も消せる」… ガイドは、Salesforce が管理する共有で足された暗黙の共有は、画面・SOAP API・Apex のどれからも直接は変えられないと書く。Apex で消すことはできない。
「画面の[共有]からなら消せるが、Apex や API からは消せない」… 画面からも直接は変えられない。ガイドは、画面・SOAP API・Apex の3つを並べて、どれからも変えられないとしている。
「SOAP API からなら消せるが、Apex のトリガからは消せない」… SOAP API も、暗黙の共有を直接変えられない手段の一つとしてガイドに挙げられている。入口を替えても消せない。
外したいときに変えるもの
暗黙の共有で付いたアクセスを外したいなら、その元になっている所有・共有ルール・手動共有の側を変える。共有の行を直接いじる処理は、開発者が付けた手動共有や Apex 管理共有の行にとどめる。
Salesforce 認定 Platform Sharing and Visibility アーキテクトの演習アプリ(無料10問・全問は解錠で)へ