コラム詳細

Salesforceのアクセス権限を使いこなす2 ロール階層でレコードアクセス権を共有する

2023年04月13日

  • Salesforce
  • 設定・管理

はじめに

セラクCCCのSalesforce推進部のAです。Salesforceは機密性の高いデータを扱う場合があるので、全てのユーザが全てのデータにアクセスできる状況は望ましくありません。プロファイルと権限セットを使えばオブジェクト単位でユーザのアクセス権限を制御できますが、レコード単位で制御するためにはロールや共有設定などの機能が必要です。本記事ではSalesforceのデータセキュリティコントロールのために、「ロール」や「共有設定」を使ったレコードアクセス権限についてご紹介します。

 

*多要素認証の設定やアクセス制御、権限設定などセキュリティについて解説しているこちらの資料「Salesforceアクセス制御 権限設定のポイント」と併せてご活用ください。

 

ロールとは?

Salesforceのロールとはレコードへのアクセス権限付与を効率化するための機能です。ロールを使ってアクセス権限の上下関係を設定すれば、上位ユーザが下位ユーザのレコードアクセス権限を自動的に共有できるため、個別に権限付与する手間を省けます。

 

組織の共有設定でレコードアクセス権を制限する

「組織の共有設定」はユーザのレコ-ドアクセスを制限する唯一の方法です。レコードアクセス権の制限と付与を行う際に最初に設定する必要があります。

 

設定名称 概要
非公開 レコードの所有者のみが、レコードに対して参照や編集、レポートを実行します。
公開/参照のみ 全てのユーザは、レコードに対して参照とレポートを実行できますが、編集はできません。
レコードの所有者のみが、そのレコードを編集できます。
公開/参照・更新可能 全てのユーザがレコードすべてに対して参照、編集、およびレポートを実行できます。
親レコードに連動 オブジェクトリレーション[主従関係]が設定された従オブジェクトのレコードアクセス権が親オブジェクトに連動します。
たとえば親[取引先]で従[契約]という場合は、取引先Aに対して編集権限を持つユーザのみが、A社との契約を編集できます。

<主な共有設定の種類>

 

主な共有設定は[親レコードに連動][非公開][公開/参照のみ][公開/参照・更新可能]の4種類です。

 

組織の共有設定の編集画面
<組織の共有設定の編集画面>

 

クイック検索から[共有設定]を選べば、オブジェクトごとに[組織の共有設定]を編集できます。

 

[デフォルトの内部アクセス権]は社内向けのアクセス権、[デフォルトの外部アクセス権]は社外向けのアクセス権でそれぞれ設定できます。
[階層を使用したアクセス許可]は、ロール階層によるレコードアクセス権限の共有が有効かを設定する機能です。ほとんどの標準オブジェクトでは有効に固定されており、カスタムオブジェクトに関してのみ変更可能です。

 

レコードの所有権とフルアクセス権限

Salesforceのレコードには「所有者」が設定されています。所有者は自分の所有するレコードに「フルアクセス」という権限を持ちます。
共有設定で「非公開」や「公開/参照のみ」に設定されていても、このフルアクセス権限を持つレコードに関しては参照や編集など、プロファイルで指定されている最大限のアクセスが可能です。

 

ロール階層を利用してレコードアクセス権限を共有する

樹形図(ツリー図)のイメージ
<樹形図(ツリー図)のイメージ>

 

ロールはレコードアクセス権限を樹形図(ツリー)の形で階層化したものです。ロール階層を設定してユーザに紐づけることで、上位ロールのユーザに下位ロールのユーザが所有するレコードへのフルアクセス権限を自動的に共有できます。

 

ロール階層
<ロール階層>

 

ロール階層は一見すると企業の組織図に似ています。そのため、ロール階層を設定する時に自社の組織図そのままのロール階層を設定してしまいがちです。しかし、ロールを設定した後で組織変更が起こると、ロール階層の再設定や一部ユーザのロール再設定が必要になるケースがあります。また、ロールはユーザに1つしか紐づけられないため、組織図そのままのロール階層では役職を兼務しているユーザに適切な権限を付与できないケースもあります。こういった問題を避けるために、企業の組織図を元にしつつもロール階層はできるだけ簡素化した方が良いでしょう。

 

レコードアクセス権限設定の手順

以下のように権限を設定したい場合を例に手順をご紹介します。

  • ・営業スタッフAは自分で担当している商談レコードαを編集できる
  • ・営業スタッフBは担当している商談レコードβを編集できるが、担当していない商談レコードαは参照しかできない
  • ・営業スタッフAB共通の上司である営業部長Dは直接担当していないが、αβどちらのレコードも参照/編集できる

 

1.プロファイル設定を確認する

プロファイルの設定画面
<プロファイルの設定画面>

 

営業スタッフAは自身が作成した商談レコードを所有します。所有者はプロファイルで規定された最大限の権限(フルアクセス権)を持つため、プロファイルで商談オブジェクトが編集できるように権限付与されているか、設定画面から確認します。

 

2.組織の共有設定で権限を制限する

組織の共有設定で、商談オブジェクトの権限を[公開/参照のみ]にします。
これで、全てのユーザは商談オブジェクトを参照できるが、所有者以外は編集できないように設定できました。

 

3.ロール階層で権限を共有する

営業部に関するロール階層設定例
<営業部に関するロール階層設定例>

 

営業部ユーザのロール設定例
<営業部ユーザのロール設定例>

 

最後にロールの階層設定と営業スタッフのロール設定を行い、レコード所有権は上司である営業部長に自動で共有されるようにして完了です。

 

レコードアクセスを制限する際には、共有設定で一度全てのユーザの権限を制限した後で特定のユーザへの権限付与を行うことが必要です。

 

まとめ

Salesforceのレコードアクセス権限には、レコードの個別設定やプログラム言語Apexを使った高度な権限設定も存在します。そのため、アクセス権限を効率的に活用するためには関連するいくつもの機能に習熟する必要があります。多要素認証の設定やアクセス制御、権限設定などセキュリティについて解説しているこちらの資料「Salesforceアクセス制御 権限設定のポイント」と併せてご活用ください。

また、「アクセス権限の設定作業を信頼できる外部企業に委託したい」「現在のアクセス権限に関する社内設定を見直して、より効率的に使えるように改修したい」といったことでお悩みでしたらセラクCCCにご相談ください。セラクCCCには300名(23年5月時点)を超える専門コンサルタントが在籍し、このような問題解決をサポートしますので、ぜひ無料相談からお問い合わせください

Salesforceでお悩みなら、
まずはお気軽に
お問い合わせください

  • TOP
  • コラム一覧
  • Salesforceのアクセス権限を使いこなす2 ロール階層でレコードアクセス権を共有する

Salesforceでお悩みなら、
まずはお気軽に
お問い合わせください