このチェックリストは、マルチテナントプロダクトを開発・運用し、顧客のセキュリティ調査票に回答しなければならないプロダクトマネージャー、エンジニアリングリード、創業者を対象としています。SaaSプラットフォームエンジニアリングガイドではセキュリティの基礎を短いセクションにまとめていますが、このページではそれをチームがチェックできる項目に変換し、添付すべきエビデンスも示します。
このガイドの内容
- チェックリストの使い方
- 10分野の概観
- テナント分離:SaaSプロダクトが失敗しやすい箇所
- アイデンティティ、API、ビジネスロジックのチェック
- データ、シークレット、サプライチェーン
- ログ、リカバリ、インシデントレスポンス
- AIフィーチャーのセキュリティ
- レビューの担当者:選択肢と選定基準
- レビュープラン
- Netbase JSCはどのようにSaaSプロダクトを構築・確認するか?
- どのようなデリバリー実績があり、ないものは何か?
- このガイドの限界は何か?
- よくある質問
- 次のステップ
チェックリストの使い方
各項目を3つの問いとして捉えてください:誰が担当するか、現時点でどのような証拠があるか、最後に確認したのはいつか。担当者のいない項目は、コードがどう動いていようと完了とは言えません。顧客のセキュリティレビューに記憶ではなくレコードから回答できるよう、リポジトリなど一か所に回答をまとめておきましょう。
リストを正確に保つための2つのルールがあります。テスト・ログ・設定・ドキュメントで確認できる場合のみ項目にチェックを入れ、アーキテクチャ図ではなく実際に運用しているプロダクトに対してリストを実行してください。
10分野の概観
| 分野 | 確認内容 | 保持すべきエビデンス |
|---|---|---|
| テナント分離 | すべてのクエリ、キャッシュキー、ファイルパス、バックグラウンドジョブにテナントが含まれているか | 別テナントのデータを読めないことを確認する自動クロステナントテスト |
| アイデンティティとアクセス | 強固なサインイン、管理者向けMFA、最小権限ロール、セッション制限 | ロールマトリクス、MFA強制設定、セッション設定 |
| APIとビジネスロジック | オブジェクト・関数レベルの認可、レート制限、エンドポイントのインベントリ | APIインベントリ、認可テスト結果、レート制限設定 |
| データ保護 | 転送中・保存時の暗号化、データ分類、保持・削除 | 暗号化設定、データマップ、削除手順 |
| シークレット | コード内にシークレットなし、ローテーション、環境ごとに別々のキー | シークレットスキャン結果、ローテーションログ |
| 依存関係とビルド | 依存関係スキャン、コードレビュー、デプロイ先のレコード | スキャンレポート、プルリクエスト履歴、リリースログ |
| ログと検出 | 誰がいつどのテナントのデータにアクセスしたか、失敗・クロステナントアクセスのアラート | 監査ログサンプル、アラートルール、保持設定 |
| バックアップとリカバリ | テストによって復元されたバックアップ(単一テナントの復元を含む) | 日付と結果を含む復元テストレコード |
| インシデントレスポンス | 文書化されたプラン、担当者の明記、顧客通知テンプレート | プラン、連絡先リスト、最終演習日 |
| 顧客エビデンス | 上記レコードから引き出した調査票への回答 | 管理された回答ライブラリと共有可能な項目リスト |
テナント分離:SaaSプロダクトが失敗しやすい箇所
アクセス制御はWebアプリケーションが最も多く失敗する分野です。OWASP Top 10:2025では「アクセス制御の不備」が第1位に挙げられています。マルチテナントプロダクトでは、テナントチェックが一か所欠けるだけで、あるテナントのデータが別のテナントに見えてしまいます。OWASP Multi-Tenant Security Cheat Sheetは、これを具体的なコントロールに落とし込んでいます:
- テナントを検証済みアイデンティティに紐付ける。クライアントが送信した値ではなく、サーバーサイドのセッションからテナントを取得し、すべてのリクエストでメンバーシップを確認してください。
- すべての参照をスコープする。データベースクエリにテナントを含めるか、行レベルポリシーでデータベース側で強制し、推測した識別子で別テナントのレコードが返らないようにしてください。
- キャッシュをテナントでキーイングする。キャッシュエントリのキーにテナントが含まれていないと、あるテナントのページが別のテナントに配信されてしまいます。
- キューとジョブを通じてテナントを引き継ぐ。バックグラウンドジョブは実行対象のテナントを再確認しなければならず、ストレージパスや署名付きファイルリンクにも同じスコープと短い有効期限が必要です。
- クリーンにオフボードする。テナントが離脱する際は、認証情報を失効させ、バックアップとファイルストレージに保持ルールを適用してください。
マルチテナントSaaSアーキテクチャガイドでは、これらのコントロールの背後にある分離モデルを比較しています。
アイデンティティ、API、ビジネスロジックのチェック
アイデンティティとアクセス。管理者には多要素認証(MFA)を必須とし、すべてのユーザーに提供してください。ビジネス顧客が求める場合はシングルサインオン(SSO)をサポートします。ロールは少なく明確に保ち、セッションを失効させ、管理者権限を四半期ごとに見直してください。
APIセキュリティ。SaaSの機能の多くはAPIであるため、OWASP API Security Top 10(2023年版)は実践的なテストリストです。オブジェクトレベルの認可(API1)、認証(API2)、プロパティレベルの認可(API3)、リソース消費の無制限(API4)、関数レベルの認可(API5)から始めてください。旧バージョンを含むすべてのエンドポイントのインベントリを維持してください。不適切なインベントリ管理はAPI9です。
ビジネスロジック。一部の欠陥は単一リクエストのバグではなく、シーケンスの問題です。支払いステップのスキップ、招待の再利用、プランで許可された以上のエクスポートなどです。API6はこれを「機密ビジネスフローへの無制限アクセス」と呼んでいます。サインアップ、招待、請求、エクスポートの意図したフローを文書化し、各ステップがインターフェースで非表示になるだけでなく、サーバー側で強制されていることをテストしてください。
データ、シークレット、サプライチェーン
- 転送中・保存時の暗号化を実施し、各キーに対して担当者を定め、アプリケーションコードの外でキーを管理してください。
- データを分類する。どのフィールドが個人情報または機密情報か、ログ・エクスポート・アナリティクスなど、どこにコピーされているか、各コピーの保持期間を把握してください。
- リポジトリにシークレットを含めない。スキャンし、シークレットストアを使用し、環境ごとに独自の認証情報を持たせ、担当者が離れる際にローテーションしてください。
- 依存関係を把握する。パッケージとコンテナイメージをスキャンし、マージ前にコードをレビューし、どのバージョンがどこで動いているかを記録してください。NIST Secure Software Development Framework(SP 800-218)はこれらのプラクティスを説明しており、OWASPのApplication Security Verification Standardにはチケットで参照できる要件が記載されています。
- サードパーティサービスも攻撃対象として扱う。各インテグレーションキーは最小限の権限にスコープし、OWASPはAPIの安全でない消費(API10)として、上流のレスポンスを過度に信頼することを指摘しています。
ログ、リカバリ、インシデントレスポンス
「誰がいつこのテナントのデータにアクセスしたか?」という問いに答えられないプロダクトは、調査も証明も行えません。テナントとユーザーを含めてサインイン、権限変更、エクスポート、管理者アクションをログに記録し、それが描写する人々からログを保護し、繰り返される失敗やテナント間のアクセス拒否のアラートを設定してください。
バックアップは復元して初めて有効です。クリーンな環境に全体環境を復元し、また単一テナントも復元して、日時と結果を記録し、大きな変更後に繰り返してください。インシデントレスポンスについては、担当者を明記し、顧客への通知タイミングを決定し、通知テンプレートを含む短いプランを作成してください。最初の実際のインシデントの前に、テーブルトップ演習を実施してください。
AIフィーチャーのセキュリティ
AIフィーチャーは同じデータへの新たな経路を追加します。アシスタントが読むすべてのドキュメント、メッセージ、Webページを信頼できない入力として扱ってください。検索とプロンプトはプロンプトの外側で強制し、現在のテナントに限定してください。アシスタントが何を読み何を行ったかをログに記録し、アクションがレコードや金額を変更する前に人間の承認を必須としてください。AIエージェントのセキュリティと人間の承認に関するガイドでコントロールを詳しく説明しています。Netbase JSCは主要な商用・オープンソースのAIモデルと連携しており、単一のベンダーに縛られず、プロダクトごとに選択します。以下の各項目は、Netbase JSCにおける成熟度を示しています。
-
成長中の機能:テナントスコープドデータによるAIフィーチャー。
SaaSプロダクト内での機械学習、NLP、生成AI(テナントごとの制限付き)。公開されたセキュリティケースはまだありません。
レビューの担当者:選択肢と選定基準
| 方法 | 強み | 弱み | 適した場面 |
|---|---|---|---|
| このチェックリストを使った内部レビュー | 安価で繰り返し可能、コードに近い | 共有された盲点がある、自己採点になる | 初期プロダクトおよびすべての定期リリース |
| 独立したペネトレーションテスト | 新鮮な攻撃者視点、顧客が認めるレポートを取得できる | スナップショット、時間とコストがかかる、修正が後続で必要 | ビジネス顧客向けリリース前、または大きな変更後 |
| デリバリーチームへのセキュリティ組み込み | コントロールが設計段階から組み込まれ、スプリントごとにレビュー・テストされる | そのように動くチームが必要 | 構築中または再構築中のプロダクト |
| コンプライアンスフレームワークと監査 | 顧客レビューを短縮できる認定レポート | 開始に時間がかかる、プロセスを証明するがコードの安全性を証明しない | 顧客が購入条件としてレポートを要求する場合 |
4つの選定基準で選択してください:顧客が契約で何を要求するか、データの機密性、リリース頻度、チームにセキュリティを担当できる人物がいるか。ほとんどのプロダクトでは最初の2つが必要です。定期的なチェックリストと、主要なリリース前の外部テストです。
レビュープラン
-
データフローを描く。
テナントデータの入力、保存、コピー、出力先(ログ、エクスポート、キュー、AIフィーチャーを含む)をリストアップします。
-
10分野それぞれに担当者を割り当てる。
複数名が作業に関わる場合でも、各分野には1名が責任者となります。
-
エビデンスを収集する。
テストを実行し、設定をエクスポートし、上の表に記載したレコードを保存します。
-
ギャップを修正・優先順位付けする。
テナント分離とアクセスの問題を最初に解決します。最大の被害をもたらすからです。
-
外部からテストする。
プロダクトがビジネス顧客に提供される場合、または大きな変更が加えられた場合は、独立したテストを依頼します。
-
スケジュールに従って繰り返す。
主要なリリースごとおよび四半期ごとにリストを再実行し、調査票への回答をそこから更新します。
Netbase JSCはどのようにSaaSプロダクトを構築・確認するか?
Netbase JSCはクライアント向けにマルチテナントプロダクトを構築し、自社でも運用しています。公開されているセキュリティプラクティスは、セキュアコードレビューとバージョン管理、転送時のTLSおよび保存時のAES暗号化、ロールベースアクセス制御、管理ダッシュボードへのMFA、脆弱性スキャンとペネトレーションテスト、ディザスタリカバリです。NDA、データ処理契約、SLAは要請に応じて提供できます。Netbase JSCはISO 27001およびSOC 2 Type IIに準拠しており、いずれもNetbase JSC自身の運用対象であり、クライアントのプロダクトやホスティングには及びません。クライアントのプロダクトには独自のコントロール、エビデンス、そして顧客が求める場合は独自の監査が必要です。Netbase JSCはAWS、Google Cloud、DigitalOcean、Cloudflareで稼働しており、クラウドパートナー枠の申告はありません。ほとんどのNetbase JSCプロジェクトはディスカバリー後に合意された請負契約で提供されます。SaaS開発、再利用可能なアカウント・テナント・ロールのためのSaaSプロダクトアクセラレーター、テスト用のアプリケーションセキュリティ保証もご覧ください。MVPロードマップはこれらのチェックを最初の数週間に配置しています。ベンダーの回答を評価するには、ソフトウェア開発パートナーへのセキュリティ質問をご参照ください。
どのようなデリバリー実績があり、ないものは何か?
- 存在する実績。Netbase JSCはCloodo Workspace(マルチテナントのデジタルワークプレイス)とPrintcart(多数のマーチャントにサービスを提供するSaaS)を構築・運用しています。2020年以降、米国クライアントのマルチテナントクラウドERP(クライアント名は非公開)においてオフショア開発およびマネージングパートナーとして稼働しています。
- 存在しない実績。Netbase JSCのいかなるレコードも、ペネトレーションテスト結果、インシデント履歴、監査所見、脆弱性件数、対応時間を公開しておらず、特定のコントロールが機能するという証拠として提供されるものも一切ありません。このページのいかなる記述もプロダクトを認定するものではありません。
このガイドの限界は何か?
- これは実用的なチェックリストであり、コンプライアンスプログラムではありません。決済や医療などの規制が厳しい分野では独自の要件が加わるため、専門家のアドバイスを求めてください。
- 標準は変化します。レビュー当日の最新のOWASP、NIST、プロバイダーのガイダンスを確認してください。
- チェックリストは未知の欠陥を発見できません。それはテストと独立したレビューの役割です。
Netbaseのコンサルタントと次のステップを計画する
よくある質問
テナント分離とアクセス制御、次にシークレット、復元済みのバックアップ、ログです。これらは最小限の労力で最大の被害を防ぎ、顧客が最初に確認する事項です。
顧客が要求する場合のみ必要です。多くの購入者は最初に調査票から始め、後でレポートを求めます。上記のチェックリストはどちらの場合にも対応できます。
主要なリリースごとに、少なくとも四半期に1回、ビジネス顧客向けリリース前または大きな変更後には独立したテストを実施してください。
なりません。テストは外部者によるスナップショットです。チェックリストはテストの合間もコントロールを維持するためのものです。
次のステップ
テナントモデル、現在のエビデンス、顧客から送られてくる調査票をお知らせいただければ、10分野のギャップをマッピングするソリューションレビューを予約します。SaaS開発やNetbase JSCのインサイトもご覧ください。
関連サービスとソリューション
自社SaaSを運営するチームによるAI対応SaaS開発 Netbase JSCは、創業者やプロダクトチームがマルチテナントのサブスクリプションソフトウェアをAI機能付きで立ち上げ・拡大するためのSaaS開発を提供しています。自社SaaSプラットフォームであるPrintcartとAI搭載のCloodoを構築・運営した経験をクライアントのプロダクトに活かします。標準的なSaaS MVPはスコープによって異なりますが、通常8〜12週間で完成します。
詳しく見る
WebアプリとSaaS・AI機能のアプリケーションセキュリティ保証 Netbase は、プロダクトおよびエンジニアリングリーダー向けに、リリース前に脆弱性を発見・修正するアプリケーションセキュリティテストを提供します。AI機能のテストにも対応しています。AI支援トリアージを用いてコードをレビューし、依存関係をスキャンし、稼働中のアプリケーションをテストしたうえで、発見事項を優先度順にランク付けし、修正を再テストします。Netbase 自身の ISO 27001 および SOC 2 Type II への準拠は Netbase の自社運用に適用されるものであり、お客様のアプリケーションには適用されません。
詳しく見る
SaaSプロダクトアクセラレーター:実績あるNetbase JSCモジュールでAI対応SaaSを立ち上げる SaaSプロダクトアクセラレーターは、アカウント・請求・ロール・インテグレーション向けの再利用可能なNetbase JSCモジュール群です。創業者やプロダクトチームがサブスクリプションソフトウェアを迅速に立ち上げられるよう支援し、初回リリースからプロダクト内AIにも対応しています。モジュールの再利用により開発期間を最大60%短縮でき、このアプローチはNetbase JSC自身のWeb to PrintサービスであるPrintcartで実証されています。
詳しく見る
Netbaseにリモートで依頼する
Netbaseのすべての案件はリモートで納品されるため、どの国・業界のクライアントとも協業できます。これまで80か国のクライアントと実績があります。契約・請求書はNetbase JSCが発行し、支払いはNetbase JSCの銀行口座への振込またはPayPal Businessで行います。CEO・Huy Nguyen(David)にWhatsAppまたはメールでご連絡ください。
プロジェクトを相談する
Netbase JSCは、デジタルプロダクトおよびAI活用ビジネスシステムの設計・構築・モダナイゼーション・運用を支援します。project@netbasejsc.com
+84 937 869 689
91 Nguyen Chi Thanh, Dong Da, Hanoi, Vietnam
ご連絡ください
構築・モダナイゼーション・運用したい内容をお聞かせください。