HOWTO: 위임 시나리오에 맞게 ASP.NET 응용 프로그램 구성

기술 자료 번역 기술 자료 번역
기술 자료: 810572 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 ASP.NET 응용 프로그램의 위임에 필요한 인터넷 정보 서비스(IIS) 및 Microsoft Active Directory를 구성하는 방법을 단계별로 설명합니다. 위임은 가장 다음 단계입니다. 위임을 사용하면 로컬 리소스에만 액세스하는 것이 아니라 클라이언트를 대신하여 원격 리소스에도 액세스할 수 있습니다. 이 문서에서는 ASP.NET 연결 응용 프로그램을 위임하기 위해 수행해야 할 단계를 설명합니다.


위임 요구 사항

위임에서 리소스에 액세스하기 위해서는 Windows 통합 인증을 사용해야 합니다. 계정을 위임할 수 있는 컴퓨터 수에는 한계가 없지만, 각 컴퓨터를 올바르게 구성해야 합니다. Windows 통합 인증 방법은 다음 두 가지 조건에 해당할 때만 작동합니다.
  • Active Directory가 필요한 Kerberos 인증 프로토콜을 사용하도록 네트워크를 설정합니다.
  • 사용자 네트워크에 속한 위임에 트러스트되도록 컴퓨터와 계정을 설정합니다.
이러한 조건에 해당되지 않을 때는 Windows 통합 인증에서 해당 IIS 서버에 액세스하는 것만 허용하고 이 IIS 서버가 원격으로 액세스하는 Windows 인증에 맞게 구성된 다른 리소스에 액세스하는 것을 허용하지 않으므로 Windows 통합 인증을 사용해서 원격 리소스의 데이터에 액세스할 수 없습니다.

Kerberos 인증이 서버와 클라이언트를 모두 인증하는 반면에 NTLM(Windows NT Challenge/Response)은 클라이언트만 인증합니다. Windows 2000 이전의 플랫폼은 Kerberos 인증을 지원하지 않습니다. Kerberos를 사용하려면 IIS 5.0 이상을 사용해야 합니다. 따라서, Kerberos 위임을 사용할 모든 컴퓨터에서는 Windows 2000 이상의 최신 운영 체제를 실행해야 합니다. 또한, 모든 컴퓨터를 같은 Active Directory 포리스트에 배치해야 합니다. Microsoft Internet Explorer 5.0 이상에서만 Kerberos를 지원합니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
217098 Windows 2000 Kerberos 사용자 인증 프로토콜의 기본 개요


위임 요구 사항을 모두 충족시키면 다음과 같은 요청자의 자격 증명이 전송됩니다.
  1. 클라이언트(Internet Explorer 5.0 이상).
  2. 도메인 사용자로부터의 요청.
  3. 웹 서버(IIS 5.0 이상).
  4. 도메인 사용자 자격 증명 위임.
  5. 도메인 사용자 자격 증명의 비즈니스 서버 위임.
  6. 파일, 데이터베이스, Active Directory 등의 원격 리소스에 액세스.

위임할 수 있도록 Internet Explorer 구성

