OAM 및 SP의 인증 레벨에 통합 인증 방법 매핑
이 문서에서는 OAM/SP를 살펴보고 런타임 시 원격 IdP 파트너가 사용할 특정 페더레이션 인증 방법을 요청하도록 설정하여 사용자에게 도전하는 방법을 설명합니다.
인증 레벨
OAM은 인증 체계에서 인증 레벨의 개념을 정의합니다. 특정 체계의 강도 레벨을 OAM에 숫자(1, 2, 3...)로 나타내며, 이미 인증된 사용자가 보호된 리소스에 액세스하려고 시도할 때 런타임 시 사용됩니다.
인증 체계를 통해 OAM에 의해 유저가 인증되면 OAM은 해당 유저에 대한 세션을 생성하고 세션에 저장합니다.
-
사용자 인증에 사용되는 인증 체계 이름입니다.
-
인증 작업에 사용되는 인증 레벨
사용자가 보호된 리소스에 액세스하려고 시도하면 OAM은 다음을 수행합니다.
-
사용자의 세션이 시간 초과되지 않았는지 확인합니다.
-
OAM 정책 저장소에서 리소스 찾기 리소스를 보호하는 인증 정책 결정
-
이 인증 정책에 사용되는 인증 체계를 결정합니다.
-
이 인증 체계에 대한 인증 레벨을 가져옵니다.
-
인증 레벨을 이전 인증 작업 중 사용자 세션을 생성하는 데 사용된 인증 레벨과 비교합니다.
-
세션의 인증 레벨이 현재 보호된 리소스의 레벨보다 높거나 같으면 OAM이 사용자에게 액세스 권한을 부여합니다.
-
그렇지 않으면 OAM이 사용자에게 리소스의 인증 체계를 요청합니다.
통합 인증 방법
SAML 2.0/SAML 1.1/OpenID 2.0에 대한 IdP/OP에서 발행한 통합 SSO 응답 메시지에는 IdP에서 사용자가 인증된 방식을 나타내는 통합 인증 방법이 포함되어 있습니다.
기본적으로 OAM/SP가 SSO 응답을 사용할 때 세션의 인증 레벨이 인증 체계의 인증 레벨로 설정된 OAM 세션이 생성됩니다. 이는 다소 정적이며 사용자가 IdP에서 시도한 방식을 무시합니다.
SSO 응답에 포함된 통합 인증 방법은 사용자가 IdP에서 식별된 방법을 나타내며, 때때로 통합 인증 체계에 포함된 레벨에 의존하지 않고 해당 정보를 기반으로 OAM 세션의 인증 레벨을 지정하는 것이 좋습니다.
페더레이션 SSO 응답을 소비할 때 OAM/SP는 사용자 정의 인증 레벨에 대한 응답에 포함된 페더레이션 인증 방법의 동적 매핑을 허용합니다. 그러면 IdP에서 사용자가 인증된 방식을 반영하는 레벨로 OAM 세션이 생성됩니다.
WLST 명령
특정 통합 인증 방법을 인증 레벨에 매핑하도록 OAM/SP를 구성할 수 있습니다.
-
이 프로필에 바인딩된 모든 IdP 파트너에게 적용되는 IdP 파트너 프로필
-
이 경우 이 파트너에만 적용되는 IdP 파트너
사용할 수 있는 OAM WLST 명령은 다음과 같습니다.
-
addIdPPartnerProfileAuthnMethod()
- 특정 IdP 파트너 프로파일의 지정된 통합 인증 방법을 지정된 레벨에 매핑합니다. 다음 매개변수를 사용할 수 있습니다.-
partnerProfile
: IdP 파트너 프로파일의 이름 -
authnMethod
: 매핑할 통합 인증 방법 -
authnLevel
: 통합 인증 방법에 매핑할 레벨입니다.
-
-
addIdPPartnerAuthnMethod()
- 지정된 통합 인증 방법을 지정된 레벨에 매핑하도록 지정된 IdP 파트너 항목을 구성합니다. 다음 매개변수를 사용할 수 있습니다.-
partner
: IdP 파트너의 이름 -
authnMethod
: 매핑할 통합 인증 방법 -
authnLevel
: 통합 인증 방법에 매핑할 레벨입니다.
-
테스트
설정
이 설정에서 OAM은 SP 역할을 하며 AcmeIdP
으로 식별된 원격 SAML 2.0 IdP 파트너와 통합되어 있습니다.
-
기본적으로 OAM/SP는 통합 인증 방식을 요청하도록 구성되지 않았습니다.
-
OAM/SP에는 다음 두 리소스가 존재하며 WebGate로 보호됩니다.
-
Resource1는 레벨 2로 설정된 FederationScheme를 통해 보호됩니다.
-
Resource2는 레벨 3으로 설정된 LDAPScheme를 통해 보호됩니다.
-
원격 IdP은 다음 통합 인증 방법을 지원합니다.
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
(IdP 아웃오브밴드로 표시된 기본 방법) -
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
다음 테스트에서는 OAM/SP가 구성된 페더레이션 SSO를 수행하여 두 리소스에 모두 액세스합니다.
-
IdP로 페더레이션 SSO를 수행하여 사용자 이름/비밀번호를 통해 사용자에게 시도
-
X.509
인증서를 통해 사용자에게 인증하는 IdP로 통합 SSO 수행 -
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
를 레벨 3에 매핑하도록 OAM/SP 구성 -
IdP로 페더레이션 SSO를 수행하여 사용자 이름/비밀번호를 통해 사용자에게 시도
-
X.509
인증서를 통해 사용자에게 인증하는 IdP로 통합 SSO 수행
사용자 이름/비밀번호를 사용하는 SSO
IdP는 기본 인증 방식을 사용하여 사용자에게 도전합니다(이 경우 urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
에 매핑된 방식 사용). SAML 2.0 SSO 응답은 다음과 유사합니다.
<samlp:Response ...>
<saml:Issuer ...>hTps://acmeidp.com</saml:Issuer>
<samlp:Status>
<samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ...>
<saml:Issuer
...>hTps://acmeidp.com</saml:Issuer>
<dsig:Signature>
...
</dsig:Signature>
<saml:Subject>
<saml:NameID
...>bob@oracle.com</saml:NameID>
<saml:SubjectCon=rmation
Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectCon=rmationData .../>
</saml:SubjectCon=rmation>
</saml:Subject>
<saml:Conditions ...>
<saml:AudienceRestriction>
<saml:Audience>hTps://sp.com</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement
AuthnInstant="2014-03-21T20:53:55Z"
SessionIndex="id-6i-Dm0yBHekG6cejktwcKIFMzYE8Yrmqwfd0azz"
SessionNotOnOrAfter="2014-03-21T21:53:55Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
에 대한 매핑이 존재하지 않기 때문에 OAM/SP가 SAML 2.0 검증을 사용하고 인증 레벨이 FederationScheme의 인증 레벨(2)로 설정된 OAM 세션을 생성한 후
-
Resource1에 액세스할 때 OAM 세션의 레벨이 해당 리소스를 보호하는 체계의 레벨과 동일한 2이므로 액세스 권한이 부여됩니다(2).
-
Resource2에 액세스할 때 OAM 세션의 레벨이 해당 리소스를 보호하는 체계의 레벨보다 낮은 2이므로 OAM이 LDAPScheme를 통해 사용자에게 도전합니다(3).
X.509 인증서를 사용하는 SSO
IdP는 사용자 X.509 인증서(urn:oasis:names:tc:SAML:2.0:ac:classes:X509
에 매핑됨)를 인증합니다.
SAML 2.0 SSO 응답은 다음과 유사합니다.
<samlp:Response ...>
<saml:Issuer ...>hTps://acmeidp.com</saml:Issuer>
<samlp:Status>
<samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ...>
<saml:Issuer
...>hTps://acmeidp.com</saml:Issuer>
<dsig:Signature>
...
</dsig:Signature>
<saml:Subject>
<saml:NameID
...>bob@oracle.com</saml:NameID>
<saml:SubjectCon=rmation
Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectCon=rmationData .../>
</saml:SubjectCon=rmation>
</saml:Subject>
<saml:Conditions ...>
<saml:AudienceRestriction>
<saml:Audience>hTps://sp.com</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement
AuthnInstant="2014-03-21T20:53:55Z"
SessionIndex="id-6i-Dm0yBHekG6cejktwcKIFMzYE8Yrmqwfd0azz"
SessionNotOnOrAfter="2014-03-21T21:53:55Z"> <saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
에 대한 매핑이 존재하지 않기 때문에 OAM/SP가 SAML 2.0 검증을 사용하고 인증 레벨이 FederationScheme의 인증 레벨(2)로 설정된 OAM 세션을 생성한 후
-
Resource1에 액세스할 때 OAM 세션의 레벨이 해당 리소스를 보호하는 체계의 레벨과 동일한 2이므로 액세스 권한이 부여됩니다(2).
-
Resource2에 액세스할 때 OAM 세션의 레벨이 해당 리소스를 보호하는 체계의 레벨보다 낮은 2이므로 OAM이 LDAPScheme를 통해 사용자에게 도전합니다(3).
X.509 Fed Authn 방법을 레벨 3에 매핑
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
을 인증 레벨 3에 매핑하도록 OAM/SP를 구성하려면 addIdPPartnerAuthnMethod()
를 사용하여 IdP 파트너를 구성합니다.
-
$IAM_ORACLE_HOME/common/bin/wlst.sh
를 실행하여 WLST 환경을 입력합니다. -
WLS 관리 서버에 접속:
connect()
-
도메인 런타임 분기로 이동합니다.
domainRuntime()
-
addIdPPartnerAuthnMethod()
명령을 실행합니다.addIdPPartnerAuthnMethod("AcmeIdP", "3")
-
WLST 환경을 종료합니다.
exit()
사용자 이름/비밀번호를 사용하는 SSO
IdP는 기본 인증 방식을 사용하여 사용자에게 도전합니다(이 경우 urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
에 매핑된 방식 사용).
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
에 대한 매핑이 존재하지 않기 때문에 OAM/SP가 SAML 2.0 검증을 사용하고 인증 레벨이 FederationScheme의 인증 레벨(2)로 설정된 OAM 세션을 생성한 후
-
Resource1에 액세스할 때 OAM 세션의 레벨이 해당 리소스를 보호하는 체계의 레벨과 동일한 2이므로 액세스 권한이 부여됩니다(2).
-
Resource2에 액세스할 때 OAM 세션의 레벨이 해당 리소스를 보호하는 체계의 레벨보다 낮은 2이므로 OAM이 LDAPScheme를 통해 사용자에게 도전합니다(3).
X.509 인증서를 사용하는 SSO
IdP는 사용자 X.509 인증서(urn:oasis:names:tc:SAML:2.0:ac:classes:X509
에 매핑됨)를 인증합니다.
OAM/SP가 SAML 2.0 검증을 사용하고 urn:oasis:names:tc:SAML:2.0:ac:classes:X509
에 대한 매핑이 존재하므로 인증 레벨이 3으로 설정된 OAM 세션을 생성합니다.
-
Resource1에 액세스할 때 OAM 세션의 레벨이 해당 리소스를 보호하는 체계의 레벨보다 높은 3이므로 액세스 권한이 부여됩니다(2).
-
Resource2에 액세스할 때 OAM 세션의 레벨이 해당 리소스를 보호하는 체계의 레벨과 동일한 3이므로 액세스 권한이 부여됩니다(3).
추가 학습 자원
docs.oracle.com/learn의 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 접근할 수 있습니다. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer로 전환할 수 있습니다.
제품 설명서는 Oracle Help Center를 참조하십시오.
Mapping Fed Authn Methods to Authn Levels in OAM and SP
F61371-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.