identity 요소(ASP.NET 설정 스키마)

[이 설명서는 미리 보기 전용이며, 이후 릴리스에서 변경될 수 있습니다. 비어 있는 항목은 자리 표시자로 포함됩니다.]

웹 응용 프로그램의 ID를 구성합니다. 이 요소는 구성 파일 계층 구조의 모든 수준에서 선언할 수 있습니다.

참고

이 항목의 예제 구문에는 구문 작동 방식을 보여 주기 위한 암호가 포함되어 있습니다.사용자 응용 프로그램에서는 암호를 보호하는 전략을 사용하는 것이 좋습니다.

<identity impersonate="true|false" 
          userName="domain\username"
          password="<secure password>"/>

특성 및 요소

다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

특성

설명

Impersonate

필수 특성입니다.

클라이언트 가장을 각 요청에 사용할지 지정해야 합니다.

이 특성은 다음 값 중 하나일 수 있습니다.

값설명
false 클라이언트 가장을 사용하지 않도록 지정합니다.
true 클라이언트 가장을 사용하도록 지정합니다.

Password

선택적 특성입니다.

impersonate 특성이 true인 경우 사용할 암호를 지정합니다.

암호화된 작업자 프로세스 자격 증명을 레지스트리에 저장하는 방법에 대한 내용은 userName 특성을 참조하십시오.

userName

선택적 특성입니다.

impersonate 특성이 true인 경우 사용할 사용자 이름을 지정합니다.

이 특성과 password 특성은 구성 파일에 일반 텍스트로 저장됩니다. Microsoft IIS(인터넷 정보 서비스)에서는 사용자 에이전트 요청에 대한 응답으로 .config 파일을 전송하지는 않지만 다른 방법을 사용하여 .config 파일을 읽을 수 있습니다. 예를 들어 서버가 포함된 도메인에서 적절한 자격 증명을 가진 인증된 사용자를 통해 파일을 읽을 수 있습니다. 보안을 위해 identity 특성은 암호화된 userName 및 password 특성을 레지스트리에 저장할 수 있도록 지원합니다. 자격 증명은 Microsoft Windows 2000 및 Windows XP DPAPI(데이터 보호 API) 암호화 기능에 의해 암호화된 REG_BINARY 형식이어야 합니다.

자세한 내용은 이 항목의 뒤에 나오는 "설명" 및 "예제" 부분을 참조하십시오.

자식 요소

없음

부모 요소

요소

설명

configuration

공용 언어 런타임 및 .NET Framework 응용 프로그램에서 사용하는 모든 구성 파일의 루트 요소를 지정합니다.

system.web

ASP.NET 구성 섹션의 루트 요소를 지정합니다.

설명

사용자 이름과 암호를 암호화하여 레지스트리에 저장하려면 userName 및 password 특성을 다음과 같이 설정합니다.

userName="registry:HKLM\Software\AspNetProcess,Name"password="registry:HKLM\Software\AspNetProcess,Pwd"

registry 키워드와 쉼표 사이의 문자열은 ASP.NET에서 여는 레지스트리 키의 이름을 나타냅니다. 쉼표 뒤에는 ASP.NET이 자격 증명을 읽어 오는 단일 문자열 값 이름이 포함됩니다. 쉼표는 필수적 요소이며 자격 증명은 HKLM 하이브에 저장되어야 합니다. 구성 형식이 올바르지 않으면 ASP.NET에서는 작업자 프로세스를 시작하지 않으며 현재 계정 만들기 실패 코드 경로가 표시됩니다.

자격 증명은 Windows API 함수 CryptProtectData의 호출 결과가 포함된 REG_BINARY 형식이어야 합니다. CryptProtectData를 사용하여 암호화를 수행하는 Aspnet_setreg.exe를 실행하면 암호화된 자격 증명을 만들어 레지스트리에 저장할 수 있습니다. Aspnet_setreg.exe와 Microsoft Visual C++ 소스 코드 및 설명서를 다운로드하려면 ASP.NET 웹 사이트에서 aspnet_setreg를 검색하십시오.

Administrators 및 SYSTEM에만 액세스 권한이 제공되도록 암호화된 자격 증명을 저장하는 키에 대한 액세스 권한을 구성해야 합니다. 이 키는 SYSTEM으로 실행되는 ASP.NET 프로세스에서 읽으므로 다음과 같은 사용 권한을 설정합니다.

  • Administrators:F

  • SYSTEM:F

  • CREATOR OWNER:F

  • ProcessAccount:R

이렇게 하면 다음과 같은 두 가지 차원에서 데이터가 보호됩니다.

  • ACL 권한에는 데이터에 액세스하는 ID가 Administrator로 지정되어 있어야 합니다.

  • 공격자는 서버에서 코드를 실행하여(CryptUnprotectData API) 계정에 대한 자격 증명을 복구해야 합니다.

기본 구성

다음의 기본 identity 요소는 Machine.config 파일 또는 루트 Web.config 파일에 명시적으로 구성되어 있지 않습니다. 그러나 이 요소는 응용 프로그램에서 반환하는 기본 구성입니다.

<identity impersonate="false" userName="" password="" />

요소 정보

구성 섹션 처리기

System.Web.Configuration.IdentitySection

구성 멤버

SystemWebSectionGroup.Identity

구성 가능한 위치

Machine.config

루트 수준의 Web.config

응용 프로그램 수준의 Web.config

가상 또는 실제 디렉터리 수준의 Web.config

요구 사항

Microsoft IIS(인터넷 정보 서비스) 5.0, 5.1 또는 6.0

.NET Framework 버전 1.0, 1.1 또는 2.0

Microsoft Visual Studio 2003 또는 Visual Studio 2005

참고 항목

작업

How to: Lock ASP.NET Configuration Settings

참조

system.web 요소(ASP.NET 설정 스키마)

<configuration> 요소

System.Configuration

System.Web.Configuration

개념

ASP.NET Configuration Overview

ASP.NET Server Controls and Browser Capabilities

Securing Configuration

Configuration Inheritance

기타 리소스

ASP.NET Configuration Files

ASP.NET 구성 설정

일반 구성 설정(ASP.NET)

ASP.NET Configuration API