IIS 7의 원격 관리 및 기능 위임 구성하기

등록일시: 2007-12-03 11:10,  수정일시: 2016-09-02 07:48
조회수: 10,240
이 문서는 IIS 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.

서론 *

IIS 7.0은 관리자와 개발자들에게 접근하기 쉽고 확장 가능하며 분산 가능한 새로운 구성 설정 시스템을 제공해줍니다. XML을 기반으로 하는 새로운 구성 설정 파일 형식은 IIS 7.0의 모듈과 기능들에 대한 손쉬운 구성 설정을 가능하게 해줄뿐만 아니라, 각각의 기능들에 대한 설정이 저장될 위치를 세세하게 설정할 수 있게 해줍니다. (서버 수준의 구성은 applicationHost.config 파일에 저장되고 사이트나 응용 프로그램 수준의 구성은 Web.config 파일에 저장되는 등)

IIS 7.0의 새로운 사용자 인터페이스인 IIS 관리자는 이런 새로운 구성 설정 시스템을 완벽하게 지원할뿐만 아니라, 웹 서버를 설정하기 위한 강력하고 정밀한 부가 시스템 기능들을 포함하고 있습니다. 그 중에서도 가장 대표적인 기능 두 가지는 서버, 사이트, 응용 프로그램에 대한 원격 관리 기능과 사용자 기반 인증 및 권한 지원 기능입니다.

본문에서는 원격 연결을 활성화하는 방법과 사용자와 권한을 구성하는 방법, 그리고 사이트 및 응용 프로그램의 권한을 위임하는 방법에 대해서 살펴봅니다. IIS 7.0을 관리하는 서버 관리자로서는 특정 기능의 관리를 위임하고 싶을 수도 있고, 누군가를 지정해서 관리를 위임하고 싶을 수도 있으며, 특정 구성 설정은 다른 사람들이 보지 못하기를 원하는 등, 다양한 시나리오가 존재할 수 있습니다. 가령 본문에서는 다음과 같은 시나리오를 가정해보도록 하겠습니다.

에드워드는 여러 사이트를 호스트하는 서버의 서버 관리자입니다. 이 서버는 도메인에 속해 있으며 호스트하는 사이트들 중 일부의 소유자들은 동일한 도메인의 사용자입니다. 그러나, 다른 사이트의 소유자들은 이 도메인의 사용자가 아니며, 에드워드는 이런 사용자들을 위해서 사용자 이름과 비밀번호를 생성해서 IIS 관리자 사용자 계정을 생성해줘야 합니다. 필요한 IIS 관리자 사용자 계정을 생성한 다음에는 각각의 사이트에 대해 어떤 사용자가 어떤 사이트에 연결이 가능한지 IIS 관리자 권한을 설정합니다. 이 작업을 위해서 에드워드는 IIS 관리자에서 Permissions 기능 페이지를 열고 윈도우 사용자와 IIS 관리자 사용자들에 대한 권한 규칙을 추가하게 됩니다. 이 작업은 두 가지 작업으로 이뤄집니다. 첫 번째는 사용자가 유효한 신원 계정을 제공하는 경우 사이트에 연결되도록 IIS를 설정하는 작업입니다. 두 번째는 연결에 성공한 사용자가 위임된 사이트의 기능들을 설정할 수 있도록 구성해주는 작업입니다.

에드워드는 사이트의 소유자들이 직접 설정해도 무방하다고 판단되는 사이트의 일부 기능들의 관리를 위임하고자 합니다. 그러면, 각 사이트 소유자들이 에드워드에게 기본 문서 설정 같은 간단한 설정에 대해 수정을 요청할 필요가 없어질 것입니다. 에드워드는 자신이 관리하는 서버에 존재하는 모든 사이트들의 기본 문서 기능, 디렉터리 검색 기능, 오류 페이지 기능에 대한 구성 설정 권한을 위임하기로 결정했습니다. 그리고, Contoso 사이트에 대해서는 추가적으로 HTTP 재전송 기능에 대한 구성 설정 권한도 위임하기로 결정했습니다. 왜냐하면, 이 사이트가 빈번한 재전송 설정이 필요하다는 점을 사전에 인지하고 있고, 사이트 소유자에 의한 관련 설정을 신뢰하고 있기 때문입니다. 그리고, 나머지 다른 모든 기능들은 읽기 전용으로 설정해서 사이트 소유자들이 읽을 수는 있지만 설정을 변경할 수는 없도록 구성하려고 합니다.

