방법: 매핑된 Windows 도메인 사용자를 사용하여 SQL Server에 액세스
업데이트: 2007년 11월
기본적으로 ASP.NET 응용 프로그램은 Microsoft Windows 2000과 Microsoft Windows XP에서는 ASPNET라는 로컬 사용자 계정의 컨텍스트에서 실행되고 Windows Server 2003에서는 NETWORK SERVICE라는 로컬 사용자 계정의 컨텍스트에서 실행됩니다. 이러한 사용자 계정의 액세스 권한은 제한되어 있습니다. 그러나 ASPNET 계정은 웹 서버에 대해 로컬입니다. ASPNET 계정은 웹 서버에 로컬이기 때문에 원격 컴퓨터에서 사용자로 인식되지 않습니다. 이러한 제한을 해결하려면 웹 서버 컴퓨터와 SQL Server를 실행하는 컴퓨터에서 모두 인식되는 Windows 도메인 사용자의 컨텍스트로 응용 프로그램을 실행하면 됩니다.
응용 프로그램 프로세스를 Windows 도메인 사용자 계정에 매핑하려면 다음을 구성해야 합니다.
웹 서버
지정하는 Windows 도메인 사용자 계정에 웹 응용 프로그램을 실행할 수 있는 충분한 권한이 있는지 확인해야 합니다.
응용 프로그램
ASP.NET에서 도메인 사용자 계정 이름을 인식하도록 Web.config 파일을 구성해야 합니다.
참고:
Machine.config 및 Web.config 파일에 대한 자세한 내용은 ASP.NET 구성 개요를 참조하십시오.
연결 문자열입니다.
응용 프로그램에서 연결 개체에 대해 연결 문자열을 만들 때는 연결 문자열에서 Windows 통합 보안을 사용하도록 지정해야 합니다.
SQL Server
지정한 도메인 사용자 계정을 SQL Server 로그인 사용자로 추가해야 합니다.
웹 서버의 사용자 계정 구성
Windows 도메인 사용자 계정의 권한을 설정하려면
웹 서버에서 Windows 관리 도구를 사용하여 매핑된 Windows 도메인 사용자 계정에 필요한 권한이 있는지 확인합니다.
자세한 내용은 ASP.NET 필수 ACL(액세스 제어 목록)을 참조하십시오.
aspnet_regiis.exe를 -ga 스위치와 함께 실행하여 응용 프로그램 가장에 사용할 ID에 필요한 일반 사용자 권한을 부여합니다.
Windows 사용자 계정에 매핑 및 가장 사용
도메인 사용자 계정에 올바른 사용자 권한을 구성한 후에는 응용 프로그램 ID 가장을 구성합니다.
![]() |
---|
Web.config 파일에 사용자 자격 증명을 보관하면 보안상의 위험이 발생할 수 있습니다. Web.config 파일이 포함된 디렉터리에 대해 액세스 권한을 가진 사용자는 이 파일을 읽을 수 있으므로 해당 자격 증명을 볼 수 있습니다. 이러한 위험을 방지하는 방법에 대한 자세한 내용은 보호되는 구성을 사용하여 구성 정보 암호화를 참조하십시오. |
웹 응용 프로그램의 가장을 구성하려면
응용 프로그램의 Web.config 파일을 열고 다음 ID 가장 코드를 추가합니다.
<identity impersonate="true" userName="domain\username" password="********"/>
이전 예제에 나와 있는 값 대신 올바른 암호를 사용합니다.
참고:
Web.config 파일의 요소는 대/소문자를 구분합니다.
연결 문자열에 Windows 보안 사용
마지막으로, 데이터베이스 액세스에 대한 연결 문자열을 만들 때 Windows 통합 보안을 사용하도록 연결 문자열을 구성합니다.
연결 문자열에 Windows 통합 보안을 사용하려면
응용 프로그램의 연결 문자열을 만들 때는 사용자 이름과 암호를 포함하지 마십시오. 대신 연결 문자열에 대해 Integrated Security 특성을 SSPI로 설정합니다.
다음 예제에서는 올바른 특성을 포함한 연결 문자열을 보여 줍니다.
data source=myserver;initial catalog=northwind;Integrated Security=SSPI
통합 보안에 대해 SQL Server를 구성하려면
Windows에서 시작을 클릭하고 Microsoft SQL Server를 가리킨 다음 엔터프라이즈 관리자를 클릭합니다.
서버 노드를 열고 사용자 권한을 부여할 데이터베이스의 노드를 확장합니다.
사용자를 마우스 오른쪽 단추로 클릭하고 새 데이터베이스 사용자를 선택합니다.
데이터베이스 사용자 속성 대화 상자에서 로그인 이름 상자에 domain\username 값을 입력한 다음 확인을 클릭합니다.