AuthnRequest OAM 및 SP의 설정

이 문서에서는 통합 SSO 플로우의 OAM에서 AuthnRequest 메시지가 생성되는 방법에 영향을 주는 다양한 OAM/SP 설정을 나열합니다. AuthnRequest 메시지는 SP에서 통합 SSO 작업을 시작하고 IdP에 작업 실행 방법을 나타내는 데 사용됩니다.

프로토콜

SAML 2.0, SAML 1.1 및 OpenID 2.0 프로토콜은 SP가 SSO 작업을 트리거할 때 관리자가 서로 다른 방식으로 통합 SSO 플로우에 영향을 줄 수 있는 여러 메시지 요소 및 규칙을 정의합니다.

SAML 2.0

OAM/SP에서는 다음 요소에 대해 SAML 2.0 AuthnRequest 메시지를 사용자가 정의할 수 있습니다.

ForceAuthn:

IsPassive

RequestedAuthnContext

NameIDPolicy

ProtocolBinding

OAM/SP에서는 관리자가 다음을 수행하도록 서버를 구성할 수도 있습니다.

SAML 1.1

SAML 1.1 사양은 통합 SSO 작업이 시작될 때 SP가 IdP로 전송할 메시지를 정의하지 않습니다. 따라서 통합 SSO 플로우 시작에 영향을 주는 방법에 대해서는 OAM/SP를 구성할 수 없습니다.

OpenID 2.0

OpenID 2.0은 SP/RP에서 통합 SSO 작업이 수행되는 방법에 영향을 주는 데 사용할 수 있는 여러 확장을 정의합니다.

OpenID 요청:

PAPE 확장:

preferred_auth_policies

UI 확장

언어 환경설정

아이콘:

ForceAuthn 및 IsPassive

WLST 명령

OAM/SP는 WLST configureIdPAuthnRequest() 명령을 제공하여 다음을 설정합니다.

부울 ForceAuthn:

부울 IsPassive:

테스트

이 테스트에서 OAM/SP는 OOTB 구성과 함께 원격 SAML 2.0 IdP 파트너와 통합되어 있습니다. 이 설정에 따라 OAM/SP가 통합 SSO 플로우를 시작할 때 다음 SAML 2.0 AuthnRequest가 생성됩니다.

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>

해당 IdP 파트너에 대해 OAM/SP를 구성해 보겠습니다. 그러면 사용자가 이미 인증된 경우에도 SP에서 IdP가 사용자를 다시 도전해야 합니다.

  1. 다음을 실행하여 WLST 환경을 입력합니다.$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. WLS 관리 서버에 접속: connect()
  3. 도메인 런타임 분기로 이동합니다. domainRuntime()
  4. configureIdPAuthnRequest() 명령을 실행합니다. configureIdPAuthnRequest(partner="AcmeIdP", forceAuthn="true")
  5. WLST 환경을 종료합니다. exit()

변경 후 다음 SAML 2.0 AuthnRequest이 생성됩니다.

<samlp:AuthnRequest ForceAuthn="true" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP- POST" ID="id- E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4" Version="2.0" IssueInstant="2014-04-01T21:39:14Z" Destination="https://acme.com/saml20/sso">
   <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com/oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>

ForceAuthn/IsPassive 설정을 표시하거나 삭제하려면 다음 작업을 수행합니다.

  1. $IAM_ORACLE_HOME/common/bin/wlst.sh를 실행하여 WLST 환경을 입력합니다.
  2. WLS 관리 서버에 접속: connect()
  3. 도메인 런타임 분기로 이동합니다. domainRuntime()
  4. configureIdPAuthnRequest() 명령을 실행하여 파트너 configureIdPAuthnRequest(partner="AcmeIdP", displayOnly="true")의 ForceAuthn/IsPassive 설정을 표시합니다.
  5. 파트너 configureIdPAuthnRequest(partner="AcmeIdP", delete="true")에서 ForceAuthn/IsPassive 설정을 삭제하려면
  6. WLST 환경을 종료합니다. exit()

요청된 연방 승인 방법

"Fed Authentication Method Requests in OAM / SP" 문서에서는 SSO 요청 메시지에 요소를 설정하여 페더레이션 SSO 작업을 시작할 때 IdP에서 특정 페더레이션 인증 방법을 요청하도록 OAM/SP를 구성하는 방법에 대해 설명했습니다.

WLST 명령

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

이는 SAML 2.0 및 OpenID 2.0 프로토콜에 적용됩니다. 자세한 내용은 "Fed Authentication Method Requests in OAM / SP" 문서를 참조하십시오.

테스트

이 테스트에서 OAM/SP는 OOTB 구성과 함께 원격 SAML 2.0 IdP 파트너와 통합되어 있습니다. 이 설정에 따라 OAM/SP가 통합 SSO 플로우를 시작할 때 다음 SAML 2.0 AuthnRequest가 생성됩니다.

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>