줄리안과 캐서린은 에드워드가 관리하는 서버에서 호스팅되는 Contoso 사이트의 소유자입니다. 줄리안은 윈도우 사용자 계정을 갖고 있으며 캐서린은 에드워드가 제공해준 IIS 관리자 사용자 계정을 갖고 있습니다. 에드워드가 그녀들의 계정에 Contoso 사이트 관리 권한을 설정해줬으므로 줄리안과 캐서린은 자신의 컴퓨터에서 IIS 관리자를 사용해서 Contoso 사이트에 연결할 수 있습니다. 그녀들은 사이트 수준에서 권한이 위임된 모든 기능들을 볼 수 있습니다. 또한, 기본 문서, 디렉터리 검색, 오류 페이지, 그리고 HTTP 재전송 기능을 설정할 수 있으며 이는 에드워드가 이 기능들에 대해 구성 설정 권한을 위임해주었기 때문입니다.

* 본문은 IIS 관리자 원격 관리에 관한 종합선물세트와 같은 문서입니다. 사실 본문 이전에 번역한 두 가지 문서들은 바로 본문을 위한 전초전의 성격을 띄고 있는 문서들로 제가 일부러 번역 순서를 의도한 것입니다.

본문을 포함한 이 세 가지 문서를 모두 읽어보면 원격 관리 설정에 대한 개념은 대부분 잡히리라고 생각합니다.

전제조건

본문의 과정을 올바르게 따라해보려면 다음의 항목들을 만족해야만 합니다.:

  • 윈도우 서버 코드명 "롱혼"에 IIS 7.0이 설치되어 있어야 합니다. *
  • IIS 관리자가 설치되어 있어야 합니다.

* 검토해본 바에 따르면 본문에서 소개하는 대부분 내용들은 RC0에서도 동일한 것으로 보입니다.

IIS 관리자 원격 연결 설정

IIS 7.0에서 제공해주는 IIS 관리자를 사용하면 원격 관리 작업이 매우 손쉬워집니다. IIS 관리자를 사용하면 로컬 컴퓨터를 관리할 수 있을 뿐만 아니라 원격 서버와 사이트, 그리고 응용 프로그램도 관리가 가능합니다. 서버 관리자는 원격 관리와 관련된 기능들을 사용해서 IIS 관리자 사용자 계정을 추가할 수 있으며 이런 사용자들이 자신들에게 허용된 사이트나 응용 프로그램에 연결할 수 있도록 설정할 수 있습니다.

이런 원격 관리 구성 설정에는 IIS 관리자를 사용한 원격 연결 활성화 및 서버에 연결하기 위한 신원 계정의 유형 설정이 수반됩니다. 그리고, 필요한 경우 연결 및 로그, 그리고 IP 주소 또는 도메인 이름에 기반한 연결 제한 추가 등의 설정이 가능합니다.

관리 서비스 설치

기본적인 IIS 7.0 설치 옵션에는 원격 관리를 위해 필수적인 관리 서비스(웹 관리 서비스(WMSVC)라고도 합니다.)가 포함되어 있지 않습니다. 만약 관리 서비스가 설치되어 있지 않다면, 다음과 같은 과정을 거쳐 서비스를 설치하십시오.

관리 서비스를 설치하려면:

  1. 시작 메뉴를 클릭한 다음, 빠른 검색 상자에 Server Manager라고 입력하고 엔터를 쳐서 서버 관리자를 실행합니다.
  2. 트리뷰에서 Roles 노드 하위의 Web Server (IIS) 노드를 선택합니다.
  3. Add role services 링크를 클릭하고, 다음 이미지와 같이 Management Service 항목을 선택합니다.
  4. Next 버튼을 클릭한 다음, 지시에 따라 설치를 완료합니다.

원격 연결 활성화 및 신원 계정 설정

윈도우 사용자들과 IIS 관리자 사용자들이 (본문의 뒷 부분에서 설정됩니다.) 자신의 컴퓨터에서 IIS 관리자를 사용해서 서버에 연결할 수 있도록 윈격 연결을 활성화시킵니다. 관리 서비스는 기본적으로 윈도우 신원 계정 연결만 허용하지만 IIS 관리자 신원 계정 연결도 허용하도록 설정할 수 있습니다. 본문의 목적은 아래의 이미지와 같이 두 종류 신원 계정을 모두 허용하도록 관리 서비스를 설정하는 것입니다.

