2009-04-11 5 views
2

ASP.Net 웹 사이트를 데이터베이스에 연결하는 기본 방법 (모범 사례)은 무엇입니까? 신뢰할 수있는 연결을 사용하고 NT 권한 계정에 액세스 권한을 부여하는 것만 큼 간단하지는 않습니다.ASP.Net의 기본 DB 연결

무엇을해야합니까? SQL Server (2008)를 새로 설치한다고 가정 할 때 웹 사이트의 데이터베이스에 대한 액세스를 구성하려면 어떻게해야합니까?

답변

1

저는 보통 ASP.NET 응용 프로그램 풀을 NT AUTHORITY\NETWORK SERVICE이 아닌 별도의 계정으로 실행하고 Windows 인증을 사용하여 SQL Server에 액세스합니다. 이 방법은 설정 파일에 암호를 저장하지 않는 이점이 있습니다.

단계 :

  1. 는 ASP.NET 응용 프로그램을 실행할 수있는 사용자 계정을 만듭니다.
  2. IIS에서 응용 프로그램 풀을 만들고 만든 계정에서 실행하십시오.
  3. 응용 프로그램이 계정에 필요로하는 NTFS 권한을 할당하십시오.
  4. SQL Server에 로그인 할 수있는 권한을 부여하십시오.
  5. 생성 된 로그인에 적절한 데이터베이스 역할을 할당하십시오.

많은 앱에서 작동합니다. 보다 복잡한 보안 환경의 경우보다 정교한 전략이 필요할 수 있습니다.

+0

의미가 있습니다. 구현과 관련하여 링크를 제공 할 수 있습니까? – jcelgin

+0

또한 데이터베이스에 대한 자신 만의 역할을 정의 할 수 있음을 명심하십시오. 모범 사례를 시도하는 경우 응용 프로그램 (관련 사용자)이 표준 역할의 본질적인 제한을 초과하여 수행 할 수있는 작업과 수행 할 수없는 작업을 제한하려고합니다 . – Murph

0

나는 신뢰할 수있는 연결을 사용 했었지만 때때로 연결/응용 프로그램 풀에 사용 된 서비스 계정에 너무 많은 권한을 부여해야한다고 생각했습니다. 이제 SQL Server 계정을 사용하고 Application_Start 중에 연결 문자열을 암호화하도록 응용 프로그램을 설정합니다 (암호화되지 않은 경우). 실제로 사용자 자격 증명이 포함될 수있는 섹션은 암호화됩니다. appSetting을 사용하여 암호화 코드가 실행되는지 여부를 확인하므로 개발 환경에서 설정을 암호화하지 않습니다.

+0

다른 권한을 가진 대형 앱의 경우 완전히 동의합니다. SQL Server 응용 프로그램 역할은 최소한의 권한을 얻는 또 다른 방법입니다. 그러나 많은 웹 응용 프로그램은 충분히 작아서 많은 다른 계정을 갖는 것이 타당하지 않습니다. 암호로 유지 관리 문제가 발생합니다 ... –

0

또한 SQL Server 계정을 사용합니다. 더 간단하고 문제를 해결하는 것이 좋습니다.