해당 IdP 파트너에 대해 OAM/SP를 구성하여 SP가 urn:oasis:names:tc:SAML:2.0:ac:classes:X509 통합 인증 방법에 매핑된 방식을 사용하여 사용자를 인증하도록 IdP에 요청합니다.

  1. $IAM_ORACLE_HOME/common/bin/wlst.sh를 실행하여 WLST 환경을 입력합니다.
  2. WLS 관리 서버에 접속: connect()
  3. 도메인 런타임 분기로 이동합니다. domainRuntime()
  4. setIdPPartnerRequestAuthnMethod() 명령을 실행합니다. setIdPPartnerRequestAuthnMethod("AcmeIdP", "urn:oasis:names:tc:SAML:2.0:ac:classes:X509")
  5. WLST 환경을 종료합니다. exit()

변경 후 다음 SAML 2.0 AuthnRequest이 생성됩니다.

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com /oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/>
   <samlp:RequestedAuthnContext
Comparison="minimum">
      <saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
         urn:oasis:names:tc:SAML:2.0:ac:classes:X509
      </saml:AuthnContextClassRef>
   </samlp:RequestedAuthnContext> </samlp:AuthnRequest>

NameID 형식

SAML 2.0 프로토콜을 사용하면 IdP에서 검증을 실행할 때 사용할 특정 NameID 형식을 SP가 IdP에서 요청할 수 있습니다.

: SAML 1.1 및 OpenID 2.0은 이러한 방식을 제공하지 않습니다.

OAM 구성

관리자는 다음을 통해 SAML 2.0 AuthnRequest에서 NameID 형식을 요청하도록 OAM/SP를 구성할 수 있습니다.

OAM 관리 콘솔