노트: 본문의 다음 섹션에서 IIS 관리자 신원 계정에 관해서 설명합니다.

원격 연결을 활성화하고 윈도우 사용자 계정과 IIS 관리자 사용자 연결을 모두 허용하려면:

  1. IIS 관리자의 Connections 패인 트리뷰에서 서버 노드를 클릭합니다.
  2. 다음 이미지에서 볼 수 있는 것처럼, Management Service 아이콘을 더블 클릭해 관리 서비스 기능 페이지를 엽니다.
  3. Enable remote connections 체크 박스를 클릭합니다.
  4. Identity Credentials 영역의 Windows credentials or IIS Manager credentials 항목을 선택합니다.
  5. Actions 패인에서 Apply 링크를 클릭해 변경된 내용을 저장하고, 다시 Start 링크를 클릭해 관리 서비스를 시작합니다.

추가 정보

관리 서비스를 시작하기 위해서 반드시 원격 연결을 활성화해야만 하는 것은 아닙니다. 만약, 원격 연결이 비활성화되어 있고 관리 서비스가 시작되어 있다면 로컬 컴퓨터에서는 관리 서비스에 연결할 수 있지만 원격지 컴퓨터에서는 연결이 불가능합니다. 원격지 컴퓨터에서 연결이 불가능하다면 원격 연결이 활성화되어 있는지 확인하시기 바랍니다. *

관리 서비스에 대한 연결이 허용됐는지 정확하게 확인하려면 방화벽 설정을 점검해봐야 합니다. 관리 서비스가 설치될 때, 설치 프로세스에서 기본적으로 8172 포트(기본값)를 사용하는 관리 서비스의 통신 허용을 위한 방화벽 규칙을 추가합니다. 만약, 관리 서비스가 사용하는 포트를 변경한다면 반드시 해당 포트의 사용을 허용하는 새로운 방화벽 규칙을 추가해야 합니다.

* 그다지 바람직하다고 여겨지지는 않지만 원격 연결을 허용하지 않는 경우에도 여전히 기능 위임 자체는 가능하다는 점을 잊으면 안됩니다. 즉, 서버 관리자가 아닌 계정으로 서버에 콘솔 로그인해서 자신에게 허용된 사이트 및 응용 프로그램을 관리하기 위해 IIS 관리자를 사용하는 경우도 있을 수 있습니다.

관리 서비스를 위한 연결 및 로깅 설정

이전 섹션에서 소개한 관리 서비스 설정들뿐만 아니라 연결과 관련된 다양한 구성들을 설정하거나 요청 로그를 기록할 위치를 지정할 수도 있습니다. 다음 표는 각각의 필드들과 그 기본값을 설명하고 있습니다. 설정을 변경한 경우, 반드시 Actions 패인의 Apply 링크를 클릭해서 변경 내용을 반영한 다음, 관리 서비스를 재시작하십시오.

속성 설명 기본 설정
IP Address 관리 서비스가 바인딩 될 IP 주소를 지정합니다. 지정되지 않은 모든 주소
Port 관리 서비스가 요청을 대기할 포트 번호를 지정합니다. 8172
SSL Certificate 관리 서비스에 의해 사용될 SSL 인증서를 지정합니다. 관리 서비스에 대한 모든 요청은 Port 필드에 지정된 포트에서 HTTPS를 사용합니다. SSL Certificates 목록에 존재하는 인증서들은 해당 서버에서 사용 가능한 인증서들입니다. 만약, SSL 인증서를 추가하고 싶다면 서버 수준에서 제공되는 Server Certificates 기능을 사용하십시오. 설치시 함께 설치된 자체 서명 인증서
Log requests to 관리 서비스의 로그 파일이 저장될 경로를 지정합니다. %SystemDrive%\Inetpub\logs\WMSvc

관리 서비스를 위한 IP 및 도메인 제한 설정

