SAML로 싱글 사인온 (SSO)을 설정하세요
최소한의 구성만으로, 이 커넥터를 통해 어떤 SAML 기반 아이덴티티 제공자 (IdP)와도 통합할 수 있습니다.
SSO 및 Logto에서 SSO를 구성하는 방법에 대한 자세한 정보는 엔터프라이즈 SSO (SAML & OIDC) 문서를 참조하여 시작하세요.
1단계: IdP에서 SAML SSO 애플리케이션 생성하기
IdP 측에서 애플리케이션을 생성하여 SAML SSO 통합을 시작하세요. Logto에서 다음 설정을 얻어 서비스 제공자 (SP)를 나타내세요:
- 대상 URI (SP 엔터티 ID): 이는 Logto 서비스의 전역적으로 고유한 식별자로, IdP에 대한 인증 요청 시 SP의 EntityId로 작동합니다. 이 식별자는 IdP와 Logto 간의 SAML 어설션 및 기타 인증 관련 데이터의 안전한 교환에 필수적입니다.
- ACS URL: Assertion Consumer Service (ACS) URL은 SAML 어설션이 POST 요청과 함께 전송되는 위치입니다. 이 URL은 IdP가 SAML 어설션을 Logto로 보내는 데 사용됩니다. 이는 Logto가 사용자의 아이덴티티 정보를 포함한 SAML 응답을 수신하고 소비할 것으로 기대하는 콜백 URL로 작동합니다.
IdP SAML 애플리케이션에 대상 URI 및 ACS URL 설정을 입력하고 IdP에서 다음 설정을 계속해서 가져오세요.
2단계: Logto에서 SAML SSO 구성하기
SAML SSO 통합을 작동시키려면, IdP 메타데이터를 Logto에 제공해야 합니다. IdP 메타데이터는 Logto가 IdP와 신뢰를 구축하는 데 필요한 모든 정보를 포함하는 XML 문서입니다.
Connection 탭으로 이동하세요. Logto는 IdP 메타데이터를 구성하는 세 가지 방법을 제공합니다:
- 메타데이터 URL: IdP 메타데이터 XML 문서의 URL을 제공합니다. Logto는 URL에서 메타데이터를 가져와 SAML SSO 통합을 자동으로 구성합니다.
- 메타데이터 업로드: IdP 메타데이터 XML 문서를 업로드합니다. Logto는 XML 문서를 파싱하여 SAML SSO 통합을 자동으로 구성합니다.
- 수동 구성: IdP 메타데이터를 수동으로 구성합니다.
- IdP 엔티티 ID: IdP의 엔티티 ID.
- 싱글 사인온 (SSO) URL: IdP 싱글 사인온 서비스의 URL.
- 서명 인증서: IdP로부터의 SAML 응답의 서명을 검증하는 데 사용되는 x509 인증서.
위의 구성 중 하나를 사용하면, Logto는 IdP 메타데이터를 파싱하고 SAML SSO 통합을 적절히 구성합니다.
3단계: 사용자 속성 매핑 구성하기
IdP에서 반환되는 사용자 속성은 IdP 구성에 따라 다를 수 있습니다. Logto는 IdP에서 반환된 사용자 속성을 Logto의 사용자 속성에 매핑하는 유연한 방법을 제공합니다. SAML SSO 통합 경험 탭에서 사용자 속성 매핑을 구성할 수 있습니다.
- id: 사용자의 고유 식별자입니다. Logto는 SAML 응답에서
nameId클레임을 읽어 사용자 SSO 아이덴티티 id로 사용합니다. - email: 사용자의 이메일 주소입니다.
- name: 사용자의 이름입니다.
4단계: 이메일 도메인 설정 및 SSO 커넥터 활성화하기
Logto의 커넥터 SSO 경험 탭에서 조직의 이메일 도메인을 제공하세요. 이렇게 하면 해당 사용자에게 SSO 커넥터가 인증 (Authentication) 방법으로 활성화됩니다.
지정된 도메인의 이메일 주소를 가진 사용자는 SAML SSO 커넥터를 유일한 인증 (Authentication) 방법으로 사용하도록 리디렉션됩니다.
선택 사항: SAML 인증 요청에 서명하기
기본적으로, Logto는 SAML 인증 요청 (AuthnRequests)을 서명하지 않은 상태로 전송합니다. 만약 아이덴티티 제공자 (IdP)에서 서명된 인증 요청을 요구한다면, Logto는 생성된 서비스 제공자 (SP) 인증서로 요청에 서명할 수 있습니다. 서명 여부는 전적으로 커넥터의 인증 요청 서명(Sign authentication request) 설정에 의해 제어됩니다 — Logto는 IdP 메타데이터의 WantAuthnRequestsSigned 플래그를 읽지 않습니다.
로그인 중단을 방지하려면 다음 순서로 설정하세요:
- 커넥터의
Connection탭에서 요청 서명 인증서(Request signing certificate) 섹션을 찾고 **새 키 생성(Generate new key)**을 클릭하세요. 첫 번째 키는 자동으로 활성화되며, 이후 생성된 키는 회전을 위해 비활성 상태로 대기합니다. - 활성 키의 인증서를 다운로드하여 IdP에 등록하세요.
- **인증 요청 서명(Sign authentication request)**을 활성화하고 저장하세요. 활성 서명 키가 필요하며, 없을 경우 저장이 거부됩니다.
- IdP에 서명된 요청을 요구하거나 검증하는 별도의 옵션이 있다면, 지금 활성화한 후 로그인 플로우를 테스트하세요.
양쪽 설정을 맞추세요. 인증서가 등록되기 전에 **인증 요청 서명(Sign authentication request)**을 활성화하거나, Logto가 서명하기 전에 IdP에서 검증을 요구하면, 다른 쪽이 따라잡을 때까지 이 연결을 통한 로그인이 중단됩니다. 요청 서명을 검증하지 않는 IdP는 서명을 무시합니다.
키 관리는 토글과 독립적으로 동작합니다:
- 최대 한 개의 키만 활성(Active) 상태이며, 활성 키가 모든 요청에 서명합니다. 키 작업(생성, 활성화, 비활성화, 삭제)은 즉시 반영됩니다.
- 다운타임 없이 인증서를 회전하려면: 새 키를 생성(비활성 상태로 대기), 해당 인증서를 IdP에 등록, 그리고 활성화하세요 — 이전 키는 자동으로 비활성화되며 이후 삭제할 수 있습니다.
- 활성 키는 삭제할 수 없으며, **인증 요청 서명(Sign authentication request)**이 활성화된 동안 비활성화할 수 없습니다 — 먼저 서명을 비활성화하세요.
- 토글을 끄면 모든 키가 유지되므로, 다시 활성화하면 동일한 인증서로 서명이 재개됩니다 — IdP 측에서 추가 작업이 필요하지 않습니다.
Logto는 기본적으로 RSA-SHA256으로 요청에 서명합니다. RSA-SHA512를 사용하려면, Logto Management API를 통해 커넥터 설정의 requestSignatureAlgorithm을 http://www.w3.org/2001/04/xmldsig-more#rsa-sha512로 설정하세요.