권한 확장
업데이트: 2007년 11월
작성된 방식에 따라, 현재 정책에서 허용하는 것보다 더 많은 권한이 있어야 실행할 수 있는 관리되는 응용 프로그램은 예외를 throw하거나, 실행되지 않거나, 올바로 작동되지 않습니다. 권한 보기 도구(Permview.exe)를 사용하여 요청된 최소 권한, 요청된 선택적 권한, 어셈블리가 거부한 권한을 봄으로써 어셈블리가 요청하는 권한과 실제로 부여된 권한을 비교할 수 있습니다. 이 도구는 응용 프로그램에서 선언 구문을 사용하여 명시적으로 요청한 권한만 표시합니다. 이 정보를 사용하면 새 사용자 지정 코드 그룹을 만들어 어셈블리에 부여되는 권한을 늘릴 수 있습니다. 그리고 이 권한을 응용 프로그램이 올바로 실행되는 데 필요한 모든 권한이 포함되어 있는 새 사용자 지정 권한 집합에 연결할 수 있습니다. 그러나 응용 프로그램의 출처를 신뢰할 수 있는 경우에만 권한을 늘려야 하며, 믿을 만한 증명 정보가 있을 경우에만 신뢰해야 합니다. 대부분의 경우 관리자는 비슷한 권한이 필요한 여러 응용 프로그램을 분류하는 데 사용할 수 있는 여러 개의 사용자 지정 코드 그룹을 가지고 있습니다.
여러 사용자가 네트워크 공유 위치에서 자주 액세스하는 응용 프로그램이 있다고 가정해봅시다. 관리되지 않는 상황에서는 일반적으로 실행 문제가 발생하지 않습니다. 그러나 관리하는 경우에는 이 응용 프로그램이 로컬 인트라넷 영역에서 발생했기 때문에 제한된 권한 집합을 부여할 수 있습니다. 예를 들어, 응용 프로그램에 전체 인쇄 권한이 허용되지 않아 이 응용 프로그램의 용도가 제한될 수 있습니다. 이러한 경우에는 전체 로컬 인트라넷 영역에 대한 설정을 약화시키지 말고 다음을 수행해야 합니다.
권한 보기 도구(Permview.exe)를 사용하여 권한을 늘리려고 하는 어셈블리가 요청한 최소 권한을 봅니다. 응용 프로그램을 실행하는 데 필요한 최소한의 권한입니다.
어셈블리의 고유한 특징을 파악합니다. 어셈블리의 강력한 이름, 공개 키, 해시 또는 고유한 사용자 지정 특성 등이 이에 해당합니다. 응용 프로그램이 신뢰할 수 있는 서버에서 발생한 경우에는 위치에 의해 응용 프로그램을 식별할 수도 있습니다. 이러한 특징을 갖는 코드는 모두 신뢰하게 됩니다.
멤버가 되려면 고유한 식별자가 필요한 새 코드 그룹을 만듭니다. .NET Framework 구성 도구(Mscorcfg.msc) 또는 코드 액세스 보안 정책 도구(Caspol.exe)를 사용하여 코드 그룹을 만듭니다.
.NET Framework 구성 도구나 코드 액세스 보안 정책 도구를 사용하여 어셈블리를 실행하는 데 필요한 최소한의 권한이 모두 포함된 새 권한 집합을 만듭니다.
.NET Framework 구성 도구나 코드 액세스 보안 정책 도구를 사용하여 새 권한 집합을 새 코드 그룹에 연결합니다.
이러한 단계를 완료하면 응용 프로그램이 실행되며 작동하기에 충분한 권한을 부여 받습니다. 충분히 신뢰할 수 없는 다른 응용 프로그램은 이러한 추가 권한을 받지 않으므로 악성 코드로부터 시스템을 보호하는 데 도움이 됩니다. 보안 도구를 사용하여 특정 작업을 수행하는 데 대한 자세한 내용은 보안 정책 구성을 참조하십시오.