...

...

Windows 2008 서버가 2대 있습니다. 하나는 웹 서버(IIS7)입니다. 다른 하나는 데이터베이스 서버(SQL Server 2008)입니다. SQL Server 2008의 인스턴스는 혼합 모드 인증을 사용하도록 구성되었습니다. 둘 다 Active Directory 도메인에 가입되어 있지 않습니다.

웹 서버의 ASP.NET 응용 프로그램은 어떻게 데이터베이스 서버의 데이터베이스에 로그인해야 합니까? SA 계정으로 테스트했지만 분명히 변경해야 합니다.

SQL Server 계정, 각 컴퓨터에 구성된 Windows 계정 또는 실제로 잘 이해하지 못하는 "응용 프로그램 역할" 등 무엇을 사용해야 할지 혼란스럽습니다.

계정은 데이터를 읽고 쓸 수 있고 저장 프로시저를 실행할 수 있으면 됩니다. 어떻게 해야 하며 어떻게 설정해야 합니까?

...

빠른 답변보다는 설정 방법에 대한 지침을 알려주시기 바랍니다. 감사해요.

답변1

보다 안전한 방법은 Windows 인증을 사용하는 것입니다. 이렇게 하면 연결 문자열이나 구성 파일에 포함된 비밀번호 없이 애플리케이션을 작성할 수 있습니다.

각 시스템마다 사용자 계정을 생성합니다. 이 계정은 관리자 계정이 아니라 일반 사용자 계정이어야 합니다. 두 시스템 모두 동일한 이름과 비밀번호로 사용자를 생성합니다.

이제 IIS 시스템에서 응용 프로그램 풀 설정을 편집하십시오. 방금 만든 사용자 계정으로 실행되도록 ID를 변경합니다. 이 시점에서 사용자의 비밀번호를 입력해야 합니다.

SQL 서버에서 생성한 Windows 사용 계정과 연결된 로그인 계정을 생성합니다. 일반 SQL Server 권한을 사용하여 애플리케이션에 필요한 작업을 허용/거부할 수 있습니다.

이제 애플리케이션에서 통합 보안을 사용하여 SQL 서버에 연결합니다. SQL 연결을 만들 때 앱 풀 사용자가 사용됩니다.

구성이나 앱에 비밀번호가 없고 안전한 데이터베이스 연결이 가능합니다!

답변2

가장 일반적으로 사용되는 방법은 SQL 로그인입니다. 강력한 비밀번호로 SQL 로그인을 만드세요. 애플리케이션이 사용할 데이터베이스에 사용자로 추가하십시오. 데이터베이스에 데이터베이스 역할을 생성하고 사용자를 이 역할의 구성원으로 만듭니다. 액세스해야 하는 개체에 데이터베이스 역할 액세스 권한을 부여합니다.

역할에 필요한 권한만 부여하고 싶을 것입니다.

데이터베이스 역할이 있는 이유는 데이터베이스를 다른 서버에 복원하고 다른 사용자에게 정확한 권한을 쉽게 부여하여 모든 것이 올바르게 작동하는지 확인할 수 있기 위해서입니다.

관련 정보