관리 서비스는 IIS 관리자 사용자로 추가된 사용자들이(다음 섹션에서 설명됩니다) 지정된 IP 주소와 포트로 전송한 모든 요청을 기본적으로 받아들입니다. 그렇지만, 불특정 요청을 거부하고 지정한 IP 주소나 도메인으로부터 전송된 요청만 허용하는 명시적인 규칙을 추가해서 서비스를 구성할 수도 있습니다. 특정 IP 주소나 도메인으로부터 전송된 요청을 허용하거나 거부하는 방법에 대한 보다 상세한 정보는, Microsoft TechNet에서 제공하는 Configuring Remote Management 문서를 참고하시기 바랍니다.

IIS 관리자를 위한 사용자 및 권한 설정

이전 섹션에서 관리 서비스를 설정하면서 Windows credentials or IIS Manager credentials 옵션을 선택했습니다. 이 옵션은 윈도우 사용자 계정과 IIS 관리자 사용자 계정 모두를 사용해서 원격 컴퓨터에서 IIS 관리자를 통해 사이트나 응용 프로그램에 연결할 수 있게 해줍니다. 이 두 가지 유형의 사용자들은 원격에서 연결시 반드시 유효한 신원 계정(사용자 이름과 비밀번호 쌍)을 제공해야 합니다. 원도우 사용자의 경우에는 유효한 서버 컴퓨터의 사용자 계정 또는 서버가 도메인에 포함된 경우에는 도메인의 사용자 계정에 대한 윈도우 신원 계정을 제공해야 합니다. 반면, IIS 관리자 사용자의 경우에는 서버 관리자가 지정해준 IIS 관리자에 대한 서버 컴퓨터의 유효한 IIS 관리자 신원 계정을 제공해야 합니다. 두 경우 모두 사용자들은 IIS 관리자를 사용해서 서버 관리자가 허가한 사이트나 응용 프로그램에 연결할 수 있습니다.

IIS 관리자 사용자 생성

다음 과정들은 IIS 관리자 사용자 기능 페이지를 여는 방법과 사용자를 추가하는 방법에 대해서 설명합니다. IIS Manager Users 페이지의 목록에는 각각의 IIS 관리자 사용자 이름과 계정 활성화 여부가 출력됩니다. 오직 활성화된 계정들만 각각 권한을 부여받은 사이트나 응용 프로그램에 연결 가능합니다.

IIS 관리자 사용자를 추가하려면:

  1. IIS 관리자의 Connections 패인 트리뷰에서 서버 노드를 클릭합니다.
  2. 서버 홈 페이지에서 IIS Manager Users 아이콘을 더블 클릭합니다.
  3. IIS Manager Users 페이지의 Actions 패인에서 Add User 링크를 클릭합니다.
  4. User name 텍스트 박스에 사용자 이름을 입력합니다.
  5. Password 텍스트 박스에 비밀번호를 입력하고, Confirm password 텍스트 박스에 비밀번호를 재입력합니다.
  6. OK 버튼을 클릭합니다.

사이트 및 응용 프로그램 IIS 관리자 권한 설정

사용자가 서버에 존재하는 사이트나 응용 프로그램에 원격으로 연결하려면, 먼저 서버 관리자가 사이트나 응용 프로그램에 대한 권한을 부여해줘야 합니다. 권한을 부여받고 나면 사용자들은 IIS 관리자를 사용해서 윈도우 신원 계정(윈도우 사용자인 경우)이나 IIS 관리자 신원 계정(IIS 관리자 사용자인 경우)으로 사이트나 응용 프로그램에 연결할 수 있습니다.

IIS 관리자 사용자가 사이트나 응용 프로그램에 연결이 가능하도록 권한을 설정하려면:

  1. IIS 관리자의 Connections 패인 트리뷰에서 권한을 설정하고자 하는 사이트나 응용 프로그램의 노드를 선택합니다.
  2. 사이트나 응용 프로그램의 홈 페이지에서 IIS Manager Permissions 아이콘을 더블 클릭합니다.
  3. IIS Manager Permissions 페이지의 Actions 패인에서 Allow User 링크를 클릭합니다.
  4. Allow User 대화 상자가 나타나면, IIS Manager를 선택하고 Select 버튼을 클릭합니다.
  5. Users 대화 상자가 나타나면, 목록에서 하나 이상의 IIS 관리자 사용자를 선택하고 OK 버튼을 클릭합니다.
  6. Allow User 대화 상자의 OK 버튼을 클릭해 변경 사항을 확정합니다.

