다음을 통해 공유


방법: 폴더 및 어셈블리에 대한 권한 부여(2003 시스템)

업데이트: 2007년 11월

적용 대상

이 항목의 정보는 지정된 Visual Studio Tools for Office 프로젝트 및 Microsoft Office 버전에만 적용됩니다.

프로젝트 형식

  • 문서 수준 프로젝트

  • 응용 프로그램 수준 프로젝트

Microsoft Office 버전

  • Microsoft Office 2003

자세한 내용은 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

다음 절차에서는 Visual Studio Tools for Office 솔루션의 어셈블리 또는 폴더에 완전 신뢰 권한을 부여합니다. 일반적으로 권한을 특정 어셈블리에 부여합니다. 여러 어셈블리가 있고 위치가 안전한 경우에 어셈블리가 위치한 폴더에 완전 신뢰를 부여할 수 있습니다. 폴더에 신뢰를 부여하는 경우 해당 폴더 및 하위 폴더의 모든 어셈블리도 신뢰됩니다.

Office 솔루션의 폴더 및 어셈블리에 대한 권한을 부여하는 데에는 세 가지 방법이 있습니다.

  • Visual Studio의 신뢰 어셈블리 위치 속성을 사용합니다 (배포 중에만 유용).

    신뢰 어셈블리 위치 속성은 개발 과정에서만 작동하며 최종 사용자에는 영향을 주지 않습니다. 이러한 이유로 배포에 대해 이 메서드를 사용할 수 없습니다. 자세한 내용은 Visual Studio Tools for Office 프로젝트의 속성을 참조하십시오.

  • Microsoft .NET Framework 2.0 구성 도구를 사용합니다.

    이 도구는 보안 정책 작업을 위한 그래픽 사용자 인터페이스를 제공합니다. .NET Framework 2.0 구성 도구는 Visual Studio 2008에 포함되어 있지 않으며, .NET Framework 2.0 SDK의 일부로 Microsoft 다운로드 센터에서 다운로드할 수 있습니다.. 예를 들어 Microsoft .NET Framework 2.0 SDK(소프트웨어 개발 키트)(x86)를 참조하십시오.

  • 코드 액세스 보안 정책 도구(Caspol.exe)를 사용합니다.

    이 도구는 보안 정책 작업을 위한 명령줄 인터페이스입니다.

참고:

이러한 작업은 사용자 자신의 보안 정책을 설정하고 어셈블리를 개발 및 테스트하기 위한 기본 단계입니다. 특정 어셈블리 또는 디렉터리가 안전하고 신뢰할 수 있는지 확실하지 않은 경우에는 어셈블리나 디렉터리에 신뢰를 부여하는 위와 같은 단계를 수행하지 말아야 합니다. 보안 정책 설정에 대한 자세한 내용은 보안 정책 배포.NET Framework 구성 도구(Mscorcfg.msc)를 사용하여 코드 그룹 구성을 참조하십시오.

신뢰 어셈블리 위치 속성 사용

프로젝트를 만들 때에는 위치를 기반으로 한 완전 신뢰가 기본적으로 부여됩니다. 신뢰 어셈블리 위치가 변경된 경우 기본 설정을 다시 적용할 수 있습니다.

개발 컴퓨터에 있는 프로젝트 어셈블리에 대해 완전 신뢰를 부여하려면

  1. Visual Studio의 솔루션 탐색기에서 프로젝트 노드를 선택합니다.

  2. 속성 창에서 신뢰 어셈블리 위치를 선택합니다.

  3. 속성을 true로 설정합니다.

  4. 빌드 메뉴에서 솔루션 빌드를 클릭합니다.

.NET Framework 2.0 구성 도구 사용

.NET Framework 2.0 구성 도구를 설치하려면 먼저 Microsoft 다운로드 센터에서 .NET Framework 2.0 SDK(소프트웨어 개발 키트)를 다운로드하여 설치해야 합니다.

그 다음에 수행할 절차는 어셈블리나 폴더의 위치에 따라 다릅니다.

  • 로컬 컴퓨터에 있는 경우

  • 네트워크의 다른 컴퓨터(매핑된 드라이브)에 있는 경우

