mod_auth_mellon 및 AWS SSO에서 SAML 인증

4151 단어 아파치SAMLSSOAWS
이 기사는 니프티 그룹 Advent Calendar 2020의 9 일째 기사입니다.

어제는 @mh326씨의 「 【VSCode】여러 개의 명령을 하나의 키로 실행하고 싶습니다. 」였습니다.
유용한 기능을 소개해 주셔서 감사합니다.
에디터나 IDE를 자신 취향에 커스터마이즈하는 것은 즐겁지요.

소개



올해 들어가서 원격 작업을 할 기회가 늘어났습니다.
지금까지 특정 장소에서의 이용이 전제가 되고 있던 웹 사이트나 툴에 SSO 할 수 있으면 편하다고 생각해, Apache의 SAML 모듈인 mod_auth_mellon과, AWS SSO를 IdP에 이용해 SAML 인증을 해 보았습니다.

SP측



환경



Apache를 설치한 AWS EC2 인스턴스(Amazon Linux2)를 ELB 아래에 배치하고,
SAML 인증을 지원하는 웹 사이트를 준비했습니다.

mod_auth_mellon



mod_auth_mellon을 사용해 보았습니다. 을 참고로 해,
위의 EC2 인스턴스에 mod_auth_mellon을 도입하여 SP 메타데이터를 만들었습니다.

IdP측



환경



도쿄 리전에서 AWS SSO를 활성화하고 테스트용 사용자를 만들었습니다.

AWS SSO



문서 을 참고해, 커스텀 SAML 2.0 어플리케이션을 작성해 갑니다.

사용자 지정 SAML 2.0 애플리케이션 추가를 선택합니다.


설정 화면에서 IdP 메타데이터를 다운로드합니다.


이전에 mod_auth_mellon으로 만든 SP 메타데이터를 업로드합니다.


속성 매핑에서 이미지와 같이 ${user:subject}를 입력하고 형식은 transient를 선택합니다.
( mod_auth_mellon의 기본 NameIDFormat이 transient와 같습니다. 에서 다른 형식을 선택하면 잘 작동하지 않았습니다.)


할당된 사용자에서 방금 만든 테스트 사용자를 애플리케이션에 할당합니다.


SP측



mod_auth_mellon을 사용해 보았습니다. 에 있는 순서대로,
AWS SSO에서 다운로드한 IdP 메타데이터를 EC2 인스턴스 내에 배치하고 Apache를 다시 시작했습니다.

동작 확인



SP Initiated



웹 사이트의 대상 경로에 액세스하면 AWS SSO 로그인 화면으로 리디렉션됩니다.


작성한 테스트용 사용자로 로그인하면 다시 웹사이트로 리디렉션되어 열람할 수 있었습니다.

IdP Initiated



AWS SSO 사용자 포털에 액세스하여 생성된 테스트용 사용자로 로그인하면,
AWS SSO에 설정한 사용자 지정 SAML 2.0 애플리케이션이 표시됩니다.


애플리케이션 아이콘을 클릭하면 웹사이트로 전환하여 탐색할 수 있습니다.

결론



mod_auth_mellon을 사용하면 꽤 쉽게 SAML 인증을 설정할 수있었습니다.
또한 AWS를 사용하는 경우 AWS SSO도 사용하기 쉽습니다.

자, 내일 담당은 동료의 @kiwi26씨입니다. 잘 부탁드립니다!

좋은 웹페이지 즐겨찾기