Salesforceデータ保護入門 - Salesforceのセキュリティモデルとは?

現在、世界で15万社以上の企業が顧客管理(CRM)システムとしてSalesforce を利用している。米国の調査会社 IDCによると、Salesforce は 19.5% の市場シェアを持ち、CRMシステムのマーケットリーダーとなっている(1)

Salesforce の利用顧客はあらゆる業界に広がっており、世界最大級の有名企業から中小企業や新興企業に至るまで、その範囲は多岐にわたります。これは、膨大な量の貴重なデータが Salesforce 製品に保存・管理されていることを意味しており、残念ながら、サイバー犯罪者が組織を標的にする新たな攻撃のベクトルを提供することになります。

そのため、Salesforce 利用組織にとって、データセキュリティは、経済的な理由と規制・コンプライアンス上の理由の両方から、最優先事項となっています。Salesforce 利用組織は、Salesforce 製品を導入する際に署名する『責任共有モデル』を理解し、その責任を果たすことが重要です。

Salesforce は、包括的なセキュリティコントロールを備えた安全性の高いクラウドインフラをお客様に提供しています。但し、これらのセキュリティコントロールの利用と、Salesforce 製品にアップロードされるコンテンツのセキュリティを確保することは、利用組織の責任範囲となります。(これについては後ほど詳しく説明します)

Salesforceのデータセキュリティとは?

Salesforce におけるデータセキュリティとは、基本的に、権限のない人がデータに簡単にアクセスできないようにルールやシステムを設定することを意味しています。これは簡単なことのように聞こえるかもしれませんが、組織によってはアクセスを許可する必要があるユーザーの数が多いため、適切な権限を設定するためには慎重な計画が必要になります。また、正規の権限を持つユーザが、必要なレコードに不便を感じることなく簡単にアクセスできることも重要です。

Salesforce は、このプロセスを4つのレベルに分類したデータセキュリティモデルを策定することで、ユーザーにとってよりシンプルなプロセスを実現しました。この4つのレベルにより、管理者はルールを設定しやすくなり、特定のユーザーのアクセスレベルを迅速に評価できるようになります: 

  • 組織レベルのセキュリティ
  • オブジェクトレベルのセキュリティ
  • レコードレベルのセキュリティ
  • フィールドレベルのセキュリティ

図 1: Salesforce セキュリティモデルビュー

組織レベル

組織レベルのセキュリティとは、Salesforce 環境を保護するための組織全体のシステムを指しています。最も基本的なことは、権限のないユーザーが組織にアクセスすることを阻止することです。これを実現する方法の 1 つとして、Salesforce のセキュリティコントロールを使用して、ユーザーがログインできる信頼済み IP の範囲を制限することができます。これは、ユーザープロファイルの「ログイン IP 範囲」セクションで設定できます。同様に、ログインセクション時間を使用して、特定のユーザーがアクセスできる時間を制限することも可能です。

組織レベルに含まれるセキュリティの他の側面としては、パスワード要件の確保や、Salesforce Shield や WithSecure™ Cloud Protection for Salesforce などの追加セキュリティ制御に投資するかどうかの決定があります。

オブジェクトレベル

Salesforce におけるオブジェクトとは、ドメインレベルのデータセットを意味しています。Microsoft Excel などの表計算ソフトウェアに慣れている方にとっては、シートやテーブルに相当します。オブジェクトにアクセスするには、ユーザに管理者からアクセス許可を与える必要があります。

これを行う古い方法は、ユーザーのプロファイルを通して直接ユーザーのアクセス権を設定することでした。ログイン IP 範囲やログイン時間などをそこから管理できるように、各ユーザがプロファイルを設定することは今でも重要ですが、Salesforce ではオブジェクトレベルの権限設定にプロファイルを使用することは推奨していません。

代わりに、権限セットと権限セットグループを作成することをお勧めします。こうすることで、例えば営業担当者のような特定の職務を持つ全員が、必要な連絡先やリードに簡単にアクセスできるようになります。これらのアクセス許可は、後で簡単に修正したりアップグレードすることができます。

フィールドレベル

フィールドとは、Salesforce 内のオブジェクトの要素であり、先ほどのスプレッドシートで例えると列のようなものです。Salesforce のオブジェクトにアクセスできるからといって、すべてのフィールドにアクセスできるとは限りません。管理者は、個々のユーザに対して、個別に異なるフィールドの読み書き権限を与えることができます。

Salesforce では、許可セットと許可セットグループを使用して、オブジェクトレベルと同じ方法でフィールドレベルのセキュリティを管理することを推奨していますが、プロファイルレベルで直接割り当てることもできます。

レコードレベル

レコードとは、スプレッドシートにおける情報の行のように、オブジェクトへの個々の入力項目です。ユーザーがオブジェクトとフィールドレベルのアクセス権を与えられた場合、レコードをオブジェクトに入力し、作成したレコードを表示することができます。もちろん、これでは共同作業にはあまり役立ちませんので、ユーザが他のレコードを閲覧できるように設定することが重要になります。Salesforceでは、これを実現するための方法がいくつか用意されています。

図 2: Salesforce レコードレベルビュー

  1. デフォルトの組織共有のアクセスレベル - レコードを所有していないユーザーがすべてのレコードにアクセスする方法のデフォルトの動作を制御します。したがって、組織内の全員がデフォルトでアクセスできるレベルになります。

    階層を使用したアクセス許可 - 階層の最上位にいるユーザは、組織チェーンの下位に配置されたユーザが保持するすべてのレコードにデフォルトでアクセスできます。

    共有ルールを使用したアクセス許可 - パブリックグループを通じて、その場しのぎでレコードを共有する効率的な方法を提供します。そのため、ユーザーは自動的にチームとレコードを共有することができます。

    手動共有ルールを使用したアクセス許可 - 特定のドキュメントの所有者が、他のユーザーと直接共有することができます。

外部アクセスからの Salesforce 環境の保護

上記のデータモデルでは、主にデータへのアクセス方法と、内部ユーザーに対するアクセス許可の設定方法について説明しました。しかし管理者は、Salesforce Community などの他の Salesforce ソリューションや、API で接続可能なサードパーティ製ソリューションとの相互作用によって、データが外部からどのようにアクセスされる可能性があるかについても認識しておく必要があります。

Salesforceでは、APIやアプリに対しても上記と同様の方法でアクセス許可を設定できますが、攻撃者に容易に侵入されることなく機能させるためには、最小限の権限で設定することが重要です。

Salesforce Shield と WithSecure™ Cloud Protection for Salesforce

残念ながら、どんなに優れたデータセキュリティポリシーを持っていても、すべての攻撃から組織を守ることはできません。組織が巧妙な犯罪者に狙われた場合、その犯罪者は正規のアクセス権を持っているように見える可能性が高いです。

Salesforce Shield は、ファイルの基本的な暗号化を強化する機能を提供することで、この問題を解決します。これは、従業員がクラウドにアップロードするファイルの保護レイヤが追加されることを意味し、このデータが犯罪者の手に渡った場合でも、悪用されにくくなります。

WithSecure™ Cloud Protection for Salesforce は、ウイルス、トロイの木馬、ランサムウェアからリアルタイムで保護し、クラウドにアップロードされるすべてのコンテンツをスキャンします。

WithSecure™ Cloud Protection for Salesforce の詳細については、ソリューション概要をダウンロードしてご覧ください。または、無料トライアルを開始して、ライブ環境でソリューションをテストしてください。

References

[1] IDC, Worldwide Semiannual Software Tracker, 26 April 2021.