Internet Explorer 5.0 이상을 사용할 경우 ASP.NET - IIS 위임이 가능하도록 다음과 같이 Internet Explorer를 구성할 수 있습니다.
  1. Internet Explorer를 시작합니다. 메뉴 모음에서 도구를 누른 다음 인터넷 옵션을 누릅니다.
  2. 고급 탭을 누른 다음 통합된 Windows 인증 사용(다시 시작해야 함) 확인란을 선택합니다.

    이 설정을 설정하면 Internet Explorer가 Negotiate challenge에 응답한 다음 Kerberos 인증을 수행할 수 있습니다. 이 기능에는 Windows 2000 이상이 필요하기 때문에 Internet Explorer가 Windows 2000 이상 운영 체제에서 실행되지 않으면 Internet Explorer가 Negotiate challenge에 응답하지 않습니다. 기본적으로, Internet Explorer는 통합된 Windows 인증 사용(다시 시작해야 함) 확인란을 선택한 경우에도 NTLM 인증을 사용합니다.

    경고: 레지스트리 편집기를 잘못 사용하면 심각한 문제가 발생할 수 있으며 문제를 해결하기 위해 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 레지스트리 편집기를 잘못 사용함으로써 발생하는 문제에 대해 해결을 보증하지 않습니다. 레지스트리 편집기의 사용에 따른 모든 책임은 사용자에게 있습니다. 참고 관리자는 다음 레지스트리 키에서 EnableNegotiate : REG_DWORD 값을 1로 설정하여 Windows 통합 인증을 설정할 수 있습니다.

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
    .
  3. Kerberos가 Internet Explorer 클라이언트에서 실패할 수 있는 문제가 몇 가지 있습니다. Kerberos 인증 관련 문제에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    321728 Internet Explorer가 프록시 서버에서 Kerberos 인증을 지원하지 않는다
    325608 PRB: 로드 균형 조정 아키텍처에서 Kerberos를 통한 인증 위임이 작동하지 않는다
    248350 IIS 4.0에서 IIS 5.0으로 업그레이드하면 Kerberos 인증이 실패한다
    264921 INFO: IIS가 브라우저 클라이언트를 인증하는 방법

위임할 수 있도록 IIS 구성

ASP.NET 연결 응용 프로그램의 Windows 통합 인증과 가장을 설정하려면 인터넷 정보 서비스(IIS)를 구성해야 합니다. IIS에서 Windows 인증을 사용하도록 구성하려면 다음과 같이 하십시오.
  1. 시작을 누르고 실행을 누릅니다. 열기 텍스트 상자에 inetmgr을 입력한 다음 확인을 누릅니다.
  2. 로컬 컴퓨터를 확장한 다음 웹 사이트를 확장합니다.
  3. 기본 웹 사이트를 마우스 오른쪽 단추로 누른 다음 등록 정보를 누릅니다.
  4. 디렉터리 보안 탭을 누른 다음 익명 액세스 및 인증 제어편집을 누릅니다.
  5. Windows 통합 인증 확인란은 선택하고 익명 액세스, Windows 도메인 서버의 다이제스트 인증기본 인증 확인란은 선택 취소합니다.
    참고 Internet Explorer는 여러 개의 인증 스키마에서 선택할 수 있는 옵션이 있는 경우 항상 첫 번째 인증 스키마를 선택합니다. 예를 들어, 익명 인증을 설정한 경우 익명 인증이 Windows 인증 앞에 있으면 Internet Explorer는 익명으로 인증하려고 합니다. Internet Explorer가 자동으로 인증할 수 없을 경우 Internet Explorer는 다음 번 인증 방법을 선택하고 Windows 인증으로 인증하려고 합니다.

위임할 수 있도록 ASP.NET 연결 응용 프로그램 구성

  1. Microsoft 메모장 같은 텍스트 편집기에서 Web.config 파일을 엽니다. Web.config 파일은 Web Application 디렉터리에 있습니다.
  2. Web.config 파일의 <configuration> 구역에서 다음 정보를 찾습니다.
    <allow users="*" /> 
    <deny users="?" />
  3. <System.web> 구역에서 다음과 같이 authentication 요소가 Windows로 설정되었는지 확인합니다.
    <authentication mode="Windows" />
  4. <System.web> 구역에서 다음과 같은 impersonation 요소를 추가합니다.
    <identity impersonate="true" />
    참고스레드에서 특정 사용자를 가장하는 프로세스의 ID에는 "운영 체제의 일부로 활동" 관리 자격 증명이 있어야 합니다. 기본적으로 aspnet_wp.exe 프로세스는 ASPNET이라는 컴퓨터 계정에서 실행됩니다. 그러나, 이 계정에는 특정 사용자를 가장하는 데 필요한 관리 자격 증명이 없습니다. 서비스가 LocalSystem으로 실행 중인 경우에는 이 계정이 자동으로 가장 기능을 지원하므로 이 단계를 수행하지 않아야 합니다. Windows Server 2003에서는 이 요구 사항이 더 이상 필요하지 않습니다.
  5. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    306158 INFO: ASP.NET 응용 프로그램에서 가장(Impersonation) 구현
    317012 INFO: ASP.NET에서 프로세스 및 요청 ID
    315736 HOWTO: Windows 보안을 사용하여 ASP.NET 응용 프로그램 보안

