OAM 및 SP의 인증 레벨에 통합 인증 방법 매핑

이 문서에서는 OAM/SP를 살펴보고 런타임 시 원격 IdP 파트너가 사용할 특정 페더레이션 인증 방법을 요청하도록 설정하여 사용자에게 도전하는 방법을 설명합니다.

인증 레벨

OAM은 인증 체계에서 인증 레벨의 개념을 정의합니다. 특정 체계의 강도 레벨을 OAM에 숫자(1, 2, 3...)로 나타내며, 이미 인증된 사용자가 보호된 리소스에 액세스하려고 시도할 때 런타임 시 사용됩니다.

인증 체계를 통해 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를 구성할 수 있습니다.

사용할 수 있는 OAM WLST 명령은 다음과 같습니다.

테스트

설정

이 설정에서 OAM은 SP 역할을 하며 AcmeIdP으로 식별된 원격 SAML 2.0 IdP 파트너와 통합되어 있습니다.

다음 테스트에서는 OAM/SP가 구성된 페더레이션 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 세션을 생성한 후

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 세션을 생성한 후

X.509 Fed Authn 방법을 레벨 3에 매핑

urn:oasis:names:tc:SAML:2.0:ac:classes:X509을 인증 레벨 3에 매핑하도록 OAM/SP를 구성하려면 addIdPPartnerAuthnMethod()를 사용하여 IdP 파트너를 구성합니다.

  1. $IAM_ORACLE_HOME/common/bin/wlst.sh를 실행하여 WLST 환경을 입력합니다.

  2. WLS 관리 서버에 접속: connect()

  3. 도메인 런타임 분기로 이동합니다. domainRuntime()

  4. addIdPPartnerAuthnMethod() 명령을 실행합니다. addIdPPartnerAuthnMethod("AcmeIdP", "3")

  5. 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 세션을 생성한 후

  1. Resource1에 액세스할 때 OAM 세션의 레벨이 해당 리소스를 보호하는 체계의 레벨과 동일한 2이므로 액세스 권한이 부여됩니다(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 세션을 생성합니다.

추가 학습 자원

docs.oracle.com/learn의 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 접근할 수 있습니다. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer로 전환할 수 있습니다.

제품 설명서는 Oracle Help Center를 참조하십시오.