Administrator 練習問題 Q195
ノーザントレイルアウトフィッターズの人事部門は、Salesforceのカスタムオブジェクトを使用して、従業員がマネージャーに関するフィードバックを提供できるようにしたいと考えています。マネージャーがスタッフからのフィードバックレコードを参照できないことが重要です。この要件を満たすために、管理者はカスタムオブジェクトをどのように構成する必要がありますか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:A. 階層を使用したアクセス許可のチェックを外します。
解説
前提知識
組織の共有設定(OWD)
レコードに対する組織内ユーザーの基準アクセスを定める設定です。[非公開]では、原則としてレコード所有者と、ロール階層・共有機能・強力な権限などによってアクセスを付与されたユーザーだけがレコードを参照できます。
ロール階層(上層アクセス)
ロール階層の上にいるユーザーは、下のユーザーが所有するレコードを自動的に見ることができます。OWDをプライベートにしても、ロール階層が上位者へ自動的にアクセスを与えていくので、上司は部下のレコードを見られてしまいます。
階層を使用したアクセス許可(Grant Access Using Hierarchies)
この問題の核心です。カスタムオブジェクト専用の設定で、これをオフにするとロール階層による上層への自動許可が止まります。 Salesforce公式Trailheadは「既定のアクセスが「親レコードに連動」でないカスタムオブジェクトについて『階層を使用したアクセス許可』のチェックを外す。外すと、レコードの所有者と共有機能でアクセスを付与されたユーザーだけがアクセスできる」と説明しています。 Salesforce公式は、標準オブジェクトではロール階層によるアクセスが常に有効である一方、カスタムオブジェクトではこの設定を無効化できると説明しています。
💡 ここがまだモヤッとする方へ → 共有設定の全体像:組織の共有設定・ロール階層・共有ルールで公開範囲を決める
設問の状況を分解する
要件を整理すると、次の2点です。
- 従業員が所有するフィードバックレコードを、内部の基準アクセスでは非公開にする
- 従業員より上位ロールにいるマネージャーへ、ロール階層を通じて自動的にアクセスを付与しない OWDを[非公開]にするだけでは、[階層を使用したアクセス許可]が有効な場合、上位ロールのマネージャーが部下のレコードへアクセスできます。カスタムオブジェクトでこの自動継承を止める設定が、選択肢Aの[階層を使用したアクセス許可]をオフにする操作です。 なお、この設定が止めるのはロール階層による自動アクセスです。[すべてのレコードを参照]、[すべてのレコードを編集]、[すべてのデータを参照]、[すべてのデータを編集]などの強力な権限を持つユーザーのアクセスまでは遮断しません。
選択肢の検討
A. 階層を使用したアクセス許可のチェックを外す
⭕ 正解 OWDを[非公開]にした上でこのチェックを外すと、ロール階層による上位ロールへの自動アクセスを停止できます。その結果、マネージャーは「部下より上位のロールにいる」という理由だけではフィードバックレコードを参照できなくなります。所有者、共有によってアクセスを付与されたユーザー、強力な参照権限を持つユーザーのアクセスは別途評価されます。
B. 基準ベースの共有ルールを定義する
△(惜しいが不正解) 共有ルールはアクセスを「広げる」方向にしか動きません。今回の要件はアクセスを「絞る」ことなので、共有ルールで解決するのは逆向きです。
C. デフォルトの外部アクセスをプライベートに設定する
△(惜しいが不正解) デフォルトの外部アクセスは、Experience Cloudなどの外部ユーザーに対する基準アクセスを制御します。内部ユーザーである従業員やマネージャーのロール階層アクセスを止める設定ではないため、この要件には対応しません。ゲストユーザーのレコードアクセスはゲストユーザー共有ルールなど別の仕組みで管理されます。
D. 所有者ベースの共有ルールを構成する
△(惜しいが不正解) 共有ルール(Bと同じ理由)はアクセスを「広げる」機能です。上層への漏れを押さえるのには使えません。
管理者としての対処手順
- [設定]→[共有設定]→[組織の共有設定]を開く
- フィードバックカスタムオブジェクトの[デフォルトの内部アクセス]を[非公開]に設定する
- 同じオブジェクトの[階層を使用したアクセス許可]のチェックを外す
- 従業員より上位ロールにいるマネージャーユーザーでテストし、ロール階層だけを根拠としたアクセスが付与されないことを確認する
- 所有者ベース・基準ベースの共有ルール、チーム、手動共有、権限セット、[すべてのレコードを参照]など、別のアクセス経路がないことを確認する
- 従業員ユーザーで、自分が所有するフィードバックレコードを必要な範囲で作成・参照できることを確認する
あわせて覚えておきたいポイント
- 階層を使用したアクセス許可のチェックを外せるのはカスタムオブジェクトのみです。標準オブジェクト(商談、ケースなど)にはこのオプションはありません。
- 共有ルールはOWDの基準アクセスを拡張する機能です。基準ベースの共有ルールも所有者ベースの共有ルールも、既存アクセスを狭める用途には使えません。
- OWDをプライベートだけにして「階層を使用したアクセス許可」をオンのままにすると、意図せず上位ロールのユーザーにレコードが見えてしまいます。OWDと階層設定はセットで見直すことが実務では重要です。
出典(Salesforce公式)
- Improve Record Access Control in Your Org(Trailhead) — カスタムオブジェクトで[階層を使用したアクセス許可]を外すと、ロール階層による上位ユーザーへの自動アクセスを停止できることを裏付ける
- Create a Role Hierarchy(Trailhead) — ロール階層が下位ロールのユーザーが所有するデータへのアクセスを上位ロールへ開くことと、カスタムオブジェクトではこの継承を無効化できることを裏付ける
- Organization-Wide Sharing Defaults — OWDが内部・外部ユーザーの基準アクセスを定義し、[非公開]でもロール階層や共有などで追加アクセスが付与されることを裏付ける
- View All and Modify All Permissions — オブジェクトの[すべてのレコードを参照/編集]とシステム権限の[すべてのデータを参照/編集]が共有設定を上書きしてレコードアクセスを付与することを裏付ける
- Set the Default External Access Levels — デフォルトの外部アクセスが外部ユーザー向けの基準アクセスであり、内部マネージャーのロール階層アクセスを制御する設定ではないことを裏付ける