ClickOnce 배포 및 보안

보기 전환:
ScriptFree
.NET Framework 개발자 가이드
ClickOnce 배포 및 보안

ClickOnce 기술로 배포되는 응용 프로그램은 보안 영역 기반의 제한된 사용 권한 집합을 사용하여 "샌드박스"에서 실행됩니다. 다음 표는 배포 위치에 따른 기본 사용 권한을 보여 줍니다.

배포 위치 보안 영역

웹에서 실행

인터넷 영역

웹에서 설치

인터넷 영역

네트워크 파일 공유에서 설치

인트라넷 영역

CD-ROM에서 설치

Full Trust

Note참고

기본 사용 권한은 응용 프로그램의 원래 버전이 배포된 위치를 기반으로 하며, 응용 프로그램 업데이트 시 해당 사용 권한이 상속됩니다. 응용 프로그램이 웹 또는 네트워크 위치에서 업데이트를 확인하도록 구성되어 있고 최신 버전이 사용 가능하면, 원래 설치에서 완전 신뢰 권한 대신 인터넷 또는 인트라넷 영역에 대한 사용 권한을 받을 수 있습니다.

보안 및 사용 권한

개발자는 적절한 사용 권한으로 응용 프로그램이 실행되도록 해야 합니다.

Note참고

Visual Studio를 사용하면 대상 보안 영역 내에서 응용 프로그램을 디버깅할 수 있고 보안 응용 프로그램 개발에 도움이 됩니다.

ClickOnce 응용 프로그램에 고급 권한이 필요한 경우가 있습니다. 예를 들어, Excel 스프레드시트와 상호 작용해야 하는 응용 프로그램에는 인터넷 또는 인트라넷 영역에 대해 정의된 사용 권한 이상의 권한이 필요합니다. 응용 프로그램에 고급 권한이 필요한 경우, 설치 과정에서 사용 권한을 부여하라는 메시지가 사용자에게 표시됩니다. 사용자가 동의하면 응용 프로그램이 설치되고 동의하지 않으면 설치가 중단됩니다.

Note참고

시스템 관리자가 특정 응용 프로그램 게시자를 신뢰할 수 있는 소스로 정의하는 ClickOnce 배포 정책을 지정하여 해당 메시지가 표시되지 않게 할 수도 있습니다. 이 정책이 배포되는 컴퓨터에서는 사용 권한이 자동으로 부여되므로 사용자에게 관련 메시지가 표시되지 않습니다.

응용 프로그램에 대한 사용 권한은 응용 프로그램 매니페스트의 <trustInfo> 요소 요소에 있는 설정에 따라 결정되며, Visual Studio가 프로젝트에 대한 보안 속성 페이지의 설정을 기준으로 이 정보를 자동 생성합니다. ClickOnce 응용 프로그램에는 필요한 특정 권한만 부여됩니다. 예를 들어, 파일에 액세스하는 데 완전 신뢰 권한이 필요할 때 응용 프로그램에서 파일 액세스 권한을 요청하면 완전 신뢰 권한이 아니라 파일 액세스 권한만 부여됩니다. ClickOnce 응용 프로그램을 개발할 때 응용 프로그램에 필요한 특정 사용 권한만 요청해야 합니다.

또한 Authenticode 서명을 사용하여 배포 매니페스트에 서명해야 합니다. 설치하는 동안 사용 권한 대화 상자에서 Authenticode 서명을 기반으로 하는 게시자 정보가 표시되어, 응용 프로그램이 신뢰할 수 있는 소스에서 온다는 것을 보여 줍니다. .NET Framework SDK에는 매니페스트에 서명할 수 있는 파일 서명 도구(Signcode.exe)가 들어 있습니다. 자세한 내용은 파일 서명 도구(Signcode.exe)를 참조하십시오.

ClickOnce 및 ASP.NET 폼 기반 인증

각 사용자가 액세스할 수 있는 배포를 제어하려면 웹 서버에 배포된 ClickOnce 응용 프로그램에 익명 액세스를 허용하지 마십시오. 대신 Windows NT 인증을 사용하여 사용자 ID를 기반으로 사용자가 설치한 배포에 대한 사용자 액세스를 허용합니다.

Windows NT 인증을 사용하지 않는 환경에 배포할 경우 ASP.NET 폼 기반 인증을 사용하여 사용자를 인증할 수 있습니다. 그러나 ClickOnce에서는 영구 쿠키를 사용합니다. 영구 쿠키는 Internet Explorer 캐시에 위치하여 해킹 가능하므로 보안 위험이 존재합니다.

따라서 오프라인 응용 프로그램을 배포할 경우(게시 페이지에서 오프라인으로도 응용 프로그램 사용 가능([시작] 메뉴에서 시작 가능)을 활성화한 ClickOnce 배포) Windows NT 인증 이외의 인증 시나리오가 지원되지 않습니다. 사용자가 응용 프로그램을 설치하도록 허용하지만 활성화할 때 클라이언트 응용 프로그램에서 웹 서비스를 통해 사용자를 인증하도록 할 수 있습니다.

참고 항목