로컬 컴퓨터에 있는 어셈블리 또는 폴더에 완전 신뢰를 부여하려면

  1. 제어판에서 관리 도구를 엽니다.

  2. Microsoft .NET Framework 2.0 구성을 실행합니다.

    참고:

    이름이 Microsoft .NET Framework로 시작되는 여러 가지 유사한 도구가 있을 수 있으므로, 런타임 버전에 맞는 구성 도구를 사용해야 합니다.

  3. 왼쪽의 트리 뷰에서 .NET Framework 2.0 구성, 내 컴퓨터, 런타임 보안 정책, 사용자, 코드 그룹, All_Code, VSTOProjects를 차례로 확장합니다.

    참고:

    이전에 Visual Studio Tools for Office 프로젝트를 컴파일한 적이 없는 경우 VSTOProjects 폴더가 없습니다. 이러한 경우 All_Code 루트 노드에 새 코드 그룹을 추가하거나 Visual Studio Tools for Office 프로젝트를 컴파일하여 VSTOProjects 폴더를 자동으로 만들 수 있습니다.

    오른쪽에는 VSTOProjects 코드 그룹 설명이 표시되고 페이지의 아래쪽에는 작업 섹션이 있습니다.

  4. 작업 섹션에서 자식 코드 그룹 추가를 클릭합니다.

    코드 그룹 만들기 마법사가 시작됩니다.

  5. 새 코드 그룹 만들기를 선택하고 프로젝트를 식별하기 위한 이름과 설명을 입력합니다. 다음을 클릭합니다.

  6. 이 코드 그룹에 대한 조건 형식 선택 목록에서 URL을 클릭합니다.

  7. URL 상자에서 어셈블리의 전체 경로(예: c:\path\ExcelApplication1.dll)를 입력하거나 프로젝트의 bin 폴더에 대한 경로와 별표(예: c:\path\ExcelApplication1\bin\*)를 입력합니다.

  8. 다음을 클릭합니다.

    참고:

    bin 폴더의 경로를 입력하면 컴퓨터의 해당 폴더 및 모든 하위 폴더에 있는 모든 어셈블리에 완전 신뢰가 부여됩니다. 권한이 없는 사용자가 완전히 신뢰되는 폴더에 액세스하게 되면 이러한 사용자가 폴더에 악의적인 어셈블리를 추가하는 경우 어셈블리가 완전 신뢰 수준으로 실행될 수 있으므로 주의해야 합니다.

    주의:

    인터넷 또는 전자 메일 메시지를 통해 캐시된 어셈블리에 권한이 부여될 수도 있으므로, C:\* 등 하드 디스크 전체 또는 내 문서 등의 일반 폴더에는 권한을 부여하지 마십시오. 안전하게 실행된다고 확신할 수 있는 어셈블리가 들어 있는 특정 프로젝트 폴더에만 권한을 부여해야 합니다.

  9. 기존 권한 집합 사용을 선택하고 목록에서 FullTrust를 선택합니다.

  10. 다음을 클릭합니다.

  11. 마침을 클릭합니다.