위임할 수 있도록 Active Directory 구성

Kerberos 위임에 참여하는 모든 컴퓨터에 위임을 설정해야 하며 Active Directory 도구에서 이를 구성할 수 있습니다.

위임할 수 있도록 컴퓨터 구성

위임에 트러스트되도록 컴퓨터를 구성하려면 다음과 같이 하십시오.
  1. 작업 표시줄에서 시작을 누르고 설정을 가리킨 다음 제어판을 누릅니다.
  2. 관리 도구를 두 번 누른 다음 Active Directory 사용자 및 컴퓨터를 두 번 누릅니다.
  3. Computers를 누릅니다. 오른쪽 창에서 구성할 컴퓨터를 마우스 오른쪽 단추로 누른 다음 등록 정보를 누릅니다.
  4. 일반 탭에서 위임할 수 있는 트러스트를 줌 확인란을 선택합니다.
  5. 확인을 누릅니다.

위임할 수 있도록 사용자 구성

기본적으로, ASP.NET 응용 프로그램은 모두 aspnet_wp.exe 프로세스에서 실행됩니다. aspnet_wp.exe 프로세스는 ASPNET이라는 컴퓨터 계정에서 실행됩니다. 해당 응용 프로그램 계정이 대리인으로 활동할 수 있는지 확인하려면 다음과 같이 하십시오.
  1. 작업 표시줄에서 시작을 누르고 설정을 가리킨 다음 제어판을 누릅니다.
  2. 관리 도구를 두 번 누른 다음 Active Directory 사용자 및 컴퓨터를 두 번 누릅니다.
  3. Users를 누릅니다. 오른쪽 창에서 위임할 수 있도록 구성할 사용자의 이름을 마우스 오른쪽 단추로 누른 다음 등록 정보를 누릅니다.
  4. 계정 탭을 누릅니다. 계정에서 계정이 위임에 트러스트되었습니다. 확인란을 찾아서 선택합니다.

    참고 해당 서비스가 LocalSystem으로 실행되면 이 계정이 위임용으로 트러스트 설정을 자동으로 지원하므로 이 단계를 수행하지 마십시오. 기본적으로, ASP.NET을 LocalSystem(Machine.config 파일의 <processModel> 요소 구역에서 userName = SYSTEM)으로 실행하면 위임용으로 트러스트로 실행됩니다.

    참고계정이 민감하여 위임할 수 없습니다.로 표시된 계정은 위임할 수 없습니다. 계정이 그렇게 표시되어 있는지 확인하려면 계정 옵션 목록에서 계정이 민감하여 위임할 수 없습니다.를 찾습니다. 이 옵션이 선택되어 있지 않아야 합니다.
  5. 확인을 누릅니다.

