기본 보안 정책
중요 |
---|
.NET Framework 버전 4에서 CLR(공용 언어 런타임)은 더 이상 컴퓨터의 보안 정책을 제공하지 않습니다.Microsoft는 CLR 보안 정책 대신 Windows 소프트웨어 제한 정책을 사용하는 것을 권장합니다.이 항목의 내용은 .NET Framework 버전 3.5 및 이전 버전에만 적용되고 버전 4 및 이후 버전에는 적용되지 않습니다.이 변경 내용 및 다른 변경 내용에 대한 자세한 내용은 .NET Framework 4의 보안 변경 내용을 참조하십시오. |
컴퓨터 정책은 기본적으로 다음 표에 나와 있는 값으로 설정됩니다. 허용되는 권한 집합을 결정할 때 정책 수준의 교집합을 구하기 때문에 실제로는 컴퓨터 정책 설정이 기본 보안 정책을 결정합니다. 이 표는 기본 정책 설정에서 사용되는 명명된 권한 집합 및 권한을 나타내지만 보안 정책을 사용자 지정하는 데 사용할 수 있는 명명된 권한 집합 및 권한을 모두 나타내지는 않습니다.
다음 표에서는 컴퓨터 정책의 기본 코드 그룹과 코드 그룹이 기본적으로 받는 명명된 권한 집합을 보여 줍니다. 예를 들어, 로컬 컴퓨터에서 발생한 코드는 기본적으로 내 컴퓨터 영역에 할당되며 완전한 신뢰를 받습니다.
코드 그룹 |
기본적으로 받은 명명된 권한 집합 |
---|---|
|
Full Trust |
|
Local Intranet |
|
Internet |
|
Nothing |
참고 |
---|
.NET Framework 1.0 서비스 팩 1 및 서비스 팩 2에서 Internet Zone 코드 그룹은 Nothing으로 명명된 권한 집합을 받습니다..NET Framework의 다른 모든 릴리스에서 Internet Zone 코드 그룹은 앞의 표에서 설명된 것처럼 Internet으로 명명된 권한 집합을 받습니다. |
All Code 그룹에는 기본적으로 Nothing 권한이 설정되어 있지만 허용되는 권한 집합을 산정할 때는 일치하는 코드 그룹을 결합(합집합이라고 함)하기 때문에 코드에 권한이 없는 것은 아닙니다.
다음 표에서는 기본 권한 집합을 구성하는 개별 권한을 보여 줍니다. 맨 왼쪽 열은 개별 권한 개체를 나타내며 오른쪽 열들은 권한 집합에서 해당 개체의 구성을 나타냅니다. 예를 들어, 로컬 인트라넷 영역에서 발생한 코드는 Local Intranet 권한 집합을 받습니다. 이 표에서는 Local Intranet 권한 집합이 제한 없는 DNSPermission, 제한 없는 FileDialogPermission 등으로 구성됨을 보여 줍니다. 인터넷 영역에서 발생한 코드는 기본적으로 Internet 권한 집합을 받지 않고 Nothing 권한 집합을 받습니다.
권한 |
Full Trust 권한 집합 (나열되지 않은 권한을 포함하여 모든 권한에 대한 무제한 액세스) |
Nothing 권한 집합 (권한 없음, 실행할 수 있는 권한 없음) |
Local Intranet 권한 집합 |
Internet 권한 집합 |
---|---|---|---|---|
무제한 |
액세스 권한 없음 |
액세스 권한 없음 |
||
무제한 |
액세스 권한 없음 |
Username(환경 변수) 읽기 |
액세스 권한 없음 |
|
무제한 |
액세스 권한 없음 |
액세스 권한 없음 |
||
무제한 |
액세스 권한 없음 |
|||
무제한 |
액세스 권한 없음 |
9223372036854775807의 디스크 할당량 |
512000의 디스크 할당량 |
|
무제한 |
액세스 권한 없음 |
|||
무제한 |
액세스 권한 없음 |
액세스 권한 없음 |
||
무제한 |
액세스 권한 없음 |
|||
무제한 |
액세스 권한 없음 |
대부분의 경우에 기본 보안 정책이 적합하지만 관리자는 사용자 조직의 요구에 맞게 보안 정책을 수정하거나 사용자 지정할 수 있습니다. 자세한 내용은 보안 정책 관리를 참조하십시오.
코드는 전역 어셈블리 캐시에 배치된 어셈블리가 자동으로 수행하는 완전 신뢰에 대한 고유 LinkDemand와 관련된 추가 제약 조건을 따릅니다. AllowPartiallyTrustedCallersAttribute가 전역 어셈블리 캐시의 어셈블리에 적용되지 않는 경우 Full Trust 권한 집합을 받지 않은 모든 코드는 해당 어셈블리에 링크하려고 할 때 SecurityException을 생성합니다. 자세한 내용과 AllowPartiallyTrustedCallersAttribute가 있는 어셈블리 목록을 보려면 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.