2017-03-10 3 views
0

SQL Alchemy에서 클라이언트 NTLM Windows 인증을 SQL Server 연결에 전달하는 Windows 서버 (IIS 7.5)에 플라스 크 응용 프로그램을 배포하려고합니다.Flask/IIS/SqlAlchemy 용 NTLM

연결 문자열은 다음과 같습니다 순간

: "DRIVER={SQL Server Native Client 11.0};Server=%s;Database=%s;TDS_Version=8.0;Trusted_Connection=yes;"

그리고 Trusted_Connection=yes는 SQL Server에 대한 웹 서버 프로세스의 소유자를 전달하는 역할을한다. 이것은 액세스 자격 증명이 전달 될 수 있도록 서버를 호출하기 때문에 개발 서버를 실행할 때 훌륭하게 작동합니다. BUT IIS가 서버를 실행할 때 응용 프로그램 풀 ID를 상속하고 인증되지 않은 도메인 사용자를 인증 자격 증명으로 보냅니다.

나는 webconfig에서 WindowsAuth 설정을 사용하려고했지만 SQLAlchemy는 SQL Server에 응용 프로그램 풀 ID를 계속 전달합니다.

답변

0

SQL DB 연결과 비슷한 문제가 있었지만 해결 된 방법은 Windows 네트워크 사용자를 만들고 IIS에서 응용 프로그램 풀 ID 대신 해당 ID로 응용 프로그램을 실행하도록하는 것입니다. 이 '실제 사용자'ID는 모든 다운 스트림 호출 (SQL)에 전달됩니다.

사용자가 '일반 사용자'이고 명목상 '서비스 계정'이기 때문에이 기능은 엔터프라이즈 환경에서 잘 확장되고 대부분의 보안 변경 문제를 방지합니다.