Vadim's Weblog

Never stop learning.

Why Azure Web Role by default runs in the Full Trust?

Posted by Vadim on January 10, 2010

When I create an Azure ASP.NET application, by default .NET trust level is Full trust. I always change it to Windows Azure partial trust which is similar to ASP.NET’s medium trust level.

You can do it either by using GUI when you select Properties on the Role

 image

or by setting enableNativeCodeExecution to false in the definition file (.csdef).

image

As a security conscious developer I want by default to run my application in partial trust mode that provides a higher level of security. If I need to use something like Reflection or P/Invoke, as a developer I want to make the decision to lower that trust level by myself.

I’m sure there’s a reason why Microsoft decided to use Full trust as a default .NET trust level, I just fail to see it. If you know the reason, or you think you know it, please let me know.

Because my blog is not the most popular site on internet yet, I also asked the same question on stackoverflow.  If you want to answer it, I don’t care if you choose to reply here or on stackoverflow.

kick it on DotNetKicks.com


Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>