2013-03-27 1 views
1

Google 조직에는 주로 Active Directory 계정이있는 사용자가 내부적으로 사용하는 웹 응용 프로그램이 있습니다. 현재 각 애플리케이션은 자체 AD 계정으로 실행됩니다. Google은 데이터 액세스를 위해 데이터베이스 측에서 애플리케이션 광고 계정에 대한 액세스 권한을 부여합니다.asp.net에서 가장을 사용해야합니까?

DBA는 감사의 이유로이 문제에서 벗어나려고합니다. 그는 응용 프로그램에서 오는 각 데이터 요청에 응용 프로그램의 AD 자격 증명이 아닌 로그인 한 사용자의 AD 자격 증명이 필요합니다. 나는 이것이 가장 (impersonation)을 사용하여 달성 된 것이라고 생각합니다. 권장되는 방법입니까? 장점과 단점은 무엇입니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?

감사합니다.

답변

1

당신은 당신의 Web.config에 다음을 추가 :

<configuration> 
    <system.web> 
    <identity impersonate="true"/> 
    </system.web> 
</configuration> 

웹 서버는 "인증 된 사용자를 가장"하고 당신의 DBA는 사용자의 네트워크 ID를 볼 수 있습니다. 구성 파일을 사용하여 특정 사용자로 가장 할 수 있습니다.

<identity impersonate="true" userName="user" password="pwd" /> 

그러나 DBA가이 경우 찾고있는 것은 아닙니다.

예 "가장 (impersonation)"이 이상하게 들릴 수 있지만 이는 내부 네트워크의 웹 응용 프로그램 사용자를 인증하는 완벽한 표준 방법입니다. 웹 서버는 일반 응용 프로그램 사용자 이름이 아닌 이름으로 이러한 작업을 수행해야하기 때문에 각 사용자가 필요한 모든 작업을 수행하는 데 필요한 폴더 권한 등을 갖고 있는지 확인해야합니다. 사용자가 할 수있는 일을하려고 할 때 액세스 권한이 거부 될 때 이러한 권한 문제에 대해 아주 빨리 알게됩니다. 하지만 일단 각자에게 필요한 권한이 주어지면 괜찮을 것입니다.

+1

+1 - 나는 모든 응용 프로그램 사용자를 응용 프로그램 그룹에 배치해야하며 그룹에게는 개별 사용자가 아닌 필요한 권한이 부여되어야한다고 추가했습니다. –

+0

예, DBA가 제안하는 것은 그룹 정책을 롤업하는 것입니다. – Riz

+0

info @criticalfix에 감사드립니다. 전에 그런 일이 없었어요. 그래서 울타리에가있었습니다. – Riz

관련 문제