質問

私はAzureのASP.NETアプリケーションを作成すると、デフォルトの.NETの信頼レベルによっては、完全な信頼です。私は常にASP.NETの中信頼レベルに似ているのWindows Azureの部分信頼に変更します。

あなたが役割の[プロパティ]を選択したときにGUIを使用するか、定義ファイルにfalseにenableNativeCodeExecutionを設定することで、どちらかそれを行うことができます(.csdef)のすぐ下のように:

<WebRole name="ServiceRuntimeWebsite" enableNativeCodeExecution="false">

私はより高いレベルのセキュリティを提供して部分信頼モードで自分のアプリケーションを実行するために、デフォルトではセキュリティを意識したい開発者として。私は開発者として、反射やP /呼び出しのようなものを使用する必要がある場合、私は自分でその信頼レベルを下げるために決定を作りたい。

私は、Microsoftは、既定の.NETの信頼レベルとして完全な信頼を使用することを決めた、私はちょうどそれを見ることができない理由があると確信しています。あなたはその理由を知っている、またはあなたがそれを知っていると思うなら、私に知らせてくださいます。

役に立ちましたか?

解決

完全な信頼は、同様に、.NETリフレクションのためのP /呼び出しのために必要とされていないだけ。ほぼすべての広範なライブラリがあまりにも(例えばNHibernateは)それを必要とするので、一番下の行の結果として、ほぼすべての中規模のアプリケーションには完全な信頼を必要とします。実は、私は<のhref =「http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/a6dec6ab-afe2-4981-a54c-ec3d30574f6d/」のrel = "nofollowをから求めてきましたnoreferrer "> Azureのフォーラムで正反対質問するすぎます。

他のヒント

完全または部分的に信頼性の問題は、アプリケーションが実行される環境に関係します。より多くの制御および/またはあなたが持っている環境やアセンブリの「所有権」は、より受け入れが、それは完全な信頼設定を持つことです。

あなたはAzureのWebサイト(2012年7月能力)を作成して、ワードプレスやUmbracoを模倣する場合は、あなたのウェブサイトは、任意のアセンブリのプラグインをダウンロードしてインストールすることができます。

たとえば、部分的に信頼できる環境を用意することが重要です。あなたがコントロールするか所有していないプラグインダウンロードして実行、の一つは、マルウェアが含まれている可能性があります。だけでなく、この影響をあなたのウェブサイトのセキュリティと安定性を行いますが、いくつかは、それへの影響、他の(マルチテナント)あなたに関係ないウェブサイトをホスティングさを主張することがあります。

確かにあなたのウェブサイトは、log4netのか、のStructureMapなどサードパーティのライブラリに依存していますが、それらは非常によく知られており、そのセキュリティへの影響について質問していないライブラリを吟味しています。エルゴは、あなたがAzureのウェブ役割(はるかに少ない「マルチテナント」タイプの事件を)実行していて、単に、このような実行している場合、実際には完全信頼として実行したときに発生する問題がない、サードパーティ製のアプリを「信頼できます」。

はい、残念ながらまだ部分信頼で実行大型の.NETアプリケーションを書くのは非常に難しい(不可能ではない)である。

私たちは、

(CAS.NETのように)はるかに優れた技術とツールが必要です

中・トラストは現在、正式に廃止されましたので。あなたは、Visual Studioで新しいWebプロジェクトを開始した場合、それはすでに完全な信頼が必要です(部分的な信頼を動作しません)。 Microsoftは述べている:完全な信頼を使用し、代わりに、ミディアム・トラストに依存し、別のアプリケーションプールで信頼できないアプリケーションを分離しないでください。

ソース:

stackoverflowの答え:引用符で囲まれた応答ASP.NETチーム

:ASP.NET部分信頼アプリケーションの分離を保証するものではありません

<のhref = "http://www.asp.net/aspnet/overview/web-development-best-practices/what-not-to-do-in-aspnet,-and-what-to-do -instead#メディア」のrel = "nofollowをnoreferrer">マイクロソフト:ASP.NETのWeb開発のベストプラクティスの

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top