OAM 관리 콘솔을 통해 요청된 NameID 형식을 구성하려면 다음 단계를 수행합니다.

  1. OAM 관리 콘솔(http(s)://oam-admin-host:oam-adminport/oamconsole)로 이동합니다.
  2. Identity Federation, 서비스 제공자 관리로 이동합니다.
  3. 수정할 IdP 파트너를 엽니다.
  4. 다음 값 중 하나가 포함된 Authentication Request NameID Format 드롭다운 상자에서
    • None: NameID 형식이 기본값으로 설정됩니다.
    • Email Address: NameID 형식은 urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress로 설정됩니다.
    • X.509 Subject: NameID 형식은 urn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectName로 설정됩니다.
    • Windows Name Qualifier: NameID 형식은 urn:oasis:names:tc:SAML:1.1:nameidformat:WindowsDomainQualifiedName로 설정됩니다.
    • Kerberos: NameID 형식은 urn:oasis:names:tc:SAML:2.0:nameidformat:kerberos로 설정됩니다.
    • Transient: NameID 형식은 urn:oasis:names:tc:SAML:2.0:nameidformat:transient로 설정됩니다.
    • Unspecified: NameID 형식은 urn:oasis:names:tc:SAML:1.1:nameidformat:unspecified로 설정됩니다.
    • Custom: 이 경우 관리자가 사용자 정의 NameID 형식을 사용하도록 지정할 수 있는 필드가 나타납니다. NameID 형식은 지정된 형식으로 설정됩니다.
    • 이 예제의 Persistent: The NameID format will be set urn:oasis:names:tc:SAML:2.0:nameidformat:persistent we selected Email Address`
  5. 저장을 누릅니다.

그림 OAM_Administration_Console.jpg 설명

그림 OAM 관리 설명 Console.jpg

WLST 명령

OAM WLST setIdPPartnerNameIDFormat() 명령을 통해 요청된 NameID 형식을 구성하려면 다음 단계를 수행합니다.

  1. $IAM_ORACLE_HOME/common/bin/wlst.sh를 실행하여 WLST 환경을 입력합니다.
  2. WLS 관리 서버에 접속: connect()
  3. 도메인 런타임 분기로 이동합니다. domainRuntime()
  4. setIdPPartnerNameIDFormat() 명령을 실행합니다. setIdPPartnerNameIDFormat("PARTNER", "FORMAT", customFormat="CUSTOM")
    • 파트너를 IdP 파트너 이름으로 대체
    • FORMAT를 다음 중 하나로 바꿉니다.
    • orafed-none: NameID 형식이 기본값으로 설정됩니다.
    • orafed-emailaddress: NameID 형식은 urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress로 설정됩니다.
    • orafed-x509: NameID 형식은 urn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectName로 설정됩니다.
    • orafed-windowsnamequalifier: NameID 형식은 urn:oasis:names:tc:SAML:1.1:nameidformat:WindowsDomainQualifiedName로 설정됩니다.
    • orafed-kerberos: NameID 형식은 urn:oasis:names:tc:SAML:2.0:nameidformat:Kerberos로 설정됩니다.
    • orafed-transient: NameID 형식은 urn:oasis:names:tc:SAML:2.0:nameidformat:transient로 설정됩니다.
    • orafed-unspecified: NameID 형식은 urn:oasis:names:tc:SAML:1.1:nameidformat:unspecified로 설정됩니다.
    • orafed-custom: 이 경우 관리자가 사용할 사용자 정의 NameID 형식을 지정할 수 있는 필드가 나타납니다. NameID 형식은 지정된 형식으로 설정됩니다.
      • orafed-persistent: NameID 형식은 urn:oasis:names:tc:SAML:2.0:nameidformat:persistent로 설정됩니다.
      • FORMAT가 orafed-custom로 설정된 경우 customFormat를 설정해야 합니다. 예: setIdPPartnerNameIDFormat("AcmeIdP", "orafed-emailaddress")
  5. WLST 환경을 종료합니다. exit()

테스트

이 테스트에서 OAM/SP는 OOTB 구성과 함께 원격 SAML 2.0 IdP 파트너와 통합되어 있습니다. 이 설정에 따라 OAM/SP가 통합 SSO 플로우를 시작할 때 다음 SAML 2.0 AuthnRequest가 생성됩니다.

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"/>
</samlp:AuthnRequest>

OAM 관리 콘솔 또는 OAM WLST setIdPPartnerNameIDFormat() 명령을 통해 변경이 수행된 후 전자메일 주소가 NameID 형식으로 요청되면 다음 SAML 2.0 AuthnRequest가 생성됩니다.

<samlp:AuthnRequest ForceAuthn="false"
IsPassive="false"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
<samlp:NameIDPolicy
Format="urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress" AllowCreate="true"/> </samlp:AuthnRequest>

프로토콜 바인딩

SAML 2.0 사양은 IdP에서 SAML 2.0 검증을 사용하여 사용자를 SP로 재지정하는 데 사용해야 하는 바인딩을 SP가 요청하는 방법을 정의합니다. ProtocolBinding 속성은 IdP에서 사용해야 하는 바인딩을 나타냅니다. 다음과 같이 설정됩니다.

또한 SAML 2.0 사양은 SP에서 메시지를 보낼 수 있으므로 SAML 2.0 AuthnRequest 메시지를 사용하여 사용자를 SP에서 IdP로 재지정하는 다양한 방법을 정의합니다.

OAM 구성

OAM은 다음과 같이 구성할 수 있습니다.

: SAML 2.0 AuthnRequest 메시지 전송에 대한 바인딩은 SAML 2.0 LogoutRequestLogoutResponse 메시지 전송에도 사용됩니다.

OAM 관리 콘솔

OAM 관리 콘솔을 통해 SSO 응답/검증 바인딩을 구성하려면 다음 단계를 수행합니다.

  1. OAM 관리 콘솔(http(s)://oam-admin-host:oam-adminport/oamconsole)로 이동합니다.
  2. Identity Federation, Service Provider Administration으로 이동합니다.
  3. 수정할 IdP 파트너를 엽니다.
  4. HTTP POST를 통해 SSO 응답을 반환하도록 IdP에 요청하려면 "HTTP POST SSO 응답 바인딩" 상자를 선택하고, 그렇지 않으면 아티팩트를 요청하도록 선택을 취소합니다.
  5. 저장을 누릅니다.

그림 SSO_Response_Assertion_Configuration.jpg 설명

WLST 명령

OAM WLST configureSAMLBinding() 명령을 통한 AuthnRequest 바인딩과 SSO 응답/검증 바인딩을 구성하려면 다음 단계를 수행합니다.

  1. $IAM_ORACLE_HOME/common/bin/wlst.sh를 실행하여 WLST 환경을 입력합니다.
  2. WLS 관리 서버에 접속: connect()
  3. 도메인 런타임 분기로 이동합니다. domainRuntime()
  4. configureSAMLBinding() 명령을 실행합니다. configureSAMLBinding("PARTNER", "PARTNER_TYPE", binding, ssoResponseBinding="httppost")
  5. PARTNER를 파트너 이름으로 바꿉니다.
  6. PARTNER_TYPE를 파트너 유형(idp 또는 sp)으로 바꿉니다.
  7. AuthnRequest 및 LogoutRequest/LogoutResponse 메시지를 전송하는 데 사용할 바인딩으로 바인딩을 바꿉니다(대부분의 경우 httpredirect여야 함, 기본값).
  8. SSO 검증을 다시 전송하는 방법을 나타내려면 선택적으로 ssoResponseBinding을 지정합니다.
  9. WLST 환경을 종료합니다. exit()

테스트

이 테스트에서 OAM/SP는 SSO 검증을 전송하기 위해 IdP에서 HTTP-POST를 요청하는 OOTB 구성과 함께 원격 SAML 2.0 IdP 파트너와 통합됩니다. 이 설정에 따라 OAM/SP가 통합 SSO 플로우를 시작할 때 다음 SAML 2.0 AuthnRequest가 생성됩니다.

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>

추가 학습 자원

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

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