보안 정책 관리

중요중요

.NET Framework 버전 4에서 CLR(공용 언어 런타임)은 더 이상 컴퓨터의 보안 정책을 제공하지 않습니다.Microsoft는 CLR 보안 정책 대신 Windows 소프트웨어 제한 정책을 사용하는 것을 권장합니다.이 항목의 내용은 .NET Framework 버전 3.5 및 이전 버전에만 적용되고 버전 4 및 이후 버전에는 적용되지 않습니다.이 변경 내용 및 다른 변경 내용에 대한 자세한 내용은 .NET Framework 4의 보안 변경 내용을 참조하십시오.

보안 정책이란 공용 언어 런타임이 코드에 부여할 권한을 결정할 때 따르는 구성 가능한 규칙 집합입니다. 코드는 실행 파일(.exe)이나 라이브러리(.dll)인 해당 어셈블리 파일에 의해 식별됩니다. 공용 언어 런타임은 코드가 발생한 영역이나 웹 사이트 등 어셈블리의 식별 가능한 특징을 조사하여 코드가 리소스에 대해 가질 수 있는 액세스 권한을 결정합니다. 이러한 특성은 어셈블리와 연결된 System.Security.Policy.Evidence로 정의됩니다. 어셈블리의 일반적인 EvidenceUrl, Zone, StrongNameHash입니다. 실행하는 동안 런타임은 Evidence를 사용하여 액세스 권한이 부여된 리소스에만 코드가 액세스하도록 합니다.

보안 정책은 여러 개의 코드 그룹을 정의하고 각 그룹을 권한 집합과 연결합니다. 보안 시스템은 Evidence를 사용하여 어셈블리가 속하는 코드 그룹을 확인합니다. 모든 증명 정보를 고려한 후 하나 이상의 코드 그룹에 어셈블리가 연결되며 결과 권한 부여는 일치하는 모든 코드 그룹과 연결된 전체 권한 집합입니다.

기본적으로 실행될 컴퓨터에 있는 어셈블리는 MyComputer 영역에 있습니다. MyComputer 영역 증명 정보는 My_Computer_Zone 코드 그룹에 코드를 배치하고 완전 신뢰 권한을 부여합니다. 완전 신뢰 권한 집합은 보안 검사를 건너뛰며 보호되는 모든 리소스에 대한 액세스 권한을 코드에 부여합니다. 이런 이유 때문에 완전히 신뢰하는 소스의 응용 프로그램만 컴퓨터에 설치하는 것이 중요합니다. .NET Framework 버전 3.5 SP1(서비스 팩 1)에서는 컴퓨터뿐 아니라 인트라넷에서 실행하는 어셈블리에도 완전 신뢰가 적용됩니다. 완전히 신뢰하는 인트라넷 응용 프로그램만 실행해야 합니다. 보안 정책 관리자는 인트라넷 응용 프로그램에 대한 정책을 이전에 부여된 부분 신뢰 상태로 복원할 수 있습니다.

대부분의 경우에 기본 보안 정책이 적합하지만 관리자는 사용자 조직의 요구에 따라 보안 정책을 수정하거나 사용자 지정할 수 있습니다. 공용 언어 런타임은 보안 정책을 기준으로 어셈블리 및 응용 프로그램 도메인에 권한을 부여합니다.

단원 내용

관련 단원

  • 최선의 보안 정책 구현 방법
    관리자가 컴퓨터나 엔터프라이즈에서 보안 정책을 유지하기 위해 사용할 수 있는 방법에 대해 설명합니다.

  • 주요 보안 개념
    .NET Framework 보안을 사용하기 전에 반드시 이해해야 하는 기본 개념을 소개합니다.

  • 권한
    권한 개체 및 권한 개체가 런타임에서 사용되는 방식에 대해 설명합니다.

  • 코드 액세스 보안
    .NET Framework 코드 액세스 보안에 대해 자세히 설명하고, 코드에서 이 보안을 사용하는 방법에 대한 지시 사항을 제공합니다.

  • 보안 도구
    .NET Framework에 포함된 보안 도구들을 보여 주면서 이에 대해 간단히 설명합니다.