Salesforceは、セキュリティに非常に優れたツールといえます。中でもユーザーに対するアクセス制御・管理に関して、さまざまなレベルで細やかな設定が可能なため、ぜひともそれらアクセス制御関連の機能を使いこなしておきたいところです。
本記事では、Salesforceでの基本的なアクセス制御の概念を押さえつつ、共有設定でレコードへのアクセスを制御する方法について解説いたします。
アクセス制御のよくある事例
Salesforceでは、オブジェクトやレコードごとに誰がどのデータにアクセスできるかの制限をかけられます。
例えば、以下のような事例があると想定します。
- マーケティングや営業に関係する部署は、リードレコードにアクセスできる
- 営業活動に関係がない部署は、リードレコードにアクセスできない
- CEOや役員など一定の階層以上のユーザーは、リードレコードにアクセスできる
上記のような、一見すると複雑そうに思えるアクセス制御も、Salesforceではオブジェクトへのアクセス制限と「共有設定」の組み合わせで、比較的簡単に実現できます。
アクセスを制限する方法
Salesforceでアクセスを制限する方法には、大きく分けて以下の2種類があります。
- オブジェクト権限
- 共有設定
オブジェクト権限は、オブジェクトに対して持つユーザーのアクセス権を制御できます。
一方で、オブジェクト全体に対する権限とは別に、データへのアクセス権をレコードレベルで制御する場合には、「共有設定」を使用します。
レコードへのアクセス制御のための「共有設定」とは?
共有設定を使用すると、前述の通りオブジェクトのそれぞれのレコード単位で「参照・更新できるかどうか」の制御ができます。
ユーザーのレコードアクセス権を設定するために使用できる共有の方法はいくつか存在し、設定範囲が広い順に「組織の共有設定」「ロール階層」「共有ルール」「共有の直接設定」があります。
- 組織の共有設定
- ロール階層
- 共有ルール
- 共有の直接設定
Salesforceにおいては、設定範囲を広くできる方法ほどアクセス制約を厳しくするという基本原則があります。
最初に組織の共有設定で厳しい制約をかけておき、個別に条件を追加する形で権限を広げていきます。
それぞれの共有方法について、以下より見ていきましょう。
組織の共有設定
組織の共有設定では、各オブジェクトに対する基本的なアクセス権を定義します。
Salesforceには、オブジェクト単位・レコード単位・項目単位の共有パターンがありますが、組織の共有設定はそれらよりも基礎的な共有ルールを設定します。
例えば、「リード」オブジェクトの参照や編集をユーザー自身が所有するレコードに限定する場合は、リードに対する組織の共有設定を[非公開]に設定することで実現できます。
ロール階層
ロール階層では、階層内でレコード所有者より上位のユーザーにそのレコードへのアクセス権が自動的に付与されます。
ただし、カスタムオブジェクトではロール階層を使用して共有アクセス権を設定できますが、標準オブジェクトは設定できないので注意が必要です。
共有ルール
共有ルールは、「組織の共有設定」に対する例外ルールを定義します。共有ルールを使用するとロール階層におけるユーザーのポジションに関係なく、レコードへのアクセス権をそのユーザーに付与できます。
例えば、オブジェクトの組織の共有設定が 、[公開/参照のみ]または[非公開]になっている場合、ユーザー自身が所有していないレコードへのアクセス権を与えるルールを定義できます。
共有の直接設定
レコードの詳細ページから共有の直接設定を使用して、特定の種類のレコードへのアクセスを特定のユーザーに許可できます。
レコード所有者は、この直接設定を使用することでレコードを参照する必要があるユーザーとレコードを共有できるようになります。
Apexによる共有管理
Apexによる共有管理により、開発者はプログラムでカスタムオブジェクトを共有できます。
Apexによる共有管理を使用してカスタムオブジェクトを共有した場合は、「すべてのデータの編集」権限を持つユーザーのみが、カスタムオブジェクトのレコードの共有を追加または変更できます。
参照:Salesforce ヘルプ「共有設定」
「組織の共有設定」の設定:基本的なアクセス権を定義する
前述の通り「組織の共有設定」は、各オブジェクトに対する基本的なアクセス権を定義する機能です。
組織の共有設定は、オブジェクトの種別ごとに設定できます。例えば、組織上で「リード」オブジェクトを誰にも見せない「非公開」にするといった設定が可能です。
具体的な組織の共有設定の設定方法について以下、見ていきましょう。
[設定]から、[クイック検索]ボックスに「共有設定」と入力し、[共有設定]を選択します。
[組織の共有設定]で[編集]ボタンをクリックします。
この画面で、オブジェクトごとに全ユーザーに付与するデフォルトアクセス権を変更できます。
デフォルトの内部アクセス権:
社内のユーザーからのアクセスに対する権設定です。
デフォルトの外部アクセス権:
顧客やパートナー企業などの外部ユーザーからのアクセスに対する権限設定です。
階層を使用したアクセス許可:
ロール階層を使用した自動アクセス権を無効にしたい場合にチェックをします。ただし、デフォルトアクセス設定が[親レコードに連動]でない場合のみ設定が可能です。(詳しくは、Salesforceヘルプの「階層を使用したアクセス権の制御」を参照)
「ロール階層」:データへのアクセスを制御する
「ロール階層」とは、組織図にイメージされる上下の関係性をツリー形式で設定したものです。
ロール階層に対して共有設定を使用することで、Salesforceのデータに対するユーザーのアクセス権をロール階層ごとに設定できます。
基本的にユーザーは、自身より下の階層に属する全ユーザーのデータへのアクセス権が自動的に与えられます。
そのため、広くデータを参照する権限を持つ必要があるユーザー(CEO、役員、マネージャなど)は、階層の上位付近に配置されるケースが多いです。
ただし、必ずしもロール階層を組織図と一致させる必要性はありません。
デフォルトでは、[階層を使用したアクセス許可]のオプションは、すべてのオブジェクトに対してオンになっています。ただし前述の通り、このオプションはカスタムオブジェクトに対してのみ変更できます。
具体的なロール階層の作成方法について以下、見ていきましょう。
[設定]から、[クイック検索]ボックスに「ロール」と入力し、[ロール]を選択します。
表示されている組織のロール階層から追加したいポジションの[ロールの追加]リンクをクリックします。
ロールにユーザーに割り当てるには、ロールの詳細画面から、[ユーザをロールに割り当て]ボタンをクリックします。
「共有ルール」の設定:アクセス権を拡大する
組織の共有設定が [公開/参照のみ]または[非公開]のような場合は、「共有ルール」を使用して一部のユーザーにアクセスを許可できます。
例えば、共有ルールを使用して共有アクセス権を公開グループまたは特定のロールに拡大するといった形が想定されます。
共有ルールは、ロール階層と同様に組織の共有設定より厳しくはできません。特定のユーザーのアクセス権を拡大するのみとなります。
具体的な共有ルールの設定方法について以下、見ていきましょう。
[設定]から、[クイック検索]ボックスに「共有設定」と入力し、[共有設定]を選択します。
特定のオブジェクトの[共有ルール]で、[新規] ボタンをクリックします。
- 「ステップ1:ルール名」:表示ラベルとルール名を指定します。[表示ラベル] を入力すると、自動的に[ルール名]も入力されます。
- 「ステップ2:ルールタイプを選択します」:共有ルールが所有者に基づくか、条件に基づいて一致するレコードを対象とするかを選択できます。
- 「ステップ3:共有するレコードを選択します」:例えば特定の会社名のレコードのみ共有する場合には、以下の図のように設定します。
- 「ステップ4:共有先のユーザを選択します」 :データへのアクセス権を取得するユーザーを指定します。
- 「ステップ5:ユーザのアクセスレベルを選択します」:共有アクセス設定を選択します。
最後に[保存]ボタンをクリックします。
Salesforceの共有設定まとめ
以上、Salesforceの共有設定について、基本となるアクセス制御の知識とそれぞれの共有設定の方法について解説いたしました。
共有設定に関しては、複雑に感じる方もおられるかと思います。事前に自社のアクセス権限にかかる社内のルールを整理しておくと、迷いがなくスムーズに設定を行えます。
情報セキュリティ・ガバナンスの観点から、誰がどのデータにアクセスできるかは、しっかりと管理しておきたいものです。その上で、共有設定は重要な役割を果たすことは間違いありません。
本記事が、今後の共有設定活用の参考になれば幸いです。
Salesforceの導入や伴走支援はサンブリッジにご相談ください
サンブリッジは長年Salesforceコンサルティングパートナーとして、Salesforce導入から導入後の定着化支援まで、安定した運用を実現できるよう、幅広く支援しています。Salesforceの導入を検討中または活用に課題お持ちの企業様は、ぜひ一度、サンブリッジまでご相談ください。
~Salesforceをもっと活用したい企業様のお悩みをサポートします~
Salesforce活用・定着化支援
サンブリッジでは、Salesforceが社内に定着しない、もっと活用したい、使い方がわからない、といった課題をお持ちの企業様をサポートします。活用コンサルティング、必要なときだけ利用できる年間のサポートサービスやチケット制など、ご要望にあわせた複数のサポートプランをご提供しています。