Administrator 練習問題 Q282
管理者は、Salesforceへのユーザーのアクセスをすぐに削除するように人事部から急いでリクエストを受け取ります。このユーザーは、Direct Manager と呼ばれるカスタム階層項目で参照されています。管理者はリクエストを満たすために何をすべきですか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:A. ユーザーを凍結(フリーズ)してログインできないようにし、その間に Direct Manager 項目からの参照を取り除く。
解説
前提知識
Salesforce のユーザーは削除できない
まず大前提ですが、Salesforce のユーザーレコードは削除できません。ユーザーはレコードの所有者や履歴の作成者としてデータ全体から参照されているためです。できるのは「無効化」または「凍結」です。
無効化と凍結(フリーズ)の違い
| 無効化 | 凍結(フリーズ) | |
|---|---|---|
| ログイン | できなくなる | できなくなる |
| ユーザーライセンス | 組織内で再割り当て可能になる(課金数は変わらない) | 解放されない |
| 即時性 | 事前の片付けが必要なことがある | すぐに実行できる |
つまり凍結は、「とりあえず今すぐ入れなくする」ための手段です。Salesforce 公式も、ユーザーを無効化する前に作業が必要な場合に凍結を使うと説明しています。
カスタム階層項目とは
階層関係(Hierarchical)は、ユーザーオブジェクトでのみ使える特別な参照関係です。「この人の上司は誰か」のように、ユーザーから別のユーザーを指すために使います。設問の Direct Manager 項目はこれに当たります。 ここがこの問題の要点です。対象ユーザーが、他のユーザーレコードのカスタム階層項目で参照されている間は無効化できません。参照元のDirect Manager項目を別のユーザーに変更するか空にし、すべての参照を解消してから無効化します。したがって「今すぐアクセスを止めてほしい」という要求には、先に凍結で対応します。
設問の状況を分解する
- 人事部から「すぐに」アクセスを止めてほしいと言われている(即時性の要求)
- そのユーザーはカスタム階層項目 Direct Manager で参照されている
- 参照されている間は無効化できない(障害)
- だから「先にログインを止め、あとで参照を外す」順序になる 初学者が誤るのは、「退職→無効化」と反射的に答えてしまうことです。この設問は「階層項目で参照されている」という一文をわざわざ入れて、無効化がその場ではできないことを気づけるかを試しています。
🤔 ここがまだモヤッとする方へ:凍結・無効化・削除の違いと、退職者対応の順序をSalesforceのユーザーは削除できない:無効化と凍結、ライセンスの関係で丁寧に解説しています。
選択肢の検討
A. ユーザーを凍結(フリーズ)してログインできないようにし、その間に Direct Manager 項目からの参照を取り除く。 → ⭕ 正解
凍結は、カスタム階層項目の参照を解消する前でも実行でき、対象ユーザーのログインを阻止します。まず凍結で人事部の「すぐに」という要求を満たし、その後で参照を外して無効化し、ライセンスを組織内で再割り当て可能にする——この2段階が正しい手順です。
B. ユーザーを無効化し、Direct Manager 項目で参照されているレコードをすべて削除する。 → △(惜しいが不正解)
最終的なゴールとしては無効化で正しいので惜しい選択肢です。しかし、2つ問題があります。第一に、階層項目で参照されている限り無効化はブロックされるので、この順番では実行できません。第二に、参照しているレコード(部下のユーザーレコード)を削除するのは行き過ぎです。外すのは項目の値だけです。 判別基準:「今すぐログインを止める」手段が凍結、「ライセンスを再割り当て可能にして恒久的に利用停止する」手段が無効化。
C. Direct Manager 項目での参照からユーザーを取り除きながら、ユーザーのプロファイルを読み取り専用に変更する。 → ✕
プロファイルを制限しても、ユーザーは依然としてログインでき、データを閲覧できます。人事部の要求は「アクセスを削除すること」であり、閲覧できる状態を残すのは要求未達です。情報持ち出しリスクも残ります。
D. ユーザーを削除し、Direct Manager 項目で参照されているすべてのレコードを変更せずに残す。 → ✕
前提知識のとおり、Salesforce のユーザーレコードは削除できません。存在しない操作を選んでいるので、定義の段階で誤りです。
管理者としての対処手順
- [設定]→[ユーザー]で対象ユーザーを開き、[凍結]をクリックしてログインを阻止する
- Direct Manager項目で対象ユーザーを参照しているユーザーレコードを特定する。件数が多い場合はData Loaderで抽出する
- 参照値を新しい上司に付け替えるか、空にする。Data Loaderを使う場合は、null値を書き込める設定で一括更新する
- デフォルトのリード所有者・ケース所有者・ワークフローユーザー、承認者など、無効化を妨げる他の参照や割り当ても確認して引き継ぐ
- 必要に応じて、対象ユーザーが所有するレコードの所有者を引き継ぎ先へ変更する
- 参照がなくなったことを確認し、対象ユーザーの[有効]チェックを外して無効化する
あわせて覚えておきたいポイント
- 階層関係はユーザーオブジェクト専用のリレーションで、自分自身を選択することはできません。
- カスタム階層項目で対象ユーザーを参照しているすべてのユーザーレコードについて、項目値を別のユーザーに変更するか空にしてから対象ユーザーを無効化します。
- 凍結はライセンスを解放しないので、長期的な退職者対応は必ず無効化まで完了させます。
- 無効化されたユーザーも、所有権を移管するまではレコードの所有者として残り、履歴情報も保持されます。
出典(Salesforce公式)
- カスタムの「ユーザー階層」項目が原因でユーザーを非アクティブ化できない — 他のユーザーレコードに残るカスタム階層項目の参照値をクリアすると、対象ユーザーを無効化できることを裏付けます。
- Error ‘Cannot deactivate a User or make them inactive’ on User Deactivation — 参照元となる各ユーザーの階層項目から対象ユーザーを取り除く手順、およびユーザーは削除できず無効化することを裏付けます。
- ユーザーの無効化の考慮事項 — 無効化すると利用可能なライセンス枠には数えられなくなる一方、契約上の課金ライセンス数は減らないことを裏付けます。
- ユーザーの無効化 — ユーザーレコードは削除できず、[有効]チェックを外して無効化すること、カスタム階層項目の参照が無効化を妨げることを裏付けます。
- Freeze or Unfreeze User Accounts — カスタム階層項目などのため直ちに無効化できない場合、凍結でログインを阻止できること、および凍結ではライセンスが再利用可能にならないことを裏付けます。
- Unable to deactivate User due to custom User Hierarchy field — カスタム階層項目で参照されていることが原因で無効化が失敗する事例と対処
- Object Relationships Overview — 階層関係がユーザーオブジェクトだけで利用できる特別な参照関係であり、自己または間接的に自己を参照できないことを裏付けます。