trust 要素 (ASP.NET 設定スキーマ)
更新 : 2007 年 11 月
アプリケーションに適用するコード アクセス セキュリティ (CAS: Code Access Security) のレベルを設定します。この要素は、Full より下の信頼レベルの Web アプリケーションを実行する場合に使用します。
configuration 要素 (全般設定スキーマ)
system.web 要素 (ASP.NET 設定スキーマ)
trust 要素 (ASP.NET 設定スキーマ)
<trust
level="[Full|High|Medium|Low|Minimal]"
originUrl="URL"
processRequestInApplicationTrust = "[True|False]"
/>
属性と要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 |
説明 |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
level |
必須の String 属性です。 アプリケーションが実行される信頼レベルを指定します。各信頼レベルは、構成ファイルに指定された trustLevel 要素を使用して個々の XML ポリシー ファイルに割り当てられます。このポリシー ファイルは、各信頼レベルで与えられるアクセス許可セットのリストです。ASP.NET およびポリシー ファイルについては、「ASP.NET 信頼レベルとポリシー ファイル」を参照してください。 この属性は、一致するセキュリティ ポリシーのマップが securityPolicy 要素 (ASP.NET 設定スキーマ) 要素の trustLevel 要素で定義されている場合は、ユーザー定義の値にできます。または、次の値のいずれかを使用できます。下の値ほど制限が強くなります。
既定値は Full (制限なし) です。 |
||||||||||||
originUrl |
省略可能な String 属性です。 Medium の信頼レベルで構成する制限付きの WebPermission アクセス許可で使用する URL を指定します。存在する場合、これは HttpWebRequest など一部のクラスに使用でき、WebPermission により指定される特定の URL にのみ接続が許可されます。この属性により、ホストの概念に依存するアクセス許可が正常に機能できます。 |
||||||||||||
processRequestInApplicationTrust |
省略可能な Boolean 属性です。 信頼度ポリシー ファイル (ASP.NET アプリケーションに適用されます) 内に構成したアクセス許可に、ページ要求を自動的に制限するかどうかを指定します。 信頼度ポリシー ファイルは、securityPolicy 要素内の trustLevel 要素で指定します。各 ASP.NET アプリケーションには、trust 要素の level 属性を使用して 1 つの信頼度ポリシーが適用されます。 False に設定すると、level 属性に異なる信頼レベルを指定した場合でも、Full の信頼レベルで ASP.NET の要求が実行される可能性があります。これを行う特定の理由がある場合以外は、この属性を既定の true からリセットしないでください。 この属性は .NET Framework Version 2.0 で新たに追加されました。 既定値は True です。 |
子要素
なし。
親要素
要素 |
説明 |
---|---|
configuration |
共通言語ランタイムおよび .NET Framework ベースのアプリケーションで使用されるすべての構成ファイルで必要なルート要素です。 |
system.web |
構成ファイルの ASP.NET 構成設定のルート要素を指定します。ASP.NET Web アプリケーションを構成する構成要素やアプリケーションの動作を制御する構成要素が含まれます。 |
解説
trust 要素は、アプリケーションに適用するコード アクセス セキュリティ (CAS) のレベルを構成します。セキュリティ ポリシー ファイルは、securityPolicy コレクション要素内の信頼レベル名に割り当てられます。このポリシー ファイルは、その信頼レベルで与えられるアクセス許可セットのリストです。trust 要素は、ASP.NET アプリケーションに適用される信頼レベルを指定します。ASP.NET およびポリシー ファイルについては、「ASP.NET 信頼レベルとポリシー ファイル」を参照してください。
既定では、Web アプリケーションは Full の信頼レベルで実行されます。"完全信頼" (信頼レベルが Full) のアプリケーションには、コード アクセス セキュリティ ポリシーによって無制限のコード アクセス許可が与えられます。このアクセス許可には、組み込みのシステム アクセス許可とカスタム アクセス許可が含まれます。これは、セキュリティで保護されたリソースへのアプリケーションのアクセスがコード アクセス セキュリティによって阻止されないことを意味します。リソースへのアクセスが成功するか失敗するかは、オペレーティング システム レベルのセキュリティのみによって決まります。Full 以外の信頼レベルで構成されている場合、アプリケーションは "部分的に信頼されたアプリケーション" と呼ばれます。部分的に信頼されたアプリケーションは制限されたアクセス許可を持っており、アプリケーションのセキュリティで保護されたリソースへのアクセスが制限されます。
ホスト環境のセキュリティを強化するには、ルート Web.config ファイル内で location 要素を使用して、ホストされるアプリケーションの securityPolicy 要素と trust 要素を囲みます。また、よりローカルな Web.config ファイルの設定をアプリケーションがオーバーライドしないように allowOverride="False" 属性を指定します。ホストされるアプリケーションごとに異なる信頼レベルを構成する場合、オプションとして複数の location 要素を path 属性ごとに利用することもできます。この種類の構成の例については、このトピックで後述する「使用例」を参照してください。
メモ : |
---|
.NET Framework Version 1.0 上に構築された Web アプリケーションは、常に Full の信頼レベルで実行されます。それは、System.Web に含まれる型によって完全信頼の呼び出し元が要求されるからです。新しいバージョンの .NET Framework にアップグレードする場合は、必ず既存のアプリケーションをテストしてから、信頼レベルを変更するようにしてください。 |
既定の構成
次の既定の trust 要素は、ルートの Web.config ファイルで構成されます。
<location allowOverride="true">
<system.web>
<securityPolicy>
<trustLevel name="Full" policyFile="internal" />
<trustLevel name="High" policyFile="web_hightrust.config" />
<trustLevel name="Medium" policyFile="web_mediumtrust.config" />
<trustLevel name="Low" policyFile="web_lowtrust.config" />
<trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
</securityPolicy>
<trust
level="Full"
originUrl=""
processRequestInApplicationTrust="true"
/>
</system.web>
</location>
使用例
ルート Web.config ファイルを使用して、サーバー上のすべての ASP.NET アプリケーションに Medium 信頼レベル設定を指定し、設定をロックする location 要素を指定する方法を次のコード例に示します。同じ構成ファイルに含まれるもう 1 つの location 要素を使用すると、Default Web Site/Temp アプリケーションの Web.config ファイルがルート Web.config ファイルの設定をオーバーライドできます。
<location allowOverride="false">
<system.web>
<securityPolicy>
<trustLevel name="Full" policyFile="internal" />
<trustLevel name="High" policyFile="web_hightrust.config" />
<trustLevel name="Medium" policyFile="web_mediumtrust.config" />
<trustLevel name="Low" policyFile="web_lowtrust.config" />
<trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
</securityPolicy>
</system.web>
</location>
<location allowOverride="false">
<system.web>
<trust level="Medium" originUrl="" />
</system.web>
</location>
<location allowOverride="true" path="Default Web Site/Temp">
<system.web>
<trust level="Medium" originUrl="" />
</system.web>
</location>
要素情報
構成セクション ハンドラ |
|
構成メンバ |
|
構成できる場所 |
Machine.config ルート レベルの Web.config アプリケーション レベルの Web.config |
必要条件 |
Microsoft Internet Information Services (IIS) バージョン 5.0、5.1、または 6.0 .NET Framework Version 1.0、1.1、または 2.0 Microsoft Visual Studio 2003 または Visual Studio 2005 |
参照
処理手順
方法 : Location の設定を使用して特定のディレクトリを構成する
概念
参照
system.web 要素 (ASP.NET 設定スキーマ)
securityPolicy の trustLevel 要素 (ASP.NET 設定スキーマ)
securityPolicy 要素 (ASP.NET 設定スキーマ)