2016-06-28 14 views
0

私は雇用者のIT部門に投じたExcelアドインを開発しました。アドインは、PostgreSQLデータベースに送信されるSELECT、INSERT、DELETE、およびUPDATE SQL文を作成し、SELECT文の場合は結果をExcelに返してレポートします。ラップトップにデータベースでCRUD操作を直接実行させるのは悪い考えですか?

私のチームは非常に感銘を受けましたが、ITチームはラップトップがデータベースに対して直接CRUD操作を実行することを許可していないと言いました。代わりに、ITはこれを行うための特定の環境を設定しました。

データベースに直接接続してCRUD操作を実行するラップトップの周りにITが関心を持つのは誰に教えてもらえますか?これは有効な懸念事項ですか?

答えて

3

アクセス権を持つラップトップ、そのユーザー、その他のユーザー、ネットワーク接続、およびクライアントソフトウェアがすべて信頼され、今後データベース構造が必然的に変更された場合、いつでもすぐにクライアントに更新をプッシュできます。それはOKです。

それ以外の場合はありません。標準的な方法は、ゲートキーパーとして機能し、データベース上で許可された操作とその操作を許可された操作を定義する2つのサービスの間に何らかのサービスを入れることです。 REST(またはenterpriseyの場合は、SOAP)は2つの一般的なオプションです。そして、そのような場合には、電信を通じてSQLを送信しないでください。

一部のデータベースエンジンでは、理論上、ユーザーがデータベースで直接認証し、データベースの許可モデルを使用してできることを制限することができます。たとえば、ユーザーが特定のストアドプロシージャを実行できるようにすることができます。しかし実際には、おそらくそれは価値があるよりもトラブルです。

実際には正直言って、おそらくOKではありません。それは一度に信用するにはあまりにも多くのことです。

+0

ありがとう、Matti!上記のすべてが信頼できると私はほとんど肯定的です。私のアドインは私の会社の共有ドライブの安全なフォルダにあり、アドインにアクセスする前にユーザーに許可を与えなければならないことは言うまでもありません。 しかし、上記の何かが信頼されていないとしましょう。サインインするユーザーに、あなたが参照しているサービスが表示されますか? – christopheralan88

+1

ネットワーク上のどのユーザーも、異なる/ハッキングされたバージョンのクライアントソフトウェアを使用する可能性があることに注意してください。たぶんそれは信頼できないユーザーになるかもしれません。利便性以外の目的でクライアントソフトウェアに組み込まれた小切手に頼らない方がよいでしょう。 – Thilo

+1

@ christopheralan88:人気のあるサービスオプションを使用して回答を更新しました。 「彼らはネットワークにいる」以外の何らかの認証は、セキュリティの観点からは非常に良いアイデアです。サインインまたはシングルサインオンが機能する可能性があります。 –

1

はいこれは有効な懸案事項です。誰かがあなたのデータベースに簡単にSQLコマンドを挿入することができます。データベース全体を消去する操作を実行できる可能性があります。

あなたのソフトウェアには、それ自体にcoedがあります:"SELECT $var1 FROM TEST WHERE $var2"と、ユーザーはvar1とvar2を変更できます。彼らがをvar2に入れると、あなたのステートメントは"SELECT $var1 FROM TEST WHERE date > 10; DROP *;"

になりますが、それより少し複雑ですが、SQL Injectionにお読みください。

+1

おそらくそれ以上です。 SQLインジェクションを使用すると、パラメータだけを「混乱させる」ことができます。直接SQL接続を使用すると、独自のSQL文を完全に作成できます。 – Thilo

+0

ええ、ちょうどデータベーススキーマテーブルを見れば、SQLデータベースのすべてのテーブルを見ることができます。彼らはアクセスしなければならない全く異なるものに関連するものを見つけるかもしれません。 – Aaron

+0

@Aaron彼らがサインインしているユーザーがそのテーブルまたはスキーマに対する読み取り権限を持っていると仮定すると、それは問題になるでしょうか?アドインは、特定の権限を持つ特定のユーザーにサインインします。 information_schemaはそれらの一つではありません。私はそれについて正しく考えていますか? – christopheralan88

関連する問題