윈도우 사용자가 사이트나 응용 프로그램에 연결이 가능하도록 권한을 설정하려면:

  1. IIS Manager Permissions 페이지의 Actions 패인에서 Allow User 링크를 클릭합니다.
  2. Allow User 대화 상자가 나타나면, Windows를 선택하고 Select 버튼을 클릭합니다.
  3. Select User or Group 대화 상자가 나타나면, 사용자 이름을 입력하거나 사용자 계정을 검색하여 선택하고 OK 버튼을 클릭합니다.
  4. Allow User 대화 상자의 OK 버튼을 클릭해 변경 사항을 확정합니다.

콘텐츠 디렉터리 접근 제어 목록(Access Control Lists: ACLs) 설정 *

이런 사용자들이 사이트나 응용 프로그램에 연결해서 정상적으로 작업을 하려면, 반드시 해당 사이트나 응용 프로그램의 물리적인 콘텐츠 디렉터리의 접근 제어 목록에 사용자에 대한 설정이 올바르게 구성되어 있어야 합니다. 사용자가 윈도우 사용자인 경우에는 윈도우 사용자나 그룹이 디렉터리와 파일에 접근하기 위해 필요한 접근 제어 목록이 설정되어 있어야 합니다. 그러나, 사용자가 IIS 관리자 사용자인 경우에는 WMSVC 사용자(기본적으로 NT Service\WMSVC)에 대한 접근 제어 목록이 디렉터리와 파일에 설정되어 있어야 합니다.

따라서, 사이트나 응용 프로그램의 물리적인 디렉터리에는 WMSVC 사용자(IIS 관리자 사용자 연결을 허용한 경우)와 사이트나 응용 프로그램에 연결하고자 하는 모든 윈도우 사용자를 위한 읽기, 쓰기, 그리고 실행 권한 설정이 필요합니다.

만약, 사이트나 응용 프로그램의 물리적인 디렉터리가 다른 머신에 존재한다면(예, UNC 공유) WMSVC를 UNC 공유의 콘텐츠에 대해 읽기, 쓰기, 그리고 실행 권한을 갖고 있는 사용자 권한으로 실행되도록 설정을 변경해야만 합니다. (NT Service\WMSVC의 기본 실행 계정으로는 다른 머신에 접근이 불가능합니다.)

* 본문을 번역하면서 이 작은 섹션의 검증이 가장 힘들었습니다. 지난글에서 이미 살펴본 것처럼 WMSVC는 로컬 서비스 계정으로 실행됩니다. 그런데 갑자기 NT Service\WMSVC라는 계정은 또 무슨 얘기일까요? 처음에는 일련의 번역이 잘못된 것은 아닌지 몹시 당황할 수 밖에 없었습니다. 왜냐하면 그 어디에서도 WMSVC라는 이름의 계정을 찾을 수 없었기 때문입니다. 2008 RC0를 몇 번이나 재부팅해보기도 하고 관리 서비스 설정을 이리저리 바꿔보며 테스트를 해봤지만 도무지 이 계정을 찾을 수가 없었던 것입니다.

더욱 당황스러웠던 것은 인터넷에도 이 계정에 대한 정보는 거의 전무했으며, 그나마 검색을 통해 찾은 몇 건의 문서들도 그냥 이 계정에 대해 ACLs를 설정해야한다는 단편적인 내용들뿐이었습니다. 결정적으로 administration.config 파일의 속성을 살펴봤더니 어처구니 없게도 거기에는 WMSVC라는 계정에 대한 ACLs이 이미 설정되어 있었습니다.

그래서, 이리저리 고민 끝에 Select Users or Groups 대화 상자에 그냥 NT Service\WMSVC라고 입력을 하고 Check Names 버튼을 클릭해봤습니다. 그랬더니 다음 이미지와 같이 올바른 계정으로 인식되었습니다. 대부분 알고 계시겠지만 이 이미지처럼 입력한 계정 이름에 밑줄이 그어졌다는 얘기는 해당 계정이 유효한 계정이라는 뜻입니다.

그렇다면 혹시? 이 결과를 보고 짐작가는 바가 있어 이번에는 NT Service\W3SVC라고 입력을 하고 다시 Check Names 버튼을 클릭해봤습니다. 그러자 역시 이번에도 올바른 계정으로 인식되었습니다. 이미 알고 있는 것처럼 이 W3SVC는 웹 서비스의 서비스 이름입니다.

