うちも不安...という方向けのsalesforceアクセス権を安全に保つ5つの確認箇所
12/25にリリースされた「楽天がSalesforceの設定ミスで、、」の件、コワイですね。世のSalesforceアドミンの方々は、週明けの上司に「あの件、うちのセキュリティは大丈夫なんだよね?確認して報告して!」と言われるケースもあるでしょう。
知識十分な方は「はーい、一応確認しておきますー」で大丈夫でしょう。この記事は、CRUDとかOWDとかよくわからないし、、ヘルプは難しいし、権限周りの設定はあまりしたことない、、、と、そんな方向けの対処法を記載しておきます。
今回の原因は?
ゲストユーザ(Community Cloud、Salesforceサイト、Site.com)へのアクセス権の設定のようです。
Salesforceシステムは、管理者が意図的に外部ユーザに部分的にデータを共有して情報共有することができるようになっています。
自社の販売代理店に、関連する取引先や商談のデータだけ見せるとか、関連会社に、顧客からの問い合わせに関するやり取り履歴だけ見せるとか、不特定多数のユーザに、サービスの最新のお知らせを公開するとか。
そういう用途にも使う業務基盤なので、社外のユーザへもデータを共有できる仕組みがあるのですよね。関係会社の社員向けのような特定のIDPWを持つ人への共有設定はいじったことがあっても、コミュニティやポータルを利用した不特定多数への共有設定は通常いじらない箇所の設定になります。
1.どうなっていれば安全なの?
設定 > ユーザインターフェース > サイト の画面に行き、公開サイトの登録がないことを確認しましょう。おそらく95%がたの組織はここには何も登録がないはずです。
ここに有効化しているサイト登録がなければ『外部ゲストユーザ(Community Cloud、Salesforceサイト、Site.com)が発行される機能は使っていない』ということなので、今回の問題となった不特定多数のゲストユーザへの情報共有は行っていないので大丈夫かと思います。
ここに公開サイトの登録がある方は、通常のユーザ・プロファイル画面には表示されない「ゲストユーザ用のプロファイル・ユーザ」が自動作成されています。
その場合は、公式ヘルプなどを参照して必要最小限のアクセス権限に限定されているかきちんと詳しい人と確認しましょう。
この部分の利用がなかった方は概ねOKですが、念のため不特定多数のゲストユーザだけでなく、社外ユーザなどのIDPWを発行している特定の外部ユーザへの設定も見ておきましょう。設定 > セキュリティ > 共有設定 画面へ行き、「デフォルトの外部アクセス権」を確認します。
ここで各オブジェクトごとにアクセス権を設定します。選択肢は基本的には3種類です。(いくつかのオブジェクトは()内の選択肢もある)
アクセス権の選択肢
1.非公開
2.公開/参照のみ
3.公開/参照・更新可能
(公開/参照・更新・所有権の移行)
(公開/フルアクセス)
(親レコードに連動)
日本語的にややこしいのですが、それぞれの意味は以下です。
非公開 :自分か部下が所有者のレコードのみ閲覧できる。
公開/参照のみ:他者が所有者のレコードもすべて閲覧できる
公開/参照・更新可能:他者が所有者のレコードもすべて編集できる
公式ヘルプ
https://help.salesforce.com/articleView?err=1&id=sharing_model_fields.htm&type=5
社外の外部ユーザ機能を使っていないのであれば、とりあえずこれをすべて非公開にしちゃってOKかと思います。
ここまでを確認しておけば上司にも「うちは不特定多数の人がアクセスできるようにする機能は使ってないことを再確認しましたし、外部ユーザへの公開も最小限に設定されてましたよ」と報告して事なきを得ればいいかと思います。
もう少し詳しく仕組みを知って対処したい方へ
Salesforceのアクセス権は、「プロファイル」「権限セット」「組織の共有設定」「共有ルール」の4つで主に制御されています。
上記の話は「組織の共有設定」の話。共有設定で制御できるのは「他のユーザが所有者のレコードにもアクセスできちゃうかどうか」です。ちゃんと仕組みを知って、考えられる抜け穴も知ってもれなく対処しておきたい方は以下も確認しておきましょう。
2.「共有ルール」で抜け穴がないか確認する
組織の共有設定は、例外を作ってアクセス権を拡張することができます。共有設定と同じページの下の方にある「共有ルール」です。
そこに自分が把握していない共有ルールがないことを確認してください。もし何か設定されている場合は、編集ボタンを押して作成者・作成日を確認して、必要に応じてその方に確認しましょう。
3.「プロファイル」でオブジェクトのアクセス権を元から断つ
組織の共有設定よりも「プロファイル」の方が、根本的なアクセス権のあるなしを制御しています。ここできちんと制御されていれば共有設定が「公開」になっていようとアクセスはできません。
設定 > ユーザ > プロファイル の画面に行き、プロファイルの一覧を確認して、自分が理解していないプロファイルがないかどうか確認しましょう。
怪しいプロファイルがあれば、プロファイル名をクリックし「割り当てられたユーザ」から実際に誰がその権限になっているのか確認しましょう。誰も割り当てられていないなら念のためプロファイル名に「_不使用」とつけておくか、プロファイルを削除したりしてもいいでしょう。
誰か利用している場合は、プロファイル名をクリックして「オブジェクト設定」の画面から、必要最小限なオブジェクトにのみアクセス権が付与されているか確認します。
4.「権限セット」でプロファイルのアクセス権がむやみに拡張されていないか確認する
プロファイルの権限も、権限セットという機能で部分的に拡張することができます。
設定 > ユーザ > 権限セット の画面に行き、権限セットの一覧を確認して、自分が理解していない権限セットがないかどうか確認しましょう。こちらもプロファイル同様、割り当てられていない権限セットがあれば名前に印をつけておくか、削除するかしておきましょう。
まとめ
今回の件、ここに書いてある設定を過去にいじったことがある方は、すんなりと確認ができると思いますが、過去にいじったことがない方にとっては不安な出来事かと思います。誰かが過去に構築したSalesforceを引き継いでアドミンをしている方もいるでしょうし。
改めて確認ポイントは、以下5つです。
1.ゲストユーザを発行する機能を使っているか否か
2.組織の共有設定
3.共有ルール
4.プロファイル
5.権限セット
年末年始の大掃除と思って、これを機に権限周りの知識を深めて、自社のシステムの権限周りを整理整頓して、安心してそれぞれが新しい年を迎えられればと思います!