클레임 인증이 SharePoint Server에서 사용자의 유효성을 검사하지 않음
적용 대상:2013
2016
2019
Subscription Edition
SharePoint in Microsoft 365
사용자가 웹 응용 프로그램 연결을 시도하면 로그에 실패한 인증 이벤트가 기록됩니다. Microsoft에서 제공하는 도구와 체계적인 방식을 사용하여 오류를 검사하면 클레임 기반 인증과 관련한 일반적인 문제 및 이러한 문제를 해결하는 방법을 확인할 수 있습니다.
SharePoint 리소스에 성공적으로 액세스하려면 인증과 권한 부여가 모두 필요합니다. 클레임을 사용하는 경우 인증은 보안 토큰이 유효한지 확인합니다. 권한 부여는 보안 토큰의 클레임 집합과 리소스에 대해 구성된 권한에 따라 리소스에 대한 액세스가 허용되는지 확인합니다.
인증 또는 권한 부여에서 액세스 문제가 발생하는지 확인하려면 브라우저 창에서 오류 메시지를 자세히 확인하십시오.
사용자에게 사이트에 대한 액세스 권한이 없음을 나타내는 오류 메시지가 표시되면 인증이 성공했으며 권한 부여에 실패했습니다. 권한 부여 문제를 해결하려면 다음 해결 방법을 시도해 보십시오.
SAML(보안 어설션 태그 언어) 클레임 기반 인증을 사용할 때 권한 부여가 실패한 가장 일반적인 이유는 사용자의 SAML ID 클레임 대신 사용자의 Windows 기반 계정(domain\user)에 권한이 할당되었기 때문입니다.
사용자 또는 사용자가 속하는 그룹이 적절한 사용 권한을 사용하도록 구성되었는지 확인합니다. 자세한 내용은 User permissions and permission levels in SharePoint Server을 참조하십시오.
이 문서에서 설명하는 도구와 기술을 사용하여 구성된 사용 권한과 비교할 수 있도록 사용자 보안 토큰의 클레임 집합을 확인합니다.
인증이 실패했다는 메시지가 표시되면 인증 문제가 있는 것입니다. 클레임 기반 인증을 사용하는 SharePoint 웹 응용 프로그램 내에 리소스가 포함되어 있는 경우 이 문서의 정보를 참조하여 문제 해결을 시작하십시오.
문제 해결 도구
SharePoint Server에서 클레임 인증 관련 정보를 수집할 수 있도록 Microsoft에서 제공하는 기본적인 문제 해결 도구는 다음과 같습니다.
ULS(통합 로깅 시스템) 로그를 사용하여 인증 트랜잭션 세부 정보를 수집합니다.
중앙 관리를 사용하여 SharePoint 웹 응용 프로그램 및 영역에 대한 사용자 인증 설정 세부 정보를 확인하고 ULS 로깅 수준을 구성합니다.
ACTIVE DIRECTORY FEDERATION SERVICES 2.0(AD FS)을 SAML(Security Assertion Markup Language) 기반 클레임 인증에 대한 페더레이션 공급자로 사용하는 경우 AD FS 로깅을 사용하여 AD FS가 웹 클라이언트 컴퓨터에 발급하는 보안 토큰에 있는 클레임을 확인할 수 있습니다.
Network Monitor 3.4를 사용하여 사용자 인증 네트워크 트래픽 세부 정보를 캡처하고 검사합니다.
사용자 인증을 위한 ULS 로깅 수준 설정
다음 절차에서는 클레임 인증 시도에 대한 정보를 최대한 기록하도록 SharePoint Server을 구성합니다.
최대한의 사용자 인증 로깅을 위해 SharePoint Server을 구성하려면
중앙 관리에서 빠른 실행에서 모니터링을 선택한 다음 진단 로깅 구성을 선택합니다.
범주 목록에서 SharePoint Foundation을 확장하고 인증 권한 부여 및 클레임 인증을 선택합니다.
이벤트 로그에 보고할 최소 중요 이벤트에서 자세한 정보 표시를 선택합니다.
추적 로그에 보고할 최소 중요 이벤트에서 자세한 정보 표시를 선택합니다.
확인을 선택합니다.
클레임 인증 문제 해결을 수행하지 않을 때 성능을 최적화하려면 다음 단계에 따라 사용자 인증 로깅을 기본값으로 설정합니다.
기본 규모의 사용자 인증 로깅을 위해 SharePoint Server을 구성하려면
중앙 관리에서 빠른 실행에서 모니터링을 선택한 다음 진단 로깅 구성을 선택합니다.
범주 목록에서 SharePoint Foundation을 확장하고 인증 권한 부여 및 클레임 인증을 선택합니다.
이벤트 로그에 보고할 최소 중요 이벤트에서 정보를 선택합니다.
추적 로그에 보고할 최소 중요 이벤트에서 보통을 선택합니다.
확인을 선택합니다.
AD FS 로깅 구성
최대 수준의 ULS 로깅을 사용하도록 설정한 후에도 SharePoint Server는 수신하는 보안 토큰에 클레임 집합을 기록하지 않습니다. SAML 기반 클레임 인증에 AD FS를 사용하는 경우 AD FS 로깅을 사용하도록 설정하고 이벤트 뷰어 사용하여 SharePoint Server에서 발급하는 보안 토큰에 대한 클레임을 검사할 수 있습니다.
AD FS 로깅을 사용하도록 설정하려면
AD FS 서버의 이벤트 뷰어 보기를 선택한 다음 분석 및 디버그 로그 표시를 선택합니다.
이벤트 뷰어 콘솔 트리에서 응용 프로그램 및 서비스 로그/AD FS 2.0 추적을 확장합니다.
디버그를 마우스 오른쪽 단추로 클릭한 다음 로그 사용을 선택합니다.
%ProgramFiles% \Active Directory Federation Services 2.0 폴더를 엽니다.
메모장에서 Microsoft.IdentityServer.ServiceHost.Exe.Config 파일을 엽니다.
편집을 선택하고 찾기를 선택하고 원본 이름="Microsoft.IdentityModel" switchValue="Off">를 입력<한 다음 확인을 선택합니다.
switchValue="Off"를 switchValue="Verbose"로 변경합니다.
파일을 선택하고 저장을 선택한 다음 메모장을 종료합니다.
서비스 스냅인에서 ** AD FS 2.0 서비스 **를 마우스 오른쪽 단추로 클릭한 다음 다시 시작을 선택합니다.
이제 AD FS 서버의 이벤트 뷰어를 사용하여 응용 프로그램 및 서비스 로그/AD FS 2.0 추적/디버그 노드에서 클레임에 대한 세부 정보를 검사할 수 있습니다. 이벤트 ID가 1001인 이벤트를 찾으십시오.
HttpModule 또는 웹 파트를 사용하거나 OperationContext를 통해 클레임을 열거할 수도 있습니다. 자세한 내용은 SharePoint 2010의 클레임 보강 시간에 모든 사용자 클레임을 가져오는 방법을 참조하세요. SharePoint 2010에 대한 이 정보는 SharePoint 2013에도 적용됩니다.
클레임 사용자 인증 문제 해결 방법
다음 단계를 통해 클레임 인증 시도 실패의 원인을 확인할 수 있습니다.
1단계: 인증 시도 실패의 세부 정보 확인
인증 시도 실패와 관련된 자세한 최종 정보를 얻으려면 SharePoint ULS 로그를 확인해야 합니다. 이러한 로그 파일은 %CommonProgramFiles%\Microsoft Shared\Web Server Extensions\15\LOGS 폴더에 저장됩니다.
ULS 로그 파일의 인증 시도 실패 정보는 수동으로 찾을 수도 있고 ULS 로그 뷰어를 사용할 수도 있습니다.
수동으로 인증 시도 실패 정보를 찾으려면
인증 시도가 실패한 사용자 계정 이름을 사용자로부터 얻습니다.
SharePoint Server 또는 SharePoint Foundation이 실행되는 서버에서 %CommonProgramFiles% \Microsoft Shared\Web Server Extensions\16\LOGS 또는 %CommonProgramFiles% \Microsoft Shared\Web Server Extensions\15\LOGS 폴더를 찾습니다.
LOGS 폴더에서 수정한 날짜를 선택하여 폴더를 날짜별로 정렬하고 맨 위에 가장 최근 항목이 있습니다.
인증 작업을 다시 시도합니다.
LOGS 폴더 창에서 목록 맨 위의 로그 파일을 두 번 클릭하여 해당 파일을 메모장에서 엽니다.
메모장에서 편집을 선택하고 찾기를 선택하고 인증 권한 부여 또는 클레임 인증을 입력한 다음, 다음 찾기를 선택합니다.
취소를 선택한 다음 메시지 열의 내용을 읽습니다.
ULS 뷰어를 사용하려면 ULS 뷰어 에서 다운로드하여 SharePoint Server 또는 SharePoint Foundation을 실행하는 서버의 폴더에 저장합니다. 설치한 후 다음 단계에 따라 실패한 인증 시도를 찾습니다.
ULS 뷰어를 사용하여 인증 시도 실패 정보를 찾으려면
SharePoint Server 또는 SharePoint Foundation을 실행하는 서버에서 저장된 폴더에서 Ulsviewer 를 두 번 클릭합니다.
ULS 뷰어에서 파일을 선택하고 열기를 가리킨 다음 ULS를 선택합니다.
ULS 런타임 피드 설정 대화 상자에서 %CommonProgramFiles% \Common Files\Microsoft Shared\Web Server Extensions\16\LOGS 폴더 또는 \Common Files\Microsoft Shared\Web Server Extensions\15\LOGS 폴더가 기본 로그 파일 디렉터리에서 ULS 피드 사용에 지정되어 있는지 확인합니다. 그렇지 않은 경우 실시간 피드에 디렉터리 위치 사용을 선택하고 로그 파일 위치에 %CommonProgramFiles% \Microsoft Shared\Web Server Extensions\16\LOGS 폴더 또는 \Microsoft Shared\Web Server Extensions\15\LOGS 폴더를 지정합니다.
%CommonProgramFiles%의 경우 SharePoint Server 또는 SharePoint Foundation을 실행하는 서버의 CommonProgramFiles 환경 변수 값을 대체합니다. 예를 들어 위치가 C 드라이브이면 %CommonProgramFiles%는 C:\Program Files\Common Files로 설정됩니다.
확인을 선택합니다.
편집을 선택한 다음 필터 수정을 선택합니다.
필터 기준 대화 상자의 필드에서범주를 선택합니다.
값에 인증 권한 부여 또는 클레임 인증을 입력한 다음 확인을 선택합니다.
인증 시도를 반복합니다.
ULS Viewer(ULS 뷰어) 창에 표시되는 줄을 두 번 클릭하여 Message(메시지) 구역을 확인합니다.
비 OAuth 요청에 대한 Message(메시지) 구역의 클레임 인코딩 부분에서 클레임 인코딩 문자열의 인증 방법 및 인코딩된 사용자 ID를 확인할 수 있습니다(예: i:0#.w|contoso\chris).
2단계: 구성 요구 사항 확인
웹 응용 프로그램 또는 영역이 하나 이상의 클레임 인증 방법을 지원하도록 구성되는 방법을 확인하려면 SharePoint 중앙 관리 웹 사이트를 사용합니다.
웹 응용 프로그램 또는 영역의 인증 구성을 확인하려면
중앙 관리에서 빠른 실행에서 애플리케이션 관리를 선택한 다음 웹 애플리케이션 관리를 선택합니다.
사용자가 액세스하려는 웹 애플리케이션의 이름을 선택하고 리본의 보안 그룹에서 인증 공급자를 선택합니다.
인증 공급자 목록에서 적절한 영역(예: 기본값)을 선택합니다.
인증 편집 대화 상자의 클레임 인증 유형 섹션에서 클레임 인증에 대한 설정을 확인합니다.
Windows 클레임 인증의 경우 Windows 인증 사용 및 Windows 통합 인증이 선택되어 있는지 확인하고 필요에 따라 NTLM 또는 협상(Kerberos)이 선택되어 있는지 확인합니다. 필요한 경우 기본 인증 을 선택합니다.
양식 기반 인증의 경우 FBA(Forms 기반 인증) 사용이 선택되어 있는지 확인합니다. ASP.NET 멤버 자격 공급자 이름 및 ASP.NET 역할 관리자 이름의 값을 확인합니다. 이러한 값은 SharePoint 중앙 관리 웹 사이트, 웹 애플리케이션 및 SharePoint Web Services\SecurityTokenServiceApplication에 대한 web.config 파일에서 구성한 멤버 자격 공급자 및 역할 값과 일치해야 합니다. 자세한 내용은 Configure forms-based authentication for a claims-based web application in SharePoint Server을 참조하십시오.
SAML 기반 클레임 인증의 경우에는 신뢰할 수 있는 ID 공급자와 정확한 신뢰할 수 있는 공급자 이름이 선택되어 있는지 확인합니다. 자세한 내용은 Configure SAML-based claims authentication with AD FS in SharePoint Server을 참조하십시오.
로그인 페이지 URL 섹션에서 로그인 페이지의 옵션을 확인합니다. 기본 로그인 페이지의 경우 기본 로그인 페이지가 선택되어 있어야 합니다. 사용자 지정 로그인 페이지의 경우 해당 페이지에 대해 지정된 URL을 확인합니다. 이렇게 하려면 URL을 복사한 다음 웹 브라우저에서 해당 URL에 액세스해 봅니다.
저장을 선택하여 변경 내용을 인증 설정에 저장합니다.
인증 시도를 반복합니다. 양식 기반 또는 SAML 기반 인증의 경우 올바른 로그인 옵션이 포함된 로그인 페이지가 나타나야 합니다.
인증이 여전히 실패하는 경우 ULS 로그를 검사 인증 구성이 변경되기 전과 인증 후에 인증 시도 간에 차이가 있는지 여부를 확인합니다.
3단계: 검사 추가 항목
로그 파일과 웹 응용 프로그램 구성을 확인한 후에는 다음 사항을 확인합니다.
웹 클라이언트 컴퓨터의 웹 브라우저에서 클레임이 지원됩니다. 자세한 내용은 SharePoint Server 2016의 브라우저 지원 계획을 참조하세요.
Windows 클레임 인증의 경우 다음 사항을 확인합니다.
사용자가 인증 시도를 실행하는 컴퓨터가 SharePoint 웹 응용 프로그램을 호스팅하는 서버와 같은 도메인의 구성원이거나 호스팅 서버에서 트러스트되는 도메인의 구성원입니다.
사용자가 인증 시도를 실행하는 컴퓨터가 해당 AD DS(Active Directory 도메인 서비스) 도메인에 로그온되어 있습니다. nltest /dsgetdc: /force를 명령 프롬프트 또는 웹 클라이언트 컴퓨터의 SharePoint 관리 셸에 입력하여 도메인 컨트롤러에 액세스할 수 있는지 확인합니다. 도메인 컨트롤러가 표시되지 않으면 웹 클라이언트 컴퓨터와 AD DS 도메인 컨트롤러 간의 검색 및 연결 불가 문제를 해결합니다.
SharePoint Server 또는 SharePoint Foundation을 실행하는 서버가 해당 AD DS 도메인에 로그온됩니다. nltest /dsgetdc: /force를 명령 프롬프트 또는 SharePoint Server 또는 SharePoint Foundation을 실행하는 서버의 SharePoint 관리 셸에 입력하여 도메인 컨트롤러에 액세스할 수 있는지 확인합니다. 도메인 컨트롤러가 나열되지 않은 경우 SharePoint Server 또는 SharePoint Foundation을 실행하는 서버와 AD DS 도메인 컨트롤러 간의 검색 가능성 및 연결 부족 문제를 해결합니다.
양식 기반 인증의 경우 다음 사항을 확인합니다.
구성된 ASP.NET 멤버 자격 및 역할 공급자용 사용자 자격 증명이 올바릅니다.
ASP.NET 멤버 자격 및 역할 공급자를 호스팅하는 시스템을 네트워크에서 사용할 수 있습니다.
사용자 지정 로그인 페이지에서 사용자 자격 증명을 올바르게 수집 및 전달합니다. 이를 테스트하려면 임시로 기본 로그인 페이지를 사용하도록 웹 응용 프로그램을 구성한 다음 로그인 페이지가 작동하는지 확인합니다.
SAML 기반 클레임 인증의 경우 다음 사항을 확인합니다.
구성된 ID 공급자용 사용자 자격 증명이 올바릅니다.
페더레이션 공급자(예: AD FS) 및 ID 공급자(예: AD DS 또는 타사 ID 공급자) 역할을 하는 시스템을 네트워크에서 사용할 수 있습니다.
사용자 지정 로그인 페이지에서 사용자 자격 증명을 올바르게 수집 및 전달합니다. 이를 테스트하려면 임시로 기본 로그인 페이지를 사용하도록 웹 응용 프로그램을 구성한 다음 로그인 페이지가 작동하는지 확인합니다.
4단계: 웹 디버그 도구를 사용하여 웹 트래픽 모니터링 및 분석
HttpWatch 또는 Fiddler와 같은 도구를 사용하여 다음과 같은 형식의 HTTP 트래픽을 분석합니다.
SharePoint Server 또는 SharePoint Foundation을 실행하는 서버와 웹 클라이언트 컴퓨터 간의 HTTP 트래픽
예를 들어 SharePoint Server 또는 SharePoint Foundation을 실행하는 서버가 웹 클라이언트 컴퓨터에 페더레이션 서버(예: AD FS) 위치를 알리기 위해 보내는 HTTP 리디렉션 메시지를 모니터링할 수 있습니다.
웹 클라이언트 컴퓨터와 페더레이션 서버(예: AD FS) 간의 HTTP 트래픽
예를 들어 웹 클라이언트 컴퓨터가 보내는 HTTP 메시지와 페더레이션 서버의 응답을 모니터링할 수 있습니다(보안 토큰 및 해당 클레임이 포함될 수 있음).
참고
Fiddler를 사용하는 경우 인증 프롬프트가 3회 표시된 후에 인증 시도가 실패할 수 있습니다. 이 동작을 방지하려면 SAML 및 SharePoint와 함께 Fiddler를 사용하여 세 가지 인증 프롬프트 지나기 를 참조하세요.
5단계: 인증 네트워크 트래픽 캡처 및 분석
Network Monitor 3.4 등의 네트워크 트래픽 도구를 사용하여 웹 클라이언트 컴퓨터, SharePoint Server 또는 SharePoint Foundation을 실행하는 서버, 그리고 SharePoint Server 또는 SharePoint Foundation에서 클레임 인증을 위해 사용하는 시스템 간의 트래픽을 캡처하고 분석합니다.
참고
대부분의 경우 클레임 인증은 컴퓨터 간에 전송되는 메시지를 암호화하는 HTTPS(Hypertext Transfer Protocol Secure) 기반 연결을 사용합니다. 추가 기능 또는 확장의 도움 없이는 네트워크 트래픽 도구를 사용하여 암호화된 메시지의 내용을 볼 수 없습니다. 예를 들어 네트워크 모니터의 경우 Expert to Network Monitor를 설치하고 구성해야 합니다. HTTPS 메시지의 암호를 해독하는 대신 암호화되지 않은 HTTP 메시지를 보고할 수 있는 SharePoint Server 또는 SharePoint Foundation을 호스트하는 서버에서 Fiddler와 같은 도구를 사용합니다.
네트워크 트래픽을 분석하면 다음과 같은 사항을 파악할 수 있습니다.
클레임 인증 프로세스에 사용되는 컴퓨터 간에 전송되는 정확한 메시지 및 프로토콜 집합. 회신 메시지에는 더 많은 문제 해결 단계를 결정하는 데 사용할 수 있는 오류 조건 정보가 포함될 수 있습니다.
요청 메시지에 해당하는 회신이 있는지 여부. 회신을 받지 못하는 여러 보낸 요청 메시지는 네트워크 트래픽이 의도한 대상에 도달하지 않음을 나타낼 수 있습니다. 이 경우 패킷 라우팅 문제, 경로의 패킷 필터링 장치(예: 방화벽) 또는 대상의 패킷 필터링(예: 로컬 방화벽)을 확인하십시오.
여러 클레임 방법을 시도하는지 여부 및 그 중 실패하는 방법
Windows 클레임 인증의 경우 다음 컴퓨터 간의 트래픽을 캡처하고 분석할 수 있습니다.
SharePoint Server 또는 SharePoint Foundation을 실행하는 서버와 웹 클라이언트 컴퓨터 간의 트래픽
SharePoint Server 또는 SharePoint Foundation을 실행하는 서버와 해당 도메인 컨트롤러 간의 트래픽
양식 기반 인증의 경우 다음 컴퓨터 간의 트래픽을 캡처하고 분석할 수 있습니다.
SharePoint Server 또는 SharePoint Foundation을 실행하는 서버와 웹 클라이언트 컴퓨터 간의 트래픽
SharePoint Server 또는 SharePoint Foundation을 실행하는 서버와 ASP.NET 멤버 자격 및 역할 공급자 간의 트래픽
SAML 기반 클레임 인증의 경우 다음 컴퓨터 간의 트래픽을 캡처하고 분석할 수 있습니다.
SharePoint Server 또는 SharePoint Foundation을 실행하는 서버와 웹 클라이언트 컴퓨터 간의 트래픽
웹 클라이언트 컴퓨터와 해당 ID 공급자(예: AD DS 도메인 컨트롤러) 간의 트래픽
웹 클라이언트 컴퓨터와 페더레이션 공급자(예: AD FS) 간의 트래픽
참고 항목
기타 리소스
Configure forms-based authentication for a claims-based web application in SharePoint Server
Configure SAML-based claims authentication with AD FS in SharePoint Server