브라우저에서 SAML 응답 보기
다음 절차에서는 SAML 2.0 관련 문제를 해결할 때 브라우저에서 서비스 공급자의 SAML 응답을 보는 방법에 대해 설명합니다.
브라우저에서 문제를 재현할 수 있는 페이지로 이동합니다. 그런 다음 해당 브라우저의 단계를 따릅니다.
Google Chrome
Chrome에서 SAML 응답을 보려면
이 단계는 Google Chrome의 버전 106.0.5249.103(공식 빌드)(arm64)을 사용하여 테스트되었습니다. 다른 버전을 사용할 경우 그에 맞게 단계를 적용해야 할 수 있습니다.
-
F12를 눌러 Developer Tools(개발자 도구) 콘솔을 시작합니다.
-
Network(네트워크) 탭을 선택한 다음 Developer Tools(개발자 도구) 창의 왼쪽 상단에서 Preserve log(로그 보존)을 선택합니다.
-
문제를 재현합니다.
-
(선택 사항) Developer Tools(개발자 도구) Network(네트워크) 로그 창에 Method(메서드) 열이 보이지 않는 경우 아무 열 레이블에서 마우스 오른쪽 버튼으로 클릭하고 Method(메서드)를 선택하여 열을 추가할 수 있습니다.
-
Developer Tools(개발자 도구) Network(네트워크) 로그 창에서 SAML Post(SAML 게시물)을 찾습니다. 해당 행을 선택하고 상단에서 Payload(페이로드) 탭을 봅니다. 인코딩된 요청을 포함하는 SAMLResponse 요소를 확인합니다. 연결된 값은 Base64 인코딩 응답입니다.
Mozilla Firefox
Firefox에서 SAML 응답을 보려면
이 절차는 Mozilla Firefox 버전 105.0.3(64-bit)에서 테스트했습니다. 다른 버전을 사용할 경우 그에 맞게 단계를 적용해야 할 수 있습니다.
-
F12를 눌러 Web Developer Tools(웹 개발자 도구) 콘솔을 시작합니다.
-
네트워크 탭을 선택합니다.
-
Web Developer Tools(웹 개발자 도구) 창 상단 오른쪽에서 옵션(작은 기어 모양 아이콘)을 클릭합니다. Persist logs(로그 유지)를 선택합니다.
-
문제를 재현합니다.
-
(선택 사항) Web Developer Tools(웹 개발자 도구) Network(네트워크) 로그 창에 Method(메서드) 열이 보이지 않는 경우 아무 열 레이블에서 마우스 오른쪽 버튼으로 클릭하고 Method(메서드)를 선택하여 열을 추가할 수 있습니다.
-
테이블에서 POST SAML을 확인합니다. 해당 행을 선택한 다음 Request(요청) 탭을 보고 SAMLResponse 요소를 찾습니다. 연결된 값은 Base64 인코딩 응답입니다.
Apple Safari
Safari에서 SAML 응답을 보려면
이 단계는 Apple Safari 버전 16.0(17614.1.25.9.10, 17614)을 사용하여 테스트되었습니다. 다른 버전을 사용할 경우 그에 맞게 단계를 적용해야 할 수 있습니다.
-
Safari에서 Web Inspector를 사용하도록 설정합니다. 기본 설정 창을 열고 고급 탭을 선택한 후 메뉴 표시줄에 Develop 메뉴 표시(Show Develop menu in the menu bar)를 선택합니다.
-
이제 Web Inspector를 열 수 있습니다. 메뉴 막대에서 Develop(개발)을 선택한 다음 Show Web Inspector(Web Inspector 표시)를 선택합니다.
-
네트워크 탭을 선택합니다.
-
Web Inspector 창의 왼쪽 상단에서 옵션(세 개의 수평선이 포함된 작은 원형 아이콘)을 선택합니다. Preserve Log(로그 보존)을 선택합니다.
-
(선택 사항) Web Inspector Network(네트워크) 로그 창에 Method(메서드) 열이 보이지 않는 경우 아무 열 레이블에서 마우스 오른쪽 버튼으로 클릭하고 Method(메서드)를 선택하여 열을 추가할 수 있습니다.
-
문제를 재현합니다.
-
테이블에서 POST SAML을 확인합니다. 해당 행을 선택하고 헤더(Headers) 탭을 봅니다.
-
인코딩된 요청을 포함하는 SAMLResponse 요소를 확인합니다. 아래로 스크롤하여
Request Data
라는SAMLResponse
를 확인합니다. 연결된 값은 Base64 인코딩 응답입니다.
Base64 인코딩 SAML 응답에 대해 해야 할 작업
브라우저에서 Base64 인코딩 SAML 응답 요소를 확인했으면 복사한 후 Base-64 디코딩 도구에서 사용하여 XML 태그 응답을 추출합니다.
보안 팁
표시되는 SAML 응답 데이터에는 중요한 보안 데이터가 포함되어 있을 수 있으므로 온라인 base64 디코더를 사용하지 않을 것을 권장합니다. 대신 로컬 컴퓨터에 설치된 도구를 사용하십시오. 로컬 컴퓨터에 설치된 도구는 네트워크를 통해 SAML 데이터를 전송하지 않습니다.
Windows 시스템용 내장 옵션(PowerShell):
PS C:\>
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("base64encodedtext
"))
MacOS 및 Linux 시스템용 내장 옵션:
$
echo "base64encodedtext
" | base64 --decode
디코딩된 파일의 값 검토
디코딩된 SAML 응답 파일의 값을 검토합니다.
-
saml:NameID 속성 값이 인증된 사용자의 사용자 이름과 일치하는지 확인합니다.
-
https://aws.amazon.com/SAML/Attributes/Role 값을 검토합니다. ARN과 SAML 공급자는 대소문자를 구분하며 ARN은 계정의 리소스와 일치해야 합니다.
-
https://aws.amazon.com/SAML/Attributes/RoleSessionName 값을 검토합니다. 값은 클레임 규칙에 있는 값과 일치해야 합니다.
-
이메일 주소 또는 계정 이름의 속성 값을 구성하는 경우 값이 올바른지 확인합니다. 값은 인증된 사용자의 이메일 주소 또는 계정 이름과 일치해야 합니다.
오류 확인 및 구성 확인
값에 오류가 있는지 확인하고 다음 구성이 올바른지 확인합니다.
-
클레임 규칙이 필수 요소를 충족하고 모든 ARN이 정확합니다. 자세한 내용은 신뢰 당사자 신뢰 및 클레임 추가를 통해 SAML 2.0 IdP 구성 단원을 참조하십시오.
-
SAML 공급자에서 IdP의 최신 메타데이터 파일을 AWS에 업로드했습니다. 자세한 내용은 SAML 2.0 페더레이션 사용자가 AWS Management Console에 액세스할 수 있게 하기 단원을 참조하십시오.
-
IAM 역할의 신뢰 정책을 올바르게 구성했습니다. 자세한 내용은 역할 수임 방법 단원을 참조하십시오.