네트워크 컴퓨터 또는 매핑된 드라이브에 있는 어셈블리 또는 폴더에 완전 신뢰를 부여하려면

  1. 제어판에서 관리 도구를 엽니다.

  2. Microsoft .NET Framework 2.0 구성을 실행합니다.

    참고:

    이름이 Microsoft .NET Framework로 시작되는 여러 가지 유사한 도구가 있을 수 있으므로, 런타임 버전에 맞는 구성 도구를 사용해야 합니다.

  3. 왼쪽의 트리 뷰에서 .NET Framework 2.0 구성, 내 컴퓨터, 런타임 보안 정책, 컴퓨터, 코드 그룹을 차례로 확장한 다음 All_Code를 확장합니다.

    참고:

    네트워크 컴퓨터에 있는 어셈블리 또는 폴더에 완전 신뢰를 부여하려면 관리자 권한이 있어야 하며 사용자 수준이 아닌 컴퓨터 수준에서 신뢰를 부여해야 합니다.

  4. All_Code 아래에 있는 LocalIntranet_Zone을 마우스 오른쪽 단추로 클릭한 다음 새로 만들기를 클릭합니다.

    이 단계에서는 서버가 로컬 인트라넷 영역에 있는 것으로 가정합니다. 서버가 Internet Explorer에서 신뢰할 수 있는 사이트 영역에 추가된 경우 Trusted_Zone을 마우스 오른쪽 단추로 클릭합니다. 어셈블리가 매핑된 드라이브에 있는 경우 LocalIntranet_Zone을 사용해야 합니다.

  5. 프로젝트를 식별하기 위한 이름과 설명을 입력합니다. 다음을 클릭합니다.

  6. 이 코드 그룹에 대한 조건 형식 선택 목록에서 URL을 클릭합니다.

  7. URL 상자에서 어셈블리의 전체 경로(예: \\ServerName\FolderName\ExcelApplication1.dll)를 입력하거나 프로젝트의 bin 폴더에 대한 경로와 별표(예: https://ServerName/FolderName/ExcelApplication1/bin/*)를 입력합니다.

  8. 다음을 클릭합니다.

    참고:

    bin 폴더의 경로를 입력하면 컴퓨터의 해당 폴더 및 모든 하위 폴더에 있는 모든 어셈블리에 대해 완전 신뢰가 부여됩니다. 이러한 폴더가 안전한지 확신할 수 없는 경우 광범위한 권한으로 인해 보안 문제가 발생할 수도 있습니다.

  9. 기존 권한 집합 사용을 선택하고 목록에서 FullTrust를 선택합니다.

  10. 다음을 클릭합니다.

  11. 마침을 클릭합니다.

코드 액세스 보안 정책 도구(Caspol.exe) 사용

코드 액세스 보안 정책 도구(Caspol.exe)를 사용하면 명령 프롬프트에서도 폴더에 완전 신뢰를 부여할 수 있습니다. Caspol.exe에 대한 자세한 내용은 코드 액세스 보안 정책 도구(Caspol.exe)를 참조하십시오.

일반 사용자 권한을 사용하여 사용자 수준에서 로컬 컴퓨터에 있는 폴더에 신뢰를 부여할 수 있습니다. 네트워크 위치에 신뢰를 부여하려면 관리자 권한이 있어야 하고 컴퓨터 수준에서 보안 정책을 변경해야 합니다. 컴퓨터 정책 수준은 사용자 정책 수준과 독립적으로 적용되며, 사용자 정책에서 인트라넷 영역에 완전 신뢰가 부여되어도 컴퓨터 정책 수준이 자동으로 동일하게 설정되지 않습니다. 따라서 각 정책 수준을 일치시켜야 합니다.

팁:

명령을 직접 입력하십시오. 명령 프롬프트에 명령을 복사하여 붙여넣으면 '알 수 없는 옵션' 오류가 발생할 수 있습니다.

로컬 폴더에 완전 신뢰를 부여하려면

  • Visual Studio 명령 프롬프트에서 다음 명령을 입력합니다.

    caspol -u -ag All_Code -url 
    C:\<FolderName>\<FolderName>\* FullTrust -n "<Name>" -d
    "<Description>"
    

네트워크 폴더에 완전 신뢰를 부여하려면

  • Visual Studio 명령 프롬프트에서 다음 명령을 입력합니다.

    caspol -m -ag LocalIntranet_Zone -url 
    \\<ServerName>\<FolderName>\* FullTrust -n "<Name>" -d 
    "<Description>"
    

자세한 내용은 방법: Caspol.exe를 사용하여 코드 그룹 추가를 참조하십시오.

참고:

정책이 배포되면 정책 변경의 영향을 받는 모든 사용자는 정책 변경이 적용되기 전에 솔루션에서 사용되고 있던 모든 Office 응용 프로그램을 종료한 다음 다시 시작해야 합니다. Microsoft Office Word가 솔루션의 일부인 경우에는 Microsoft Office Outlook도 종료했다가 다시 시작해야 합니다. 또한 Internet Explorer에서 문서 또는 통합 문서를 열어 둔 경우에는 해당 프로세스가 계속해서 실행될 수 있습니다. Windows 작업 관리자를 확인하여 Office 응용 프로그램의 인스턴스를 모두 종료해야 합니다. Office 응용 프로그램을 호스팅하는 다른 응용 프로그램으로 인해 새로운 권한이 적용되지 않을 수도 있습니다. 보안 정책이 변경되면 사용자는 Office를 사용하는 호스팅 또는 독립 실행형 응용 프로그램을 모두 종료해야 합니다.

참고 항목

작업

방법: 폴더 및 어셈블리에서 권한 제거(2003 시스템)

개념

Office 솔루션 실행을 위한 보안 요구 사항(2003 시스템)

Office 솔루션에서 최선의 보안 방법(2003 시스템)

Office 솔루션에 대한 특정 보안 고려 사항

코드 그룹

응용 프로그램 보안

기타 리소스

Office 솔루션의 보안(2003 시스템)