KNOWLEDGE
KNOWLEDGE

【Salesforce】プロファイルと権限セットの綺麗な設計方法

Salesforceシステム管理者の方なら必ず行う作業がプロファイルと権限セットの設定。どちらの設定もできることがほぼ同じ、具体的な活用方法も載ってないので、イマイチどう使い分ければ良いかわからない方も多いのではないでしょうか?

特によく目にするのが、「難しくてわからないから、とりあえず管理者権限エイッ!」「役割ごとにプロファイルを作成しよう」。この設定だと組織が大きくなった時に権限が煩雑になり、意図しない使われ方を招くことがあります。

そこで今回はプロジェクトでの事例を交えながら、Salesforceプロファイルと権限セットの関係性、具体的な設計方法についてご紹介します。

プロファイルと権限セットなど、権限周りの関係について

そもそもですがプロファイルと権限セットの関係について説明します。実際はロール、共有権限もあるんですが、ややこしくなるのでここでは2つに絞ります。

Salesforceの権限の大前提は「許可優勢」です。権限が無い状態から始まり、プロファイル、権限セットを使いながら権限を許可していきます。
プロファイルはユーザに必ず紐づく権限。権限セットで追加許可を行っていきます。権限セットは複数付与が可能です。

「プロファイルでは許可、権限セットでは許可してない場合は?」

この場合は、どんな条件であれ許可が優勢になります。Salesforceでは権限を制限する設定は存在しないことを覚えておきましょう。

プロファイルと権限セットを使い分ける必要性

プロファイル、権限セットの関係がわかったところで、なぜ使い分ける必要があるのか説明します。

非常にシンプルな組織であれば、プロファイルのみで権限を割り振っても良いかもしれません。では、こんな時はどうしますか?

「セールスチームの中でも一部のマネージャーにのみ、ファイルエクスポート権限を付与してほしい」
「インサイドセールスとカスタマーサクセスを一緒に行うメンバーがいる」
「カスタマーサクセスの中でもパートの方には見せたくない情報がある」

もう、本当にあるあるです。プロファイルのみで管理しようとするとこうなります。

  • セールスチーム
  • セールスチーム(マネージャー)
  • インサイドセールス
  • カスタマーサクセス
  • インサイドセールス&カスタマーサクセス
  • カスタマーサクセス(パート)

見るからに気持ち悪いですね…プロファイルはユーザの最小権限です。プロファイルである程度の権限を付与してしまうと上下、左右の越境、あるいは制限に対応できなくなり、パターン分だけプロファイル作成が必要になります。
この拡張性を担保するために、プロファイルを最小構成にし、権限セットによって追加付与する管理が必要になります。


ここからは実際のプロファイル、権限セットの設計方法をご紹介します。

管理者と使用者のカスタムプロファイルを作成

Salesforceでは項目設定やデータ管理を行うシステム管理者と、設定済みのSalesforceを使う使用者に分かれます。標準プロファイルでシステム管理者と標準ユーザがありますが、プロファイルの設定変更ができないためコピーしてカスタムプロファイルを作成しましょう。

使用者のプロファイルには何も権限付与しないで大丈夫です。ここからが権限セットの出番です。

用途別に権限セットを作成

使用者プロファイルでは最低限の権限しかない状態でしたが、ここから権限セットによって追加付与していきます。ここからは実際のプロジェクトを例に紹介します。

今回のプロジェクトの要件は以下の通りでした。

・チームはCS、営業、データ管理、経理
・CSの一部はデータインポートを行う
・営業の一部はCS業務まで受け持つ
・メンバーの一部はCSVエクスポートを行う

用途別で権限セットを作成していくのですが、ここで注意するのが「職種、役職で権限セットを作らない/用途で作成する」です。職種、役職で分けると複数用途を含みます。
今回の例だと、CSは顧客管理を行い、営業は商談管理/一部の顧客情報閲覧、一部の営業は顧客管理を行います。「CS」という権限セットを作成すると、営業の一部に営業とCS権限セットを付与することになり、「この人営業なのにCSも付けられてる」と名称で混乱します。
そのため、用途別に権限セットを作成しましょう。

今回この様な分け方にしました

  • 商談管理
  • 顧客管理
  • 業務データ管理
  • インポート管理
  • CSVエクスポート

付与方法はこんな感じです。

もし初期に作った権限セットの粒度が荒かった場合は、後で分割するでよいと思います。細かく切りすぎても管理が大変になるので、粒度は意識しましょう。

システム管理者に便利な権限セットグループ

システム管理者の場合、基本的にすべての項目にアクセスできていると便利ですよね。
そこで使うのが権限セットグループ。作成した権限セットすべてを権限セットグループに追加し、システム管理者を追加します。こうすることで、すべての権限セットにシステム管理者を追加しなくてもすべての設定が反映されます。

項目、レコードタイプなど細かな設定は権限セットで

最後に権限セットの運用方法ですが、項目やレコードタイプ作成時、プロファイルに権限を付与しないでください。
例えば、商談で営業は編集でき、CSは閲覧できれば良い場合、プロファイルに編集権限を付与すると全員に権限付与されてしまいます。項目作成時に間違えて権限付与のチェックをつけっぱなしにしがちですが、必ずチェックを消すように運用しましょう。

項目追加時のチェックはすべて外す

少し面倒かもしれませんが、項目追加後に権限セットで項目に対して権限付与します。

これでフレキシブルな権限付与の実現です!

まとめ

Salesforceの権限付与はわかりづらく、最初煩雑にしがちですが、後々の運用コストに関わる重要な設定です。将来を見越した設計が必要になります。

今回の事例は15人程度の企業規模ですが、すでにこれだけのパターンが存在します。(もしかすると少人数の方が役割越境のケースが多く、複雑なのかもしれませんね。)
初期段階から権限を意識して設計、実装して、汎用的な運用を実現しましょう!

事業/組織開発
アメリカ/ボストン生まれ。新卒のナビタイムジャパンでフロント/サーバーサイドエンジニアを経験後、グッドパッチでプロジェクトマネージャー、UXデザイナー、マーケティングを担当。2019年セブンデックスに入社。事業・組織開発として、マーケティング、プロジェクトグロースに従事。SalesfoceなどCRMを活用した事業支援を行なっている。