私が取り組んでいるSaaSプラットフォームを持っています。 PHPで書かれ、MySQLデータベースを使用します(PHP PDOクラスを使用)。SaaSプラットフォーム - 各ユーザーまたは1つのマスターアカウントごとに異なるデータベースユーザー
アプリケーションはすでに機能しており、インスタンスごとに個別のデータベースを使用することに決めました。
複数のデータベースを使用する理由の1つは、クライアントデータが分離されていることを保証することです。これにより、インスタンスをオンプレミス版に簡単に移行することもできます。
セキュリティは常に私が心配するものです。私はこのシステムが生きる前に可能な限り安全であることを保証したい。
現在、私たちは単一のMySQLユーザ名&を使用しており、そのデータベースには(特定のMySQLファーム上の)すべてのデータベースにアクセスできます。
理論上、攻撃者が別のデータベースにアクセスする可能性があります(ユーザー名&、PDO /データベース接続後にパスワードが設定されていませんが、「使用」などのクエリを実行できる可能性があります。データベースB ")。
これは私が気にするべきことですか?たとえば、単純なSQLエラーがクライアント・データを公開する可能性があるため、データベース・パーティショニングを使用するSaaSプラットフォームでは、セキュリティはあまり安全ではありません。
私はすでに異なるデータベースユーザ名&のパスワードを使用して調べ始めましたが、SaaSプラットフォームの複雑さに加えて、物事を単純にすることは常に良い考えです。
ありがとうございます!
私は、各インスタンスごとに異なるユーザー名とパスワードを使用することに決めました。
これはセキュリティの別の層であり、傷つけることはありません。理論的に
このシステムでPMを送信する方法がわかりません。専有物を作るか、または会社/チームの一部ですか? – phpmeh
こんにちはPhpmeh。返信いただきありがとうございます。私はあなたが何を意味するか分からない、私はこの製品(それは社内に建設されている)の主な開発者です。システムの準備が整うと、外部企業にホストされる可能性があります。 –
はい、私はちょうど興味がありました。私はSaaSスタイルを導入する予定のビジネス管理ソフトウェアを構築しています。私はジュニア開発者が私のために働いており、私たちは6ヶ月間プロジェクトに取り組んできました。それでも、それは非常に遅いです。潜在的に人々と力を合わせることを常に望んでいます。 – phpmeh