こんにちは、にいるです。
今日は「ロール階層を使用したアクセス許可について」について、紹介したいと思います。
・【Salesforce】組織の共有設定の使い方
・【ヘルプ】ロールを使いこなすためのガイドライン
1.ロール階層とは
ロール階層とは、簡単に言うと上司と部下の関係ですね。
上に誰がいて、その下には誰がいるかと言うものを定義します。
組織でもそうですよね。
社長がいて、その下にマネージャーがいて、さらにその下に平社員がいる。
これをSalesforceで定義する機能がロールです。
2.ユーザへのロールの割り当て
このロールはユーザレコードで定義することが可能です。
ユーザをロールに割り当てると、下記のことが可能になります。
「ロール階層を使用したアクセス許可」について、詳しく説明します。
3.ロール階層を使用したアクセス許可
ロール階層を使用したアクセス許可」はロール固有の共有機能です。
標準オブジェクトでは必ず有効になっていて、カスタムオブジェクトのみ有効のオンオフの切り替えが可能です。
これは[設定]→[共有設定]で確認ができます。
この[階層を使用したアクセス許可]を使用すると、ロール上の上司は部下のレコードへのアクセス権限を持つことができます。
逆に言うと、このロール階層上でレコードを共有したくない場合は、対象レコードがカスタムオブジェクトであり、かつ[階層を使用したアクセス許可]がオフになっていないとダメです。
実際に検証していきます。
カスタムオブジェクトの共有設定とプロファイル上のアクセスレベル、レコードの所有者を3パターンか用意しました。
3-1.上司プロファイルにオブジェクトへのアクセス権限がない
カスタムオブジェクトの 共有設定 |
上司プロファイルの オブジェクト参照権限 |
部下プロファイルの オブジェクト参照権限 |
レコードの所有者 |
オン | なし | あり | 部下 |
これだと、上司は部下が所有するレコードを見ることができると思ったんですが、、、ダメでした。
そもそもオブジェクトへのアクセス権限がないので、レコードへのアクセス権限があっても無理なようです。
組織の共有設定は無視できても、プロファイルレベルのアクセス制御は無視できないようです。
3-2.上司プロファイルにオブジェクトへのアクセス権限がある
カスタムオブジェクトの 共有設定 |
上司プロファイルの オブジェクト参照権限 |
部下プロファイルの オブジェクト参照権限 |
レコードの所有者 |
オン | オン | あり | 部下 |
こちらは問題なく、上司ユーザからレコードが見えました。
階層関係で共有される権限はフルアクセスですが、プロファイルで作成だけに絞っているので、標準ボタンが何も表示されませんでした。
例えば、階層による共有で参照と編集の2つ、プロファイルでは参照、編集、作成の3つが許可されている場合は前者の階層共有のアクセスレベルが適用されます。
3-3.部下ユーザに共有されたレコードの共有
カスタムオブジェクトの 共有設定 |
上司プロファイルの オブジェクト参照権限 |
部下プロファイルの オブジェクト参照権限 |
レコードの所有者 |
オン | オン | あり | 上司/部下以外 |
他のユーザが持つレコードを部下に手動共有しました。
その結果、上司ユーザでもレコードの参照が確認できました。
3つの検証で上司が部下のレコードを見るには、下記3つを満たす必要があるということがわかりました。
- 階層を使用したアクセス許可がTrue
- 部下がアクセスできるレコードがある
- 上司プロファイルにオブジェクトへのアクセス許可がある
また、上司のアクセスレベルは部下のアクセスレベルと同じものになります。
4.まとめ
いかがでしたでしょうか。
「階層を使用したアクセス許可」を使用した共有を使用する場合、基本的にプロファイルレベルでちゃんとオブジェクトへのアクセスレベルを定義しておくことをおすすめします。
といっても、参照、作成、編集の3つがあれば大体は問題ないと思います。
(レコードの重複が起こるようであれば、作成はなしにしておきましょう。)
あと、組織の共有設定も「非公開」の方がいいと思いますね。
「階層を使用したアクセス許可」には直接、関係はないですが、全レコードが誰にでも見えるのを避けるためにも「非公開」をおすすめします。
Salesforceの共有設定は複雑なので、しっかり把握しておきたいですね。
皆さんもぜひ色々と試してみてください。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。
ではでは!