결국 이런 결과들을 미루어 볼 때, 아무래도 2008 RC0에서는 계정 지정을 위한 새로운 문법이 도입된 것이 아닌가 하는 추측을 하게 되었습니다. 즉, "NT Service\" 문자열에 서비스 이름을 붙이면 해당 서비스를 실행할 때 사용되는 서비스 계정을 의미하는 것으로 보입니다. 실제로 다양한 서비스 이름으로 테스트를 해봤는데, 모두 생각한 대로 동작했습니다. 그리고, 이 기능이 혹시 예전부터 제공되던 것임에도 불구하고 모르고있었던 것은 아닌가 의심되어 윈도우 서버 2003에서도 동일한 테스트를 해봤으나 이 경우에는 전혀 인식을 하지 못했습니다. 이에 대한 추가적인 정보를 알고 계신 분이 계시다면 연락을 부탁드립니다.

IIS 관리자를 사용한 사이트 및 응용 프로그램 연결

관리 서비스 설정과 사용자 및 권한 설정을 마치고 나면, 사용자들은 자신들의 사이트나 응용 프로그램에 연결할 수 있습니다.

사이트 및 응용 프로그램에 연결하려면:

  1. IIS 관리자의 File 메뉴에서 Connect to a Site 메뉴나 Connect to an Application 메뉴를 클릭합니다.
  2. Connect to Site 마법사나 Connect to Application 마법사가 나타나면 연결하고자 하는 서버의 이름과 사이트의 이름을 입력합니다. 만약, 응용 프로그램에 연결하고자 하는 경우라면 응용 프로그램의 이름도 함께 입력합니다. 그리고, Next 버튼을 클릭합니다.
  3. Connect to Site 마법사나 Connect to Application 마법사의 Provide Credentials 페이지에서는 사이트나 응용 프로그램에 연결하기 위해 현재 신원 계정을 그대로 사용할 것이지, 다른 신원 계정을 명시적으로 지정할 것인지를 선택합니다. 신원 계정을 명시적으로 지정하는 경우에는 앞에서 설명했던 Management Service 페이지의 Use IIS Manager credentials 체크 박스가 체크되지 않았다면 기본적으로 윈도우 신원 계정만 허용됩니다. 신원 계정을 지정했으면 Next 버튼을 클릭해 서버에 연결합니다. *
  4. 연결에 성공하면 현재 연결의 이름을 지정하는 Connect to Site 마법사나 Connect to Application 마법사의 마지막 페이지가 나타납니다. 다음 이미지는 TestAdmin 사용자가 contoso.com 사이트에 대한 사이트 수준 연결을 생성한 화면입니다.

추가 정보

기능 위임에 관해서는 다음 섹션에서 살펴볼 것입니다. 다만, 기능 위임에 대한 이해를 돕고 기능 위임이 무엇인지 알아보기 위해서 방금 연결한 사이트의 기능을 한 가지만 미리 살펴보도록 하겠습니다. 연결된 사이트의 노드를 선택해서 사이트의 홈 페이지가 화면에 나타나게 합니다. 그리고, 홈 페이지에서 Error Pages 아이콘을 더블 클릭합니다. 그러면, 페이지의 우상단에 "This feature has been locked and is read only."라는 경고 메시지가 나타나 있는 것을 볼 수 있습니다. 이 경고 메시지는 해당 기능이 잠겨져 있다는 뜻인데, 바로 다음 섹션에서 기능 권한 위임과 잠금에 대해서 보다 자세하게 살펴보도록 하겠습니다.

* 이 부분이 조금 명확하지 않은데, RC0에서는 원격 연결을 위해 현재 시스템에 로그인한 사용자의 신원 계정을 그대로 사용하는 옵션을 찾지 못했습니다. 게다가, 본문의 이미지들을 살펴보면 베타 3를 기준으로 한 이미지들임에도 불구하고 해당 옵션은 존재하지 않습니다. 다만 간접적으로나마 여기에서 설명하고 있는 이미지를 다른 문서에서 엿볼 수 있습니다. 바로 다음 문서입니다.

이 문서의 "IIS 관리자 원격 관리 기능" 섹션의 "로그인 요청" 단락을 살펴보면 "신원계정 지정" 이미지가 제공되는데 본문에서 얘기하는 바로 그 내용을 설명해주고 있습니다. 이런 변화가 RC0에서 반영된 것인지 아니면 제가 해당 화면을 찾지 못한 것에 불과한지는 아직 불명확하므로 이 점을 참고하시기 바랍니다.

