SAML 문제 해결
SAML 문제 해결에 대해 설명합니다.
이 페이지에는 다음을 사용할 때 발생할 수 있는 문제의 해결 방법이 정리되어 있습니다: GitLab.com 그룹의 SAML SSO . GitLab Self-Managed 인스턴스 수준 SAML OmniAuth 공급자 . GitLab Dedicated 인스턴스에 SAML을 구성하는 Switchboard . SAML 디버깅 도구 # SAML 응답은 base64로 인코딩됩니다. 이를 즉석에서 디코딩하려면 SAML-tracer 브라우저 확장 프로그램( Firefox , Chrome )을 사용할 수 있습니다. 브라우저 플러그인을 설치할 수 없다면 대신 SAML 응답을 수동으로 생성하고 캡처 할 수 있습니다. 다음 사항에 특별히 주의합니다: 로그인하는 사용자를 식별하는 NameID 입니다. 사용자가 이전에 로그인한 적이 있다면 이 값은 GitLab이 저장한 값과 일치해야 합니다. 응답 서명을 검증하는 데 필요한 X509Certificate 의 존재 여부입니다. 잘못 구성하면 오류를 일으킬 수 있는 SubjectConfirmation 및 Conditions 입니다. SAML 응답 생성 # SAML 응답을 사용하면 ID 공급자로 로그인을 시도하는 동안 어설션 목록에 전송된 속성 이름과 값을 미리 볼 수 있습니다. SAML 응답을 생성하려면 다음을 수행합니다: 브라우저 디버깅 도구 중 하나를 설치합니다. 새 브라우저 탭을 엽니다. SAML tracer 콘솔을 엽니다: Chrome: 페이지의 컨텍스트 메뉴에서 Inspect 를 선택한 다음 개발자 콘솔에서 SAML 탭을 선택합니다. Firefox: 브라우저 툴바에 있는 SAML-tracer 아이콘을 선택합니다. GitLab.com 그룹의 경우: 그룹의 GitLab 단일 로그온 URL로 이동합니다. Authorize 를 선택하거나 로그인을 시도합니다. GitLab Self-Managed 인스턴스의 경우: 인스턴스 홈 페이지로 이동합니다. SAML Login 버튼을 선택해 로그인합니다. 이 SAML 응답 예시 와 유사한 SAML 응답이 tracer 콘솔에 표시됩니다. SAML tracer에서 Export 아이콘을 선택해 응답을 JSON 형식으로 저장합니다. SAML 응답 수동 생성 # 개요는 GitLab 지원팀이 업로드한 브라우저 플러그인을 사용하지 않고 SAML 응답을 수동으로 생성하는 방법 영상(Google Chrome 사용) 을 참고합니다. 사용하는 브라우저와 무관하게 절차는 다음과 비슷합니다: 새 브라우저에서 마우스 오른쪽 버튼을 클릭하고 Inspect 를 선택해 DevTools 창을 엽니다. Network 탭을 선택합니다. Preserve log 가 선택되어 있는지 확인합니다. 브라우저 페이지로 이동해 SAML SSO로 GitLab에 로그인합니다. DevTools 창으로 돌아가 callback 이벤트를 필터링합니다. callback 이벤트의 Payload 탭을 선택하고 마우스 오른쪽 버튼을 클릭해 값을 복사합니다. 이 값을 다음 명령에 붙여넣습니다: echo "<value>" | base64