Salesforceでレコードへのアクセス権限が不足する場合、原因は権限セットと共有設定のどちらか、あるいはその組み合わせにあります。特に「共有セット」という機能は、特定の条件下でデータを共有するために利用されますが、設定が正しくても権限不足が発生するケースがあります。本記事では、共有セットを使用している環境で権限不足が起きた際に、権限セットと共有設定の両面から原因を切り分ける方法を解説します。実際の操作手順や失敗例を交えながら、確実に解決へ導く流れを説明します。
【要点】この記事で確認すること
- 最初に見る場所: ユーザの権限セットの割り当て状況と、対象オブジェクトの組織共有設定(OWD)
- 切り分けの軸: 権限セットの「オブジェクト権限」と「共有セットの設定」、および共有ルールの適用範囲
- 注意点: 権限セットで「参照」権限がなく共有セットが有効でもレコードは見えない。また、共有セットは「共有条件を満たす場合」のみ機能することを理解する
ADVERTISEMENT
目次
権限不足の原因を切り分けるための全体像
Salesforceにおけるレコードアクセスは、階層的な権限モデルで構成されています。最上位には「組織の共有設定」(OWD)があり、次に「権限セット」や「プロファイル」によるオブジェクト権限、そして「共有ルール」や「共有セット」によるレコード単位の共有が続きます。権限不足が発生した場合、まずはこのどの層に問題があるのかを特定する必要があります。共有セットを使用している環境では、共有セットが正しく機能しているかどうかだけでなく、ユーザがその共有セットを通じてアクセスできるようになるために必要な前提条件が満たされているかを確認します。
権限セットと共有設定の違い
権限セットは、ユーザに特定のオブジェクトや項目へのアクセス権限を追加で付与するための仕組みです。一方、共有セットは、特定の条件下でレコードを他のユーザと共有するためのルールであり、例えば「取引先責任者が特定のキューに属する場合」などの条件に基づいてレコードの可視性を拡張します。権限セットが「見る権利」そのものを与えるのに対し、共有セットは「特定の範囲で見えるようにする」仕組みです。両方が適切に設定されていないと、権限不足が発生します。
共有セットで権限不足が起きる代表的なシナリオ
- ユーザに権限セットでオブジェクトの「参照」権限が付与されていないため、共有セットが適用されてもレコードが表示されない。
- 共有セットの条件が正しく設定されておらず、対象レコードが共有セットの条件に一致しない。
- 共有セットが適用されるロールやグループが意図した範囲と異なる。
- 組織の共有設定(OWD)が「公開」よりも厳しい設定になっており、共有セットの内容と競合している。
共有セットの設定とその影響範囲
共有セットは「設定」→「共有設定」→「共有セット」から管理します。共有セットには、以下の要素が必要です。
- 共有セット名と説明:管理用の識別子。
- 共有条件:どのレコードを共有するかを決定するルール。例:取引先責任者オブジェクトで「役割が’管理者’」など。
- アクセス権:共有されるレコードに対して、どのアクセスレベル(参照、編集)を与えるか。
- 共有先:条件に一致するレコードを誰と共有するか。ロール、ロール階層、ポータルロール、グループ、キューなどを指定できます。
共有セットが正しく機能するためには、まずユーザがその共有セットの共有先に含まれている必要があります。また、共有条件を満たすレコードが存在し、そのレコードが組織共有設定でユーザに表示可能な状態である必要があります。
共有セットと権限セットの相互依存関係
共有セットによってレコードが共有される場合でも、ユーザにはそのオブジェクトに対する「参照」権限が権限セットまたはプロファイルで付与されている必要があります。もし権限セットでオブジェクト権限が「なし」の場合、共有セットによってレコードが共有されても、ユーザはそのレコードを表示できません。この点は見落とされがちなポイントです。逆に、権限セットで「参照」権限があっても、組織共有設定や共有ルールによって可視性が制限されていれば、レコードは見えません。
| 設定項目 | 役割 | 影響範囲 | 権限不足の原因になりうるか |
|---|---|---|---|
| 権限セット | オブジェクト・項目へのアクセス権限を追加付与 | すべてのレコード(組織共有設定の制限を受ける) | はい(参照権限がないと共有セットが機能しない) |
| 共有セット | 条件に合うレコードを特定のユーザ・グループに共有 | 条件に一致するレコードのみ | はい(条件不一致や共有先が不適切) |
| 共有ルール | ロール階層やグループに基づいてレコード共有 | 条件に基づくレコードセット | はい(ルールの条件や優先順位の問題) |
| 組織共有設定(OWD) | レコードのデフォルトアクセスレベルを設定 | すべてのレコード | はい(「非公開」設定だと共有セットが上書き可能だが、権限セットの参照権限が必要) |
権限セットの確認ポイント
権限セットが正しく設定されているかを確認する手順を説明します。まず、管理者は「設定」→「ユーザ」→「権限セット」から該当の権限セットを開きます。次に、以下の点をチェックします。
- オブジェクト権限:対象オブジェクトに対して「参照」権限がチェックされているか。必要に応じて「作成」「編集」「削除」も確認します。
- 項目レベルセキュリティ:権限セットに含まれる項目のアクセスレベルが、ユーザが必要とするフィールドに対して適切かどうか。特に参照が必要な項目が読み取り不可になっていないか確認します。
- 権限セットの割り当て:問題が発生しているユーザに当該権限セットが割り当てられているか。「ユーザの権限セット割り当て」レポートなどで確認します。
- 権限セットグループ:権限セットグループを使用している場合、そのグループに含まれる個別の権限セットがすべて有効で、適切な組み合わせになっているか確認します。
権限セットでよくある設定ミス
- 権限セットでオブジェクト権限を「なし」のまま共有セットだけ設定している。この場合、ユーザはオブジェクトそのものにアクセスできず、共有セットが適用されてもレコードは表示されません。
- 項目レベルセキュリティで重要な項目が「参照不可」になっている。例えば、レコード名が表示されない場合、ユーザはデータが存在することすら認識できません。
- 権限セットの有効期限やライセンス要件を満たしていない。一部の権限セットは追加ライセンスが必要な場合があります。
共有設定の確認手順
共有設定の確認は、組織全体の設定から順に行います。以下の手順で進めてください。
- 組織の共有設定(OWD)の確認:「設定」→「共有設定」→「共有設定」で、対象オブジェクトのデフォルトアクセスが「公開」か「非公開」かを確認します。もし「非公開」の場合、共有セットや共有ルールによってのみレコードが共有されます。
- 共有ルールの確認:同じく「共有設定」から「共有ルール」を開き、対象のレコードを含むルールが存在するか、またそのルールが有効になっているか確認します。共有ルールはロール階層やパブリックグループに基づいてレコードを共有します。
- 共有セットの確認:「共有セット」を開き、問題のオブジェクトに関連する共有セットを選択します。共有条件、アクセス権、共有先が期待通りかを確認します。
- 手動共有の確認:個別のレコードで手動共有が設定されている場合、それが原因でアクセス権が過不足なく付与されているかを確認します。
共有セットの条件と実際のレコードの一致確認
共有セットの条件が正しく設定されていても、実際にその条件に一致するレコードが存在しなければ共有は発生しません。条件として使用している項目の値が、ユーザのデータと合致しているかを、クエリやレポートで確認することが重要です。例えば、共有条件が「取引先責任者.役割 が ‘管理者’ に等しい」であれば、役割フィールドに「管理者」と入力された取引先責任者レコードが存在する必要があります。また、共有先として指定したグループやロールにユーザが属しているかも合わせて確認します。
よくある失敗パターンとその対策
実務で頻繁に遭遇する失敗例を以下にまとめます。これらのパターンを事前に把握しておくことで、トラブルシューティングの時間を大幅に短縮できます。
| 失敗パターン | 症状 | 原因 | 対策 |
|---|---|---|---|
| 権限セットの「参照」権限がない | 共有セットで共有してもレコードが見えない | 権限セットでオブジェクト権限が未設定 | 権限セットにオブジェクトの「参照」権限を追加する |
| 共有条件の不一致 | 一部のレコードだけ見える、または全く見えない | 共有条件がレコードの値と合致しない | 条件で使用しているフィールドの値を確認し、レコードの値を修正するか条件を変更する |
| 共有先の誤り | 特定のユーザだけ見えない | 共有先のグループやロールにユーザが含まれていない | ユーザを共有先グループに追加するか、共有先を変更する |
| OWDが「非公開」で共有セットのみ | レコードが全く見えない | OWDが非公開でも権限セットがあれば見られると思い込んでいる | OWDを「公開」に変更するか、共有セットの条件と共有先を正しく設定する |
管理者へ伝えるべき情報と連携方法
権限不足の問題をエンドユーザから報告された場合、管理者は以下の情報を収集してから調査を開始すると効率的です。
- 該当ユーザ名とロール:問題が発生しているユーザの正確なロールとプロファイル。
- 見えないレコードの例:具体的なレコードIDやレコード名。可能であれば、そのレコードのオーナーや共有条件に関連する項目の値を報告してもらいます。
- 期待する動作:本来どのレコードが見えるべきか、どの操作ができないのかを明確にします。
- エラーメッセージ:アクセスしようとした際に表示されるエラー文(例:「レコードにアクセスできません」「権限がありません」など)を記録します。
管理者はこれらの情報を基に、まず権限セットの割り当てを確認し、次に共有セットの定義を検証します。必要に応じて、組織の共有設定や共有ルールとの競合をチェックします。複数の共有セットや共有ルールが相互に影響する場合、それぞれの優先順位を確認することも重要です。
よくある質問(Q&A)
Q1. 権限セットで「参照」権限があれば、共有セットなしでもレコードは見えますか?
A1. 必ずしも見えません。権限セットはオブジェクトレベルでのアクセス権を与えますが、組織共有設定(OWD)が「非公開」の場合、自分がオーナーでないレコードは見えません。共有セットや共有ルールによって明示的に共有される必要があります。
Q2. 共有セットと共有ルールはどちらを優先すべきですか?
A2. 両方とも有効にできますが、意図が重複する場合は管理が複雑になります。基本的には、役割やグループに基づく定型的な共有には共有ルールを、条件に基づく動的な共有には共有セットを使用すると整理しやすいです。優先順位に特別な上下はなく、両方の条件を満たす場合は共有が有効になります。
Q3. 共有セットで共有しているのに、一部のユーザだけ見えるのはなぜですか?
A3. 共有セットの共有先として指定したグループやロールに、見えないユーザが含まれていない可能性があります。または、そのユーザに権限セットでオブジェクトの参照権限が付与されていないケースも考えられます。共有セットの設定画面で「共有先」を確認し、条件に一致するレコードが存在するかも合わせて検証してください。
Q4. 権限セットで項目レベルセキュリティを設定しても、共有セットで見えるレコードに影響しますか?
A4. 影響します。共有セットでレコード全体へのアクセスが与えられても、項目レベルセキュリティで特定の項目が「参照不可」になっている場合、その項目は表示されません。したがって、権限セットと共有セットの両方を考慮して設定する必要があります。
まとめ
共有セットを使用した環境で権限不足が発生した場合、原因は権限セットのオブジェクト権限不足、共有セットの条件や共有先の設定ミス、または組織共有設定との競合にあることが多いです。本記事で示した手順に従って権限セットと共有設定を段階的に確認することで、問題の箇所を特定しやすくなります。特に、権限セットで参照権限が付与されているかどうかは最初にチェックすべきポイントです。管理者と連携し、具体的なレコードやユーザ情報をもとに調査を進めてください。適切な設定により、ユーザが必要なデータにアクセスできる環境を維持できます。
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
