2024年01月30日
ゲストユーザーに対するアクセス権の設定ミスは情報漏洩のリスクに直結
前回、Salesforce の設定状況を分析して改善推奨事項をチェックするためのツールである Optimizer をご紹介しました。今回は ゲストユーザーアクセスレポートについて見ていきたいと思います。
ゲストユーザーアクセスレポート とは?
ゲストユーザーアクセスレポートは Salesforce の用語を使って説明すると「コミュニティサイトを通じてゲストユーザーがアクセスできるオブジェクトと権限の概要を確認できる」ツールと表現されます。
しかし「ゲストユーザー」や「コミュニティサイト」という言葉に馴染みのない方もいるかと思いますので順を追って説明していきたいと思います。
「コミュニティサイト」とは
Salesforce の製品ラインナップの1つに「Experience Cloud」があります。Experience Cloud は
・自社の顧客向けの製品サポート用の Web サイト
・自社の製品を販売するパートナー企業とコラボレーションするための Web サイト
などといった Web サイトをスピーディーに構築することができる製品です。
「コミュニティサイト」は、この Experience Cloud を使って構築した Web サイトのことです。
「ゲストユーザー」とは
コミュニティサイトを作成する時に、特定のユーザー(例えば販売代理店)のみにアクセスを許可したいデータがあったとします。この場合、販売代理店のユーザーにコミュニティサイト用のユーザーIDを発行し、ユーザーIDとパスワードを使ってコミュニティサイトにログインしてもらうようにします。
一方、コミュニティサイトの中にはFAQサイトのように誰でもデータが参照できるようにしたいサイトもあります。この場合、わざわざユーザーIDとパスワードを使ってサイトにログインしてもらう必要はないので、ログインなしでサイトを利用できるように設定します。このログインなしでサイトを利用できるユーザーのことを Salesforce では「ゲストユーザー」と呼びます。
Experience Cloud でサイトを作成すると、サイトの利用用途に関係なくそのサイト用のゲストユーザーが自動的に作成されます。
「コミュニティサイト」と「ゲストユーザー」の用語の説明ができたので、ゲストユーザーアクセスレポートの話に戻ります。
ゲストユーザーアクセスレポートは「コミュニティサイトを通じてゲストユーザーがアクセスできるオブジェクトと権限の概要を確認できるツール」でした。これを用語の説明に基づいて読み替えると「Experience Cloud で構築した Web サイトを通じてログインなしでサイトを利用できるユーザーがアクセスできるオブジェクトと権限の概要を確認できるツール」となります。
ゲストユーザーアクセスレポートで確認できる内容は大まかに言うと以下のとおりです。
・ゲストユーザーがどのオブジェクトにアクセスできる設定になっているか?
・現在の設定でゲストユーザーがアクセスできるレコードが各オブジェクトの中に何件あるか?
・オブジェクトへアクセスする権限の他にゲストユーザーにどのような権限が付与されているか?
では、なぜこれらの内容をチェックすることが必要なのでしょうか?
それはゲストユーザーがログインなしでサイトを利用できるユーザーであるため、もし Salesforce を設定する時にミスや漏れがあり本来は付与する必要がない権限をゲストユーザーに与えてしまった場合は「機密情報が書かれたファイルを誰でも見られる状態で机の上に放置している」のと同じ状態になり、情報漏洩に直結するリスクが極めて高いからです。ゲストユーザーは便利な仕組みですが、その裏返しとしてアクセス権の設定は万全にする必要があるのです。
ゲストユーザーアクセスレポートはいつどこの環境で実行する?
ゲストユーザーアクセスレポートはどこの環境で実行するのが良いのでしょうか?
筆者は、可能であれば本番環境で実行するのが望ましいと考えます。チェック内容に「現在の設定でゲストユーザーがアクセスできるレコードが各オブジェクトの中に何件あるか?」が含まれるためです。本番環境と Sandbox とではデータの状態が異なるため、本番環境でのリスクを正確に把握したい場合は本番環境で実行する必要があります。
ただし、ゲストユーザーアクセスレポートには一つ注意事項があります。ゲストユーザーアクセスレポートを実行する際に、ゲストユーザーアクセスレポートの実行結果が第三者に見える状態が一時的に存在してしまうのです。ゲストユーザーアクセスレポートへアクセスするためのURLを外部の第三者に知られなければ問題にはならないのですが、このリスクを許容できない場合は本番環境に比べてリスクが少ない Sandbox で実行するのが良いでしょう。
続いてゲストユーザーアクセスレポートはいつ使うのが良いのかを考えます。
筆者は以下の3つのタイミングをおすすめします。
①Experience Cloud を使ってサイトを新しく構築した時
②Salesforce の設定に大きく手を加えた時
③年3回のバージョンアップの時
①Experience Cloud を使ってサイトを新しく構築した時
サイトを公開する前にセキュリティ状態に問題がないかチェックします。
②Salesforce の設定に大きく手を加えた時
Salesforce の設定に大きく手を加えた時に設定ミスや設定漏れによりセキュリティレベルが下がってしまうリスクがあります。
これをチェックします。前回のチェック結果とも比較しながらチェックすると有効です。
③年3回のバージョンアップの時
ゲストユーザーアクセスレポートは「状態チェック」や Optimizer とは異なり、今後のアップデートでチェックできる項目が追加されることはないとセールスフォース社からアナウンスされています
(※今後は後継となる別のツールへ移行していく模様です)。
しかし、バージョンアップにより Salesforce の権限管理の仕組みが変更されることがあります。その影響によりセキュリティレベルが下がっていないかチェックします。
前回のチェック結果とも比較しながらチェックすると有効です。
ゲストユーザーアクセスレポートの結果にどう対応する?
最後にゲストユーザーアクセスレポートのチェック結果をどう評価してどう対応していくかを考えます。
ゲストユーザーアクセスレポートでは実行結果がチェック項目ごとに「リスクなし(緑)」「潜在的なリスク(黄)」「潜在的なリスク(赤)」の3段階で表示されます。前述のとおり、ゲストユーザーに対するアクセス権の設定ミスは情報漏洩のリスクに直結します。「潜在的なリスク(黄)」と「潜在的なリスク(赤)」の項目についてはセールスフォース社から提供されているベストプラクティスの情報を活用しながらもれなくチェックして対応しましょう。
ゲストユーザーセキュリティポリシーのベストプラクティス
https://help.salesforce.com/s/articleView?id=000390407&type=1
ゲストユーザープロファイルを設定するときのベストプラクティスと考慮事項
https://help.salesforce.com/s/articleView?id=sf.networks_guest_profile_best_practices.htm&type=5
まとめ
今回はゲストユーザーアクセスレポートについてご紹介しました。
・ゲストユーザーアクセスレポートはコミュニティサイトを通じてゲストユーザーがアクセスできるオブジェクトと権限の概要を確認できるツール
・ゲストユーザーに対するアクセス権の設定ミスは情報漏洩のリスクに直結する
・ゲストユーザーアクセスレポートを使うタイミングは、①Experience Cloud を使ってサイトを新しく構築する時、②Salesforce の設定に大きく手を加えた時、③年3回のバージョンアップの時 がおすすめ
・潜在的なリスクありと判定された項目についてはセールスフォース社から提供されているベストプラクティスの情報を活用しながらもれなく対応する
次回は開発した Apex のセキュリティをチェックするための静的コード解析ツールをご紹介します。