2012-02-20 9 views
3

非常に面白い複雑なMS SQLストアドプロシージャに依存するアプリケーションがあります。ここでは、共有環境でこれらのプロシージャを使用してデータベースを使用したいと考えています。保存されているprocsの内容をサーバー管理者が読み取る(コピーする)ことができないように、暗号化/保護する方法はありますか?SQL Serverのストアドプロシージャを保護する方法

+6

コードを使用してサーバーの管理者を信頼することはできませんか?共有環境の場合、格納されているprocsのテキストに機密情報を入れてはいけません。アプリケーションコードの中に入れてください。 – JNK

答えて

4

いいえ、sysadminは常にストアドプロシージャのテキストを取得できます。

+0

さて、私は不可能であることを望んでいたと思います。 – Tys

+0

ええ...私はあなたが考えた:) – Asken

2

手順WITH ENCRYPTIONを作成することができますが、復号化の方法を示すオンラインのリソースが多数あるため、これはカジュアルな詮索からあなたを守ります(厳密な意味での暗号化ではありません)。

重要なビジネスロジックがある場合は、それをCLRに入れます。それは詮索する人の中からあなたを守りますが、決定された人はあなたのものを逆コンパイルする方法を見つけるでしょう。

0

WITH ENCRYPTION句を使用してテキストを難読化することはできますが、これは真の暗号化ではありません。基本的にDLLを呼び出すCLRルートに行くこともできますが、これはパフォーマンスに影響を与える可能性があると思います。

ストアドプロシージャコードを表示するのに十分な信頼性を持たない人にはアクセス権を与えてはいけないと思います。コードが本当にトップシークレットであれば、なぜ共有ホスティング環境を最初の場所?

あなたが共有環境から抜け出せない場合は、少なくともあなたがsaにアクセスできる独自のインスタンスを取得してみてください。

関連する問題