SAML 2.0 설정: 메타데이터 대 메타데이터 없음
이 문서에서는 URL, 인증서를 입력/복사/붙여넣기하여 수동으로 정보를 제공하고 입력하는 것과는 반대로 두 SAML 2.0 통합 서버 간에 신뢰를 설정할 때 SAML 2.0 메타 데이터를 사용할 때의 이점에 대해 다룹니다.
신뢰 구축
SAML 2.0 WebSSO
컨텍스트에서 보안 설정은 통합 SSO 작업을 수행할 수 있도록 SAML 2.0 ID 제공자 및 SAML 2.0 서비스 제공자를 구성하는 작업입니다.
신뢰 설정에는 다음 단계가 포함됩니다.
-
다음 정보를 사용하여 원격 서비스 제공자를 나타내는 SAML 2.0 ID 제공자에서 파트너 항목 생성
-
SP를 참조하는 고유 식별자인 SP의
EntityID
또는ProviderID
-
IdP가 SAML 검증으로 사용자를 재지정하는 검증 소비자 서비스 URL
-
각각 다른 URL과 다른 바인딩(예:
urn:oasis:names:tc:SAML:2.0:bindings:HTTPArtifact
,urn:oasis:names:tc:SAML:2.0:bindings:HTTPPOST
또는urn:oasis:names:tc:SAML:2.0:bindings:PAOS
)을 가질 수 있습니다. -
IdP가 SAML 2.0 로그아웃 교환 중 사용자를 재지정하는 로그아웃 서비스 URL
-
각각 다른 바인딩을 가질 수 있습니다(예:
urn:oasis:names:tc:SAML:2.0:bindings:HTTPRedirect
,urn:oasis:names:tc:SAML:2.0:bindings:HTTP- POST
). -
각 서비스에는
LogoutRequest
메시지와LogoutResponse
메시지를 수신할 서로 다른 URL이 있을 수 있습니다. -
송신 SAML 2.0 메시지에 서명하기 위해 SP에서 사용하는 전용 키에 해당하는 X.509 인증서(예:
AuthnRequest
) -
LogoutRequest/LogoutResponse
또는ArtifactResolve
메시지 -
SSO 응답 내의 검증/
NameID/Attribute
요소와 같이 원격 IdPs에 의해 암호화된 수신 SAML 2.0 메시지를 해독하기 위해 SP에서 사용하는 전용 키에 해당하는 X.509 인증서 -
다음 정보를 사용하여 원격 ID 제공자를 나타내는 SAML 2.0 서비스 제공자에 파트너 항목 생성
-
IdP를 참조하는 고유 식별자인 IdP의
EntityID
또는ProviderID
-
SP가 SAML
AuthnRequest
로 사용자를 재지정하는 Single Sign On 서비스 URL -
각각 다른 URL과 다른 바인딩(예:
urn:oasis:names:tc:SAML:2.0:bindings:HTTPRedirect
,urn:oasis:names:tc:SAML:2.0:bindings:HTTPPOST
또는urn:oasis:names:tc:SAML:2.0:bindings:SOAP
)을 가질 수 있습니다. -
SAML 2.0 로그아웃 교환 중 SP가 사용자를 재지정하는 로그아웃 서비스 URL
-
각각 다른 바인딩을 가질 수 있습니다(예:
urn:oasis:names:tc:SAML:2.0:bindings:HTTPRedirect
,urn:oasis:names:tc:SAML:2.0:bindings:HTTP- POST
). -
각 서비스에는
LogoutRequest
메시지와LogoutResponse
메시지를 수신할 서로 다른 URL이 있을 수 있습니다. -
IdP에서 발신 SAML 2.0 메시지에 서명하는 데 사용되는 전용 키에 해당하는 X.509 인증서(예: 검증,
LogoutRequest/LogoutResponse
또는ArtifactResponse
메시지) -
IdP에서 원격 SP에 의해 암호화된 수신 SAML 2.0 메시지를 해독하는 데 사용되는 개인 키에 해당하는 X.509 인증서(예: 로그아웃 요청 내 NameID 요소)
위에서는 통합 SSO 설정만 다룹니다. 페더레이션 파트너가 Attribute Authority 및 Attribute Requester와 같은 다른 서비스를 지원하는 경우 더 많은 서비스 URL과 인증서 정보를 교환해야 합니다.
수동 프로세스
보시다시피 페더레이션 서버 관리를 담당하는 관리자 간에 많은 정보가 교환될 수 있으며 사소한 오류로 인해 페더레이션 계약이 제대로 설정되지 않고 런타임 오류가 발생할 수 있습니다.
수동 신뢰 설정으로 인해 발생할 수 있는 오류는 다음과 같습니다.
-
잘못된 인증서가 사용됨
-
잘못된 서비스 URL/바인딩 조합입니다. 예를 들어, 아티팩트 바인딩에만 사용되는 검증 소비자 서비스 URL이 HTTP-POST 바인딩에 사용됩니다.
-
URL 입력
-
서비스 URL에 호스트 이름 잘못 지정: 통합 SSO 작업 중 쿠키가 사용되기 때문입니다. 사용자가 통합 서버에 액세스하는 데 사용하는 공용 끝점인 동일한 전체 호스트 이름을 사용하는 것이 일반적입니다. (IP 주소 또는 정규화되지 않은 호스트 이름으로 인해 오류가 발생함)
-
ProviderIDs
의 입력 -
URL 누락
이러한 오류의 결과는 다음과 같습니다.
-
잘못된 인증서를 사용할 경우 서명 확인 또는 암호 해독이 실패하고 서버에서 오류가 발생합니다.
-
인증서가 부적합함
-
실행된 기능에 대한 URL이 누락되었습니다(예: 로그아웃 URL 누락).
-
일치하지 않는 호스트 이름이 사용되었습니다(정규화된 호스트 이름 대 IP 주소 대 정규화되지 않은 호스트 이름). ProviderID를 알 수 없습니다. 오타로 인해 발생했습니다.
-
일관성 없는 호스트 이름 사용으로 인한 무한 루프
-
위에 나열된 오류는 사람들이 가정하는 것보다 더 많이 발생하며, 이는 페더레이션 SSO가 제대로 작동하지 않는 이유를 추적하는 데 소요되는 시간으로 이어집니다.
SAML 2.0 메타데이터 사용
SAML 2.0 사양은 원격 파트너와 통합 작업을 수행하기 위해 서버가 해당 항목에 대해 알아야 하는 모든 정보가 포함된 메타데이터 문서를 정의합니다.
다음과 같은 정보가 포함됩니다.
-
서비스 URL
-
서비스에 대한 SAML 바인딩
-
서명 및 암호화 작업을 위한 인증서
-
서명할 메시지(AuthnRequest, 검증)
-
통합 서버에서 지원되는 롤(IdP, SP, 속성 권한...)
SAML 2.0 메타데이터는 일반적으로 페더레이션 서버 자체에서 생성되며 파트너의 페더레이션 서버에서 사용됩니다. 따라서 이 문서를 만들고 소비하기 위한 수동 개입이 수행되지 않으므로 잠재적 오류 수가 줄어듭니다.
SAML 2.0 메타데이터를 사용하면 다음과 같은 이점이 있습니다.
-
모든 정보가 단일 문서에 포함되어 있습니다.
-
문서가 통합 서버에 의해 생성 및 사용됩니다(무단 변경을 방지하기 위해 서명이 사용될 수 있음).
-
정보가 생략되지 않습니다.
-
일관된 데이터(모든 URL에 사용되는 동일한 호스트 이름)
더 중요한 것은, 그것은 연방 신뢰 설립 동안 실수의 가능성을 줄여서 시간을 절약, 그래서 나중에 런타임 오류의 가능성이 더 적습니다.
추가 학습 자원
docs.oracle.com/learn의 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 접근할 수 있습니다. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer로 전환할 수 있습니다.
제품 설명서는 Oracle Help Center를 참조하십시오.
SAML 2.0 Setup Metadata vs No Metadata
F61884-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.