IIS 관리자 기능 위임

서버 관리자는 Feature Delegation 기능 페이지를 사용해서 IIS 관리자들이 사이트 연결이나 응용 프로그램 연결 수준에서 Web.config 파일에 기능 설정을 저장할 수 있게 해주는 기능 위임 상태를 관리할 수 있습니다. 사이트의 소유자들은 자신이 직접 사이트의 위임된 기능들을 설정할 수 있도록 기본 문서나 디렉터리 검색 같은 특정 기능들을 자신들에게 위임해주기 원할 수 있습니다. 반면, 서버 관리자는 사이트 소유자들이 어떤 기능의 설정은 읽기만 가능하고 변경은 할 수 없게 위임 설정을 하고 싶을 수도 있고, 다른 기능들은 IIS 관리자에 아예 나타나지도 않게 설정하고 싶을 수도 있습니다.

몇 가지 다른 위임 상태가 제공되는데, 이 위임 상태에 따라서 구성 설정 시스템의 하위 수준에서 해당 기능에 대한 위임이 지속되는지 여부와 하위 수준 연결에서 해당 기능이 IIS 관리자에 나타나는지 여부가 달라지게 됩니다. 다음 표는 각각의 위임 상태를 설명합니다.

위임 형식 설명
Not Delegated 구성 설정이 잠기고 Web.config 파일에 존재하는 모든 구성 설정에서 런타임 오류가 발생합니다.
해당 기능은 위임 상태가 설정된 현재 연결보다 하위 수준 연결에서는 IIS 관리자에 나타나지 않으며 설정도 불가능합니다. 가령, 특정 기능이 사이트 수준에서 Not Delegated로 설정되었다면 응용 프로그램 수준으로 연결한 사용자는 IIS 관리자를 통해서 해당 기능을 볼 수도 설정할 수도 없습니다.
Read Only 구성 설정이 잠기고 Web.config 파일에 존재하는 모든 구성 설정에서 런타임 오류가 발생합니다.
해당 기능은 IIS 관리자를 사용해서 하위 수준으로 연결한 사용자에게 나타나지만 구성 설정이 잠겨 있으므로 변경은 불가능합니다.
Read/Write 해당 기능은 Web.config 파일에 설정이 가능합니다.
해당 기능은 IIS 관리자를 사용해서 하위 수준(사이트 및 응용 프로그램 수준)으로 연결한 사용자에게도 나타나며 설정도 가능합니다.
Configuration Read Only * 이 상태는 기본적으로 Read Only 상태와 동일합니다. 그러나, 데이터베이스와 같이 IIS 외부에 저장되고 관리되는 설정과 데이터는 읽을 수 있습니다.
Configuration Read/Write * 이 상태는 기본적으로 Read/Write 상태와 동일합니다. 그러나, 데이터베이스와 같이 IIS 외부에 저장되고 관리되는 설정과 데이터는 읽거나 기록할 수 있습니다.

노트: 서버 관리자는 모든 기능의 구성 설정을 읽거나 수정할 수 있습니다. 따라서, 만약 어떤 기능이 하위 수준에서 보이지 않도록 설정되었다고 하더라도 서버 관리자들은 모든 수준의 모든 기능들을 볼 수 있습니다.

* 모든 기능들이 이 위임 상태를 지원하는 것은 아닙니다. 이 위임 상태를 지원하려면 해당 기능에 설정이나 데이터를 데이터베이스에 저장하는 기능이 존재해야만 합니다. 이 조건을 만족하는 대표적인 기능으로는 .NET 사용자 기능과 .NET 역할 기능 등이 있습니다.

IIS 관리자 기본 기능 위임 상태 설정

Feature Delegation 기능 페이지를 사용하면 IIS 관리자 기능들의 기본 기능 위임 상태를 구성할 수 있습니다. IIS 관리자는 이 페이지에서 구성한 기능 위임 상태를 서버에 존재하는 모든 사이트 및 응용 프로그램에 기본값으로 사용합니다.

