trust 요소(ASP.NET 설정 스키마)
[이 설명서는 미리 보기 전용이며, 이후 릴리스에서 변경될 수 있습니다. 비어 있는 항목은 자리 표시자로 포함됩니다.]
응용 프로그램에 적용되는 CAS(코드 액세스 보안) 수준을 구성합니다. Full보다 신뢰 수준이 낮은 웹 응용 프로그램을 실행하려면 이 요소를 사용합니다.
<trust
hostSecurityPolicyResolverType ="security policy resolution type"
legacyCasModel = "[True|False]"
level="[Full|High|Medium|Low|Minimal]"
originUrl="URL"
permissionSetName = "name of the permission set"
processRequestInApplicationTrust = "[True|False]"
/>
특성 및 요소
다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.
특성
특성 |
설명 |
---|---|
hostSecurityPolicyResolverType |
선택적 문자열 특성입니다. 사용자 지정 보안 정책 확인 형식을 지정합니다. 이 특성이 빈 문자열로 설정되면 ASP.NET은 기본 정책을 사용하여 어셈블리 권한을 확인합니다. 권한 확인에 대한 기본 정책에서는 GAC(전역 어셈블리 캐시) 어셈블리에는 완전 신뢰, 기타 어셈블리에는 부분 신뢰를 부여합니다. 이 특성을 null 값으로 설정할 수 없습니다. 기본값은 빈 string입니다. |
legacyCasModel |
선택적 부울 특성입니다. 레거시 CAS(코드 액세스 보안) 보안을 사용할지 여부를 지정합니다. 레거시 코드 액세스 보안을 사용하면 다음과 같은 보안 규칙이 적용됩니다.
기본값은 false입니다. |
level |
필수 String 특성입니다. 응용 프로그램이 실행되는 신뢰 수준을 지정합니다. 각 신뢰 수준은 구성 파일의 trustLevel 요소를 사용하여 개별 XML 정책 파일에 매핑됩니다. 정책 파일에는 각 신뢰 수준에서 허용되는 권한 집합 목록이 포함되어 있습니다. ASP.NET 및 정책 파일에 대한 내용은 ASP.NET Trust Levels and Policy Files을 참조하십시오. 이 특성은 securityPolicy 요소(ASP.NET 설정 스키마) 요소의 trustLevel 요소에 일치하는 보안 정책 매핑이 정의되어 있는 경우 사용자 정의 값일 수 있고 다음과 같은 값 중 하나일 수 있습니다. 이 값은 제한 수준이 낮은 값부터 순서대로 나열되어 있습니다.
값설명
Full 무제한의 권한을 지정합니다.ASP.NET 응용 프로그램에 운영 체제 보안과 관계된 모든 리소스에 액세스할 수 있는 권한을 부여합니다.특별한 권한을 필요로 하는 모든 작업이 지원됩니다.AspNetHostingPermissionLevel 열거형에서는 이 설정을 Unrestricted라고 합니다.
High 높은 수준의 코드 액세스 보안을 지정합니다. 이 값을 지정하면 응용 프로그램에서 기본적으로 다음 작업을 수행할 수 없습니다.
Medium 보통 수준의 코드 액세스 보안을 지정합니다. 이 값을 지정하면 High 수준의 제한 사항이 적용될 뿐만 아니라 ASP.NET 응용 프로그램에서 기본적으로 다음 작업을 수행할 수 없습니다.
Low 낮은 수준의 코드 액세스 보안을 지정합니다. 이 값을 지정하면 Medium 수준의 제한 사항이 적용될 뿐만 아니라 응용 프로그램에서 기본적으로 다음 작업을 수행할 수 없습니다.
Minimal 최소 수준의 코드 액세스 보안을 지정합니다. 이 값을 지정하면 응용 프로그램에 실행 권한만 부여됩니다.
기본값은 아무런 제한이 없는 Full입니다. |
originUrl |
선택적 String 특성입니다. Medium 신뢰 수준에 구성된 제한된 WebPermission 권한과 함께 사용할 URL을 지정합니다. 이 특성이 있으면 WebPermission에 지정된 특정 URL에만 연결할 수 있는 HttpWebRequest 등의 일부 클래스에서 이 특성을 사용할 수 있습니다. 이 특성을 사용하면 호스트에 의존하는 권한이 제대로 작동될 수 있습니다. |
permissionSetName |
선택적 문자열 특성입니다. 사용 권한 집합의 이름을 지정합니다. 기본값은 "ASP.Net"입니다. |
processRequestInApplicationTrust |
선택적 Boolean 특성입니다. 페이지 요청이 ASP.NET 응용 프로그램에 적용된 신뢰 정책 파일에 구성된 사용 권한으로 자동으로 제한되는지 여부를 지정합니다. 신뢰 정책 파일은 securityPolicy 요소의 trustLevel 요소에 지정되어 있습니다. 단일 신뢰 정책은 trust 요소의 level 특성을 사용하여 ASP.NET 응용 프로그램에 적용됩니다. False로 설정하면 level 특성에 다른 신뢰 수준을 지정하더라도 Full 신뢰 수준에서 ASP.NET 요청을 실행할 수 있습니다. 특별한 이유가 없으면 이 특성을 다시 설정하지 않고 기본값 true로 두는 것이 좋습니다. 이 특성은 .NET Framework 버전 2.0에서 새로 도입되었습니다. 기본값은 True입니다. |
자식 요소
없음
부모 요소
요소 |
설명 |
---|---|
configuration |
공용 언어 런타임 및 .NET Framework 응용 프로그램에서 사용하는 모든 구성 파일의 필수 루트 요소를 지정합니다. |
system.web |
구성 파일에서 ASP.NET 구성 설정에 대한 루트 요소를 지정하며, ASP.NET 웹 응용 프로그램을 구성하고 응용 프로그램의 동작 방식을 제어하는 구성 요소를 포함합니다. |
설명
trust 요소는 응용 프로그램에 적용되는 CAS(코드 액세스 보안) 수준을 구성합니다. 보안 정책 파일은 securityPolicy 컬렉션 요소에 있는 신뢰 수준 이름에 매핑됩니다. 정책 파일에는 신뢰 수준에서 허용되는 권한 집합 목록이 포함되어 있습니다. trust 요소는 ASP.NET 응용 프로그램에 적용할 신뢰 수준을 지정합니다. ASP.NET 및 정책 파일에 대한 내용은 ASP.NET Trust Levels and Policy Files을 참조하십시오.
기본적으로 웹 응용 프로그램은 Full 신뢰 수준에서 실행됩니다. 완전 신뢰 응용 프로그램에는 코드 액세스 보안 정책에 의해 무제한의 코드 액세스 권한이 부여됩니다. 이러한 권한에는 기본 제공 시스템 및 사용자 지정 권한이 포함됩니다. 즉, 코드 액세스 보안으로 응용 프로그램에서 보안된 리소스에 액세스하는 것을 막을 수 없습니다. 리소스 액세스 시도의 성공 또는 실패는 운영 체제 수준 보안에 의해 결정됩니다. Full 이외의 신뢰 수준으로 구성된 응용 프로그램을 부분 신뢰 응용 프로그램이라고 합니다. 부분 신뢰 응용 프로그램에는 응용 프로그램의 보안된 리소스에 대한 액세스를 제한하는 권한이 있습니다.
호스팅된 환경에서 보안을 향상시키려면 루트 Web.config 파일에서 location 요소를 사용하여 호스팅된 응용 프로그램에 대한 securityPolicy 및 trust 요소를 묶고 allowOverride="False" 특성을 사용하여 응용 프로그램에서 로컬 Web.config 파일의 설정을 재정의하지 않도록 지정합니다. 호스팅된 여러 응용 프로그램을 서로 다른 신뢰 수준으로 구성하려는 경우 path 특성이 서로 다른 여러 location 요소를 사용할 수도 있습니다. 이 유형의 구성 예제를 보려면 이 항목의 뒤에 나오는 "예제" 부분을 참조하십시오.
참고
System.Web의 형식에는 완전 신뢰 호출자가 필요하므로 .NET Framework 버전 1.0을 기반으로 만든 웹 응용 프로그램은 항상 Full 신뢰 수준에서 실행됩니다.새 버전의 .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 요소를 사용하여 설정을 잠그는 방법을 보여 줍니다. 같은 구성 파일의 다른 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 IIS(인터넷 정보 서비스) 버전 5.0, 5.1 또는 6.0 .NET Framework 버전 1.0, 1.1 또는 2.0 Microsoft Visual Studio 2003 또는 Visual Studio 2005 |
참고 항목
작업
How to: Configure Specific Folders Using Location Settings
How to: Lock ASP.NET Configuration Settings
참조
securityPolicy에 대한 trustLevel 요소(ASP.NET 설정 스키마)
securityPolicy 요소(ASP.NET 설정 스키마)
개념
ASP.NET Trust Levels and Policy Files
ASP.NET Trust Levels and Policy Files
기타 리소스
ASP.NET Web Application Security