SaaSで他社のデータを見せないには?企業ごとの分け方
まず押さえたいこと
企業ごとの
- ログインできる
ことと、 その 企業の 情報を 扱える ことは別。 - 共有・
専用の 優劣より、 分ける 層と 運営の 負担を 比べる。 - 一社だけ出力・
削除・ 復旧する 場面まで 考えておく。
このガイドの背景
法人向けのサービスを作るとき、「A社の人にはA社の情報だけを見せる」は当然の条件に思えます。ところが、代理店や兼務者が入ると境界は複雑になります。
企業ごとにどこまで分けるべきかは、データの保管場所だけでは決まりません。日常の共有、契約終了、復旧の場面から考えると、選ぶ構成が見えてきます。
一人が複数社を担当すると、何が変わるか
説明用の
サービス内で
共同作業が
一覧が正しくても、添付ファイルから漏れることがある
画面の
時間の
複数社を
- 操作の
入口 ログインした人の所属と対象企業を照合する
- 情報の
取得 画面・検索・添付ファイルの閲覧範囲を制限する
- 後から
行う 処理 集計や通知にも企業と現在の権限を引き継ぐ
どれか一つだけを分けても、他の経路に同じ制御がなければ境界を保てません。
「分離機能を使っています」の、もう一歩先を聞く
データベース側で
発注側が
参考:PostgreSQL Global Development Group:PostgreSQL Documentation: Row Security Policies
一社の誤削除で、他社まで昨日に戻さない
説明用の
復旧では、
初期開発で決めることと、利用が増えてから決めること
最初から
将来の
利用が
検討・発注前のチェックリスト
担当者と確認状況を添えて、社内の検討メモや打ち合わせの議題にご活用ください。
チェックリストをテキストで保存確認日:________________ / 担当者:________________
- 個人・企業への所属・契約・請求の関係を説明できる。確認状況・メモ:
- 代理店や兼務者の閲覧範囲を決めた。確認状況・メモ:
- 共有する資源と企業ごとに分ける資源が分かる。確認状況・メモ:
- ファイル・検索・通知も分離の確認に含めた。確認状況・メモ:
- 別企業の情報を取得・変更できない試験を依頼した。確認状況・メモ:
- 一社だけの出力・削除・復旧方法を確認した。確認状況・メモ:
- 顧客追加と定期更新に必要な運営の仕事を把握した。確認状況・メモ:
よくある質問
顧客が数社なら、企業ごとの分離は後回しにできますか?
非公開情報を複数社で扱うなら、初回から必要です。利用が増えた後の性能強化は段階化できますが、他社のデータを見せない条件は顧客数で省けません。
データベースを企業ごとに分ければ安心ですか?
分離を支える方法の一つですが、接続先の取り違えやファイル配信、運営者の操作も確認が必要です。専用化する範囲と、別の場所に残る共有部分を一緒に見ます。
大口顧客だけ専用環境にできますか?
選択肢になります。共有から移す際の停止や照合、専用環境への更新配布が増えるため、顧客の要望と継続して負担できる費用を確認して決めます。
参考資料
製品の仕様・提供条件は変更されることがあります。採用時には公式資料と契約内容をご確認ください。
- SaaS Tenant Isolation Strategies: Silo isolationAmazon Web Services
- SaaS Tenant Isolation Strategies: Pool isolationAmazon Web Services
- SaaS Tenant Isolation Strategies: The bridge modelAmazon Web Services
- PostgreSQL Documentation: Row Security PoliciesPostgreSQL Global Development Group
記事の内容を、自社の検討へ
顧客ごとの使い方から、SaaSの構成を相談する
利用企業と代理店の関係、顧客に求められた保管・復旧条件を教えてください。初期開発で必要な分離と、成長に応じて追加する仕組みを検討します。
対象業務・開発する範囲・運用の分担。まだ決まっていないことも含めて、一緒に整理します。
この記事について
編集・発行:株式会社ダンドリ
AI・業務システム・Webサービスの設計、開発、運用を支援する会社です。開発を検討する方が判断に使えるよう、公式資料と公開情報をもとに解説しています。
説明用の例と公開事例を区別し、参照した資料は本文と記事末尾に掲載しています。
会社情報を見る