통합 Windows 인증 개요
통합 Windows 인증(Integrated Windows Authentication, IWA)은 IIS와 사용자가 동일한 도메인에 로그인한 경우 자동으로 사용자 자격 증명을 IIS에 제공하는 메커니즘입니다. 그러면 사용자 인증 완료 판정 및 인증된 사용자 정보를 얻을 수 있습니다.
이를 통해 사용자는 추가 로그인 작업 없이 IIS에서 호스팅(또는 연동)하는 웹 응용 프로그램에 액세스할 수 있으며 다른 응용 프로그램 서버와 SSO 연동을 수행할 수 있습니다.
※ 같은 도메인에 참가하고 있지 않은 경우나, 인증되어 있지 않은 유저가 IIS의 페이지에 액세스 하면 로그인 다이얼이 표시되어, 올바르게 인증하지 않는 경우는, HTTP Error 401.1 – Unauthorized 가 된다.
SSO(Single Sign On) 흐름
Chat&Messenger 온프레미스 Ultimate 플랜에서는 통합 Windows 인증을 통해 SSO가 가능합니다.
- 클라이언트는 먼저 통합 Windows 인증 페이지 /cam-iissso에 액세스합니다.
- /cam-iissso 페이지에서 ASP.NET에서 인증된 결정을 내리고 CAMServer에 연결
- CAMServer는 LDAP 검색을 수행하여 정규 AD 사용자인지 확인하고 ssoToken (고유 랜덤 값 30 바이트 이상)과 함께 CAMServer에 액세스하는 URL을 생성하고 리디렉션 요청을 수행합니다.
- CAMServer에 액세스하고 ssoToken을 사용하여 인증합니다. 인증이 성공하면 API 액세스에 대한 세션 ID가 할당됩니다.
SSO를 실현하기 위한 요구사항
IIS 설치
서버 역할에서 IIS를 설치합니다.
IIS 설치 시 옵션으로 "Windows 인증"을 확인합니다.
IIS 역할 설치가 완료된 후 별도의 ISAPI 필터 및 ISAPI 확장 설치
ASP.NET Core Hosting Bundle 설치
ASP.NET Core Hosting Bundle 설치하십시오.
설치 후 IIS를 다시 시작하여 처리기 매핑에 AspNetCoreModuleV2가 있는지 확인하십시오.
응용 프로그램 추가 (cam-iissso)
SSO 모듈을 다운로드하고 C:\inetpub\wwwroot\cam-iissso로 복사 https://chat-messenger.com/dl/fdd94dd-022_f2aaac/cam-iissso.zip Default Web Site에 cam-iissso 응용 프로그램 추가 별칭 cam-iissso 물리적 경로 C:\inetpub\wwwroot\cam-iissso
Windows 인증 사용
Windows 인증을 마우스 오른쪽 단추로 클릭하고 사용으로 설정합니다.
인터넷 옵션 설정
IIS에서 제공하는 사이트를 인트라넷 영역에 추가
인터넷 옵션을 선택하고 보안 탭을 클릭하고 로컬 인트라넷을 선택 사이트 버튼을 클릭하고 고급 설정을 선택하여 사이트 URL 추가
자동 로그온 확인
레벨 사용자 정의를 클릭하고 사용자 인증 → 로그온에서 인트라넷 영역에서 자동으로 로그온을 선택했는지 확인하십시오.
LDAP 설정
IIS를 사용하여 Single Sign-On을 수행하는 경우,LDAP 설정(LDAPURl, LDAPBaseDN, 대리 인증을 실시하는 AD 사용자)가 필요합니다.
HTTP 프록시 연결 환경에서 사용할 수 없음
SSO는 HTTP 프록시 연결 환경에서는 사용할 수 없으므로 주의하십시오.