IIS 관리자 기능 기본 위임 상태를 설정하려면:

  1. IIS 관리자의 Connections 패인 트리뷰에서 서버 노드를 선택합니다.
  2. 서버 홈 페이지에서 Feature Delegation 아이콘을 더블 클릭합니다.
  3. 다음 이미지처럼 Group by 목록에서 Delegation을 선택해서 각각의 기능들이 현재 위임 상태별로 분류되도록 목록을 구성합니다.
  4. Feature Delegation 목록에서 Error Pages 기능 항목을 선택하고 Actions 패인을 살펴보면, 이 기능에 적용 가능한 모든 위임 상태를 확인할 수 있습니다. 다음 이미지에서 알 수 있는 것처럼 Error Pages 기능에는 Read/Write 상태, Remove Delegation 상태, 그리고 Reset to Inherited 상태를 설정할 수 있습니다.
  5. Error Pages 기능을 선택한 상태에서 Actions 패인의 Read/Write 링크를 클릭해 설정 잠금을 해제합니다. 그러면, 이 기능의 설정을 사이트나 응용 프로그램 수준의 IIS 관리자 연결에서 Web.config 파일에 저장할 수 있게 됩니다.

추가 정보

다음은 IIS 구성 설정 파일에서 발췌한 내용으로 모든 경로에서 설정을 변경할 수 있도록 값이 변경되었다는 것을 확인할 수 있습니다.

<location path="" overrideMode="Allow">
    <system.webServer>
        <httpErrors>
            ...
            ...
        </httpErrors>
    </system.webServer>
</location>

이 작업이 가져오는 결과에 대해서 더 상세하게 알고 싶다면 사이트 연결 수준에서 Error Pages 기능을 살펴보십시오. Connections 패인에서 사이트에 연결하고 사이트 홈페이지의 Error Pages 아이콘을 더블 클릭합니다. 그러면, 다음 이미지에서 볼 수 있는 것처럼 Error Pages 기능은 사이트 연결 수준에서도 설정 변경이 가능해졌다는 점을 확인할 수 있습니다.

사이트 또는 응용 프로그램에 대한 사용자 정의 위임 상태 설정

이전 섹션에서는 서버에 존재하는 모든 사이트에 적용되는 Error Pages 기능에 대한 기본 위임 상태를 지정했습니다. 그러나, 항상 모든 사이트에 동일한 위임 상태를 지정해야 하는 것은 아닙니다. 사이트를 선택해서 사용자 정의 위임 상태를 구성할 수도 있고 한 사이트의 모든 사용자 정의 위임 상태를 다른 사이트로 복사할 수도 있습니다.

특정 사이트에 대한 사용자 정의 위임 상태를 설정하려면:

  1. IIS 관리자에서 Feature Delegation 아이콘을 더블 클릭합니다.
  2. Feature Delegation 페이지의 Actions 패인에서 Custom Web Site Delegation 링크를 클릭합니다.
  3. 다음 이미지에서와 같이 Sites 목록에서 사용자 정의 위임 설정을 하고자 하는 사이트를 선택합니다.
  4. 기능을 선택하고 Actions 패인에서 원하는 위임 상태를 선택합니다.

한 사이트의 사용자 정의 위임 설정을 다른 사이트로 복사하려면:

  1. Custom Web Site Delegation 페이지의 Sites 목록에서 위임 상태를 복사할 원본 사이트를 선택합니다.
  2. Copy Delegation 버튼을 클릭합니다.
  3. Copy Delegation 대화 상자에서 위임 상태가 복사될 대상 사이트들을 선택하고 OK 버튼을 클릭합니다.

기능 위임 상태 초기화

기능들의 위임 상태를 다시 초기화하고 싶은 경우도 있을 수 있습니다. 실수로 특정 사이트나 응용 프로그램의 상태를 변경하거나, 실습 도중 잘못 설정할 수도 있습니다. 이런 경우, 모든 기능들의 위임 상태를 기본 상태로 초기화 할 수도 있고, 단 하나의 기능만 기본 상태로 초기화 할 수도 있습니다.

기능 위임 상태를 초기화하려면:

  1. Feature Delegation 기능 페이지를 엽니다.
  2. 모든 기능들의 위임 상태를 초기화하려면, Actions 패인에서 Reset All Delegation 링크를 클릭합니다.
  3. 특정 기능들의 위임 상태를 초기화하려면, 목록에서 초기화하고자 하는 기능들을 선택하고 Actions 패인에서 Reset to Inherited 링크를 클릭합니다.