こんにちは。
本橋孝昭です。
皆さんはSalesfroceの共有について学ぶ際に色々と悩む部分や気になる点があるかと思います。
今回は特に皆様が気になる部分や間違えそうな部分をまとめました。
※もっと多く深く学びたい人はこちらの記事も参考にしてください※
今日は仮にこんな業務が発生したとしましょう
(あなたはSalesforceシステム管理者で上司から下記の指示があったと思ってください)
「業務内容」
Salesforceに新しいデータ「採用情報」を管理するようになり、管理することになった。
「採用情報」は秘密情報なので、特定のユーザにしか見せたくない。
閲覧できるユーザはプロファイル「人事部」「総務部」「システム管理者」のみである。
なお、プロファイル「人事部」はすべての「採用情報」の閲覧もできるし編集もできる。しかしプロファイル「総務部」はすべての「採用情報」の閲覧しかできない(編集はできない)
どうでしょうか?
おそらく皆さんの会社でも採用情報(面談者の住所や経歴など)は秘密事項なので、営業部などは閲覧不可となっているはずです。なので、「人事部」や「総務部」など特定の人たちのみにみれているはずです。(そんなイメージだと思ってください)
さあ、まずはSalesforceで「採用情報」の管理を考えましょう。
Salesforceには顧客情報管理の標準オブジェクトや商談管理の標準オブジェクトはありますが、採用情報の管理ができる標準オブジェクトはないはずなので、カスタムオブジェクト「採用情報」を作成します。
そして、作成したカスタムオブジェクトについて「誰を閲覧可能にするか?誰を編集可能にするか?」の権限を付与します。
今回はプロファイル「人事部」には「閲覧権限、参照権限」を。
プロファイル「総務部」には「閲覧権限」のみを付与します
(なお、標準プロファイル「システム管理者」はすべてのカスタムオブジェクトのレコードの閲覧、編集ができて、その権限を絞り込むことはできない というルールがあります)
さて、これでこの業務は完了ですが、ここでもしかしたら「あれ?いつものあの画像の話はどうなった?
?」と疑問に思うかもしれません。。
そうです。この画像の話が一切ないですね
画像はこちらから引用
https://successjp.salesforce.com/article/NAI-000106
実は、組織共有設定、ロール階層、共有ルール、手動共有などの話については今回の業務内容で考える必要がない設定です
(しいていえば組織の共有設定を公開にしておいてください)
そもそもの話として
・オブジェクト内のレコード閲覧や編集権限は、プロファイル(権限セット)に依存する
というルールがあります。
今回の場合、
・プロファイル「人事部」「総務部」「システム管理者」のみすべてのレコード閲覧をさせたい
・そのほかのプロファイル(営業部やマーケティング部など)は絶対レコード閲覧させてはいけない
と、プロファイルごとに見せるor見せない は明確です。
なので、プロフェイルのオブジェクト閲覧制限の設定で今回の設定は可能でした。
こちらは「総務部」プロファイルです。採用オブジェクトが閲覧のみになっていますよね
次に「人事部」プロファイルです。採用オブジェクトが閲覧や編集が可能になっていますよね
最後に「営業部」プロファイルです。採用オブジェクトの閲覧や編集が全くできない設定ですね
さあ、もう一度業務内容をみていきましょう
>プロファイル「人事部」はすべての「採用情報」の閲覧もできるし編集もできる。しかしプロファイル「総務部」はすべての「採用情報」の閲覧しかできない(編集はできない)
この中で「すべての」という言葉に注目です。
もしもこれが「人事部の中でも一部の採用情報を見せなくしたい」の場合であれば、組織共有設定、ロール階層、共有ルール、手動共有などの話が必要です
例として、例えば
「アルバイト佐藤さんがインターンとして入社した。アルバイト佐藤さんは人事部に配属されましたが、特定の採用情報(例えば海外の採用者)などは見せる必要がないので協議の結果、人事部に配属されながら一部の採用情報レコードのみ閲覧可能にしたい」
というような要望がある場合、組織共有設定、ロール階層、共有ルール、手動共有などの話が出てきます。
しかし、今回は人事部は(採用情報オブジェクトの)「すべての」レコード閲覧がしたい。ということなので、今回の組織共有設定、ロール階層、共有ルール、手動共有などの話については今回の業務内容で考える必要がない設定です。
つまりオブジェクトの閲覧権限について、最初はプロファイル(もしくは権限セット)をベースに権限付与します。
(ここでそのオブジェクトが見れるユーザがすべてのレコードが見たい。という場合、この話はこれでおしまい)
もしも、そのオブジェクトが見れるユーザがすべてのレコードが見たい。ではなく。特定のレコード見せたくない。という場合、組織共有設定、ロール階層、共有ルール、手動共有などの話がでてきます。
いかがでしたでしょうか。
なお、詳細についてはこちらのTrailheadで学習してみてください
https://trailhead.salesforce.com/ja/content/learn/modules/data_security/data_security_overview