문제 해결

  1. URL에서 ASP.NET 페이지를 호출하기 위해 사용한 웹 서버 이름이 해당 IIS 컴퓨터의 NetBIOS 이름이 아닌 경우 오류 401.3이 발생하면서 통합 인증이 실패할 수 있습니다. 이 문제를 해결하려면 SetSPN.exe 유틸리티를 사용하여 해당 컴퓨터의 새 서비스 사용자 이름을 등록합니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    294382 웹 사이트의 "호스트 헤더"가 서버의 NetBIOS 이름과 다른 경우 "401.3" 오류가 나타나면서 인증이 실패할 수 있다
  2. Kerberos가 로드 균형 조정 아키텍처에서 작동하지 않고 IIS가 다시 NTLM 인증으로 바뀝니다. 위임에 NTLM을 사용할 수 없으므로 위임이 필요한 응용 프로그램이나 서비스가 모두 작동하지 않습니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    325608 PRB: 로드 균형 조정 아키텍처에서 Kerberos를 통한 인증 위임이 작동하지 않는다
  3. Kerberos가 올바르게 작동하기 위해서는 모든 통신에 정식 도메인 이름(FQDN)을 사용해야 합니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    326089 HOWTO: 비 도메인 컨트롤러에서 IIS 웹 응용 프로그램에 대해 Kerberos 설정
  4. Windows 2000 클라이언트에서 Internet Explorer를 사용해서 호스트 헤더 이름이 컴퓨터의 NetBIOS 이름과 다른 웹 사이트를 찾으면 오류 401.3이 나타나면서 통합 인증이 실패할 수 있습니다. Windows NT 4, Windows 98 또는 Windows 95를 사용하는 Internet Explorer 클라이언트는 실패하지 않습니다. 또한, 다른 인증 스키마도 작동합니다.
  5. 웹 서버가 정식 도메인 이름을 사용할 경우에는 Internet Explorer에서 인트라넷 사이트 목록에 해당 사이트를 추가해야 합니다. 웹 서버가 정식 도메인 이름을 사용하는지 확인하려면 다음과 같이 합니다.
    1. Internet Explorer를 엽니다. 도구 메뉴에서 인터넷 옵션을 누른 다음 보안 탭을 누릅니다.
    2. 로컬 인트라넷을 선택합니다. 사이트를 누릅니다.
    3. 고급을 누른 다음 영역에 웹 사이트 추가 대화 상자에 웹 주소를 입력합니다. 추가를 누른 다음 확인을 누릅니다.
  6. 프록시 서버를 사용하도록 Internet Explorer 클라이언트를 설정한 경우에는 로컬 주소에 프록시 서버 사용 안 함 확인란을 선택합니다. 프록시 서버를 사용하도록 Internet Explorer 클라이언트를 설정했는지 확인하려면 다음과 같이 합니다.
    1. Internet Explorer를 시작합니다. 도구 메뉴에서 인터넷 옵션을 누른 다음 연결 탭을 누릅니다.
    2. LAN 설정을 누릅니다. 프록시 서버에서 로컬 주소에 프록시 서버 사용 안 함 확인란을 선택했는지 확인합니다.
  7. ASP.NET 연결 응용 프로그램에서 SQL Server에 액세스하려면 TCP/IP를 사용해야 합니다. 명명된 파이프는 Kerberos 위임을 지원하지 않습니다. 명명된 파이프는 NTLM만을 사용합니다. 이렇게 하려면 연결 문자열에 다음 특성을 추가합니다.
    "Network Library =dbmssocn"
    네트워크 라이브러리를 명시적으로 설정하지 않으면 NTLM이 클라이언트 구성 유틸리티(Cliconfg.exe)에서 첫 번째 라이브러리 설치를 수행합니다. Microsoft Data Access Components(MDAC) 2.6에서는 이 기본값이 명명된 파이프에서 TCP/IP로 변경됩니다.
    자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    315159 BUG: 작업자 프로세스가 ASPNET 계정으로 실행되면 명명된 파이프가 작동하지 않는다
    176377 INFO: ASP에서 통합 보안을 사용하여 SQL Server에 액세스
    176379 INFO: 트러스트된 연결이 있는 개별 시스템의 IIS 및 SQL Server
    247931 INF: ASP에서 SQL Server로의 연결 시 인증 방법

참조

보안 웹 기반 응용 프로그램과 위임 시나리오를 설계하는 방법에 대한 자세한 내용을 보려면 다음 Microsoft Developer Network 웹 사이트를 방문하십시오.
http://msdn2.microsoft.com/en-us/library/aa302415.aspx
보안 ASP.NET 응용 프로그램 작성: 인증, 권한 부여 및 보안 통신
보안 웹 기반 응용 프로그램을 설계하는 방법에 대한 자세한 내용은 다음을 참조하십시오.
"Designing Secure Web-Based Applications"
Microsoft Press
Michael Howard, Marc Levy 및 Richard Waymire
ISBN 0-7356-0995-0




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 810572 - 마지막 검토: 2007년 12월 4일 화요일 - 수정: 2.5
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services 6.0
키워드:?
kbauthentication kbwebforms kbdomain kbclient kbconfig kbwebserver kbhowtomaster kbhowto KB810572

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com