내보내기(0) 인쇄
모두 확장

연습: Office 솔루션에 대한 권한 부여 및 제거

참고 필요한 응용 프로그램

이 항목의 기능을 사용하려면 필요한 응용 프로그램이 설치되어 있어야 합니다.

자세한 내용은 제품 조합에 따라 사용할 수 있는 기능을 참조하십시오.

  • 다음 개발 환경 중 하나가 있어야 합니다.

    VSTO 2005

    - 또는 -

    Visual Studio Team System

  • Microsoft Office 2003

이 연습에서는 Microsoft Visual Studio 2005 Tools for the Microsoft Office System의 보안에 대한 기본 사항을 보여 줍니다.

이 연습을 통해 다음과 같은 작업 방법을 배웁니다.

  • 기본 보안 설정 제거

  • 새로운 권한 집합 추가

  • 프로젝트 테스트

이 연습을 완료하려면 다음이 필요합니다.

  • Visual Studio Tools for Office

  • Microsoft Office Excel 2003

이 단계에서는 Excel 통합 문서 프로젝트를 만듭니다.

새 프로젝트를 만들려면

Visual Studio의 디자이너에 새 Excel 통합 문서가 열리고 My Security Test 프로젝트가 솔루션 탐색기에 추가됩니다.

이 단계에서는 워크시트의 초기화 이벤트에 메시지 상자를 추가합니다.

초기화 이벤트에 메시지 상자를 추가하려면

  1. Visual Studio 디자이너에 My Security Test.xls 통합 문서가 열려 있고 Sheet1이 표시되어 있는지 확인합니다.

  2. 솔루션 탐색기에서 마우스 오른쪽 단추로 Sheet1.vb 또는 Sheet1.cs를 클릭한 다음 바로 가기 메뉴에서 코드 보기를 클릭합니다.

  3. 초기화하는 동안 메시지 상자를 표시하도록 아래의 코드를 Sheet1 클래스 내의 Startup 메서드에 추가합니다.

    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
        MessageBox.Show("Security settings are correct.");
    }
    
    
  4. 파일 메뉴에서 모두 저장을 클릭합니다.

  5. 프로젝트 저장 대화 상자의 위치 상자에 C:\Walkthroughs를 입력합니다.

  6. 저장을 클릭합니다.

  7. F5 키를 눌러 프로젝트를 실행합니다.

    Excel이 시작되고 메시지 상자가 표시됩니다.

  8. 메시지 상자를 닫습니다.

  9. Excel을 닫습니다.

  10. Visual Studio 디자이너에서 My Security Test.xls에 대한 탭을 찾아 선택합니다.

  11. Visual Studio 디자이너에서 My Security Test.xls(Excel 워크시트 디자인 화면)를 닫습니다.

    보안 정책을 변경하기 전에 열려 있는 Excel 인스턴스를 모두 닫아야 합니다.

Excel 통합 문서 프로젝트를 빌드할 때 마법사에서는 새 보안 코드 그룹 및 자식 코드 그룹을 사용자 수준으로 런타임 보안 정책에 추가합니다.

다음 단계에서는 마법사가 만든 코드 그룹을 제거합니다.

생성된 기본 코드 그룹을 찾아서 제거합니다.

코드 그룹을 제거하려면

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

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

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

    사용자가 만든 각 프로젝트의 GUID가 표시됩니다. 각 GUID를 확장하여 연결된 문서의 경로를 확인합니다.

  4. C:\Walkthroughs\My Security Test\My Security Test\bin\My Security Test.xls 코드 그룹에 대한 GUID를 마우스 오른쪽 단추로 클릭한 다음 바로 가기 메뉴에서 삭제를 클릭합니다.

    이 코드 그룹을 삭제할지 묻는 대화 상자가 표시됩니다.

  5. 를 클릭합니다.

  6. Visual Studio로 돌아간 다음 F5 키를 눌러 My Security Test 프로젝트를 실행합니다.

    현재의 .NET 보안 정책에서는 사용자 지정을 실행할 수 없다는 오류 메시지가 표시됩니다.

  7. 확인을 클릭합니다.

  8. Excel을 닫습니다.

Microsoft .NET 보안 정책에 명시적인 권한이 없는 어셈블리는 실행될 수 없습니다.

다음 단계에서는 URL 대신 강력한 이름을 증명 정보로 사용하여 어셈블리에 권한을 부여합니다.

일반적으로 URL보다 강력한 이름이 증명 정보로 더욱 안전합니다. 다음 단계에서는 강력한 이름을 만들어 어셈블리에 할당합니다.

강력한 이름을 만들려면

  1. Visual Studio의 프로젝트 메뉴에서 My Security Test 속성을 클릭합니다.

  2. 서명 탭을 클릭합니다.

  3. 어셈블리 서명을 선택합니다.

  4. 강력한 이름 키 파일 선택 목록에서 새로 만들기를 선택합니다.

  5. 강력한 이름 키 만들기 대화 상자의 키 파일 이름 상자에 SecurityTestKey를 입력합니다.

  6. 암호로 내 키 파일 보호 확인란의 선택을 취소합니다.

  7. 확인을 클릭합니다.

    솔루션 탐색기SecurityTestKey.snk 키 파일이 나타납니다.

  8. 빌드 메뉴에서 솔루션 빌드를 클릭하여 강력한 이름 키 쌍에 대해 어셈블리를 빌드합니다.

Note참고

키 파일은 안전하게 유지해야 합니다. 일반적으로 암호를 사용하여 키 파일을 보호해야 하며 권한이 없는 사용자가 키 파일에 액세스할 수 없도록 조치를 취해야 합니다. 키 파일은 다양한 신뢰 관련 의사 결정의 기준으로 사용됩니다. 신뢰할 수 있고 책임 소재가 분명한 경우에만 키 파일을 전달하십시오. 악의적인 사용자가 키 파일을 획득하여 암호를 알아내면 키 파일 소유자가 작성한 것처럼 보이는 악의적인 어셈블리를 만들 수 있습니다.

이제 깅력한 이름을 기준으로 어셈블리에 완전 신뢰를 부여하는 새로운 코드 그룹을 추가합니다.

강력한 이름을 기준으로 신뢰를 부여하려면

  1. Microsoft .NET Framework 2.0 구성을 다시 엽니다.

  2. VSTOProjects 노드를 마우스 오른쪽 단추로 클릭한 다음 바로 가기 메뉴에서 새로 만들기를 클릭합니다.

  3. 새 코드 그룹의 이름으로 Security Test Strong Name을 입력한 후 다음을 클릭합니다.

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

  5. 가져오기를 클릭합니다.

  6. Visual Basic의 경우에는 C:\Walkthroughs\My Security Test\My Security Test\bin\My Security Test.dll, C#의 경우에는 C:\Walkthroughs\My Security Test\My Security Test\bin\debug\My Security Test.dll을 찾은 다음 열기를 클릭합니다.

  7. 다음을 클릭합니다.

  8. 다음을 클릭하여 FullTrust 권한 집합을 적용한 다음 마침을 클릭합니다.

  9. Microsoft .NET Framework 2.0 구성을 닫습니다.

이제 통합 문서를 테스트하여 통합 문서가 열릴 때 코드가 실행되는지 확인할 수 있습니다.

통합 문서를 테스트하려면

  1. F5 키를 눌러 프로젝트를 실행합니다.

  2. 메시지 상자가 표시되는지 확인합니다.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft