OAM 및 IdP에서 SAML 2.0 SP 파트너 생성
이 문서에서는 SAML 2.0 IdP로 작동하는 OAM과 원격 SAML 2.0 SP 파트너 간에 페더레이션 계약을 설정하기 위해 알아야 할 다양한 종류의 정보에 대해 설명합니다.
-
SAML 2.0 메타데이터로 원격 SAML 2.0 SP 파트너 설정
-
SAML 2.0 메타데이터 없이 원격 SAML 2.0 SP 파트너 설정
이 문서에서는 UI를 통해 또는 OAM WLST 명령을 사용하여 위의 작업을 수행하는 방법에 대해 설명합니다.
페더레이션 트러스트 설정
페더레이션 파트너 간의 신뢰를 설정하는 것은 페더레이션 서버 간에 페더레이션 SSO 작업을 수행하기 전에 반드시 수행해야 하는 작업입니다.
보안 설정에는 사용된 프로토콜이 PKI X.509 인증서에 의존하여 메시지 교환을 보호하고 통합 프로토콜을 구현하는 서비스의 위치/URL을 사용하는 경우 인증서 정보 교환이 포함됩니다.
메타데이터가 있는 SAML 2.0
OAM 관리 콘솔
메타데이터로 새 SAML 2.0 SP 파트너를 생성하려면 다음 단계를 실행합니다.
-
OAM 관리 콘솔(
http(s)://oam-admin-host:oam-adminport/oamconsole
)로 이동합니다. -
ID 통합, ID 제공자 관리로 이동합니다.
-
서비스 제공자 파트너 생성 단추를 누릅니다.
-
[생성] 화면에서 다음 작업을 수행합니다.
-
파트너의 이름을 입력합니다.
-
Protocol로 SAML 2.0을 선택합니다.
-
Load Metadata를 누르고 SP에 대한 SAML 2.0 메타 데이터 파일을 업로드합니다.
-
SAML 2.0 검증에 설정할
NameID
형식을 선택합니다(예: 전자메일 주소NameID
형식).
-
-
NameID
값을 설정하는 방법을 입력합니다.-
[사용자 ID 저장소 속성]을 선택할 경우
NameID
값이 드롭다운 옆의 필드에 지정된 LDAP 속성으로 설정됩니다. -
[표현식]을 선택할 경우
NameID
값이 드롭다운 옆의 필드에 지정된 표현식을 기반으로 설정됩니다.
-
-
SAML 검증을 속성으로 채우는 데 사용할 속성 프로파일을 선택합니다.
-
Save를 누릅니다.
그림 Service_provider_partner_Screen.jpg 설명
파트너가 생성되면 다음과 함께 파트너 편집 화면이 표시됩니다.
-
이전 화면에서 설정한 설정을 수정할 수 있음
-
Advanced Settings 섹션이 표시됩니다.
-
OAM이 로그아웃 프로세스의 일부로 파트너와 SAML 2.0 로그아웃 교환을 실행해야 하는지 여부를 나타내는 글로벌 로그아웃을 사용으로 설정합니다.
-
검증 암호화:
IdP
에서 전송된 검증이 SP의 암호화 인증서를 사용하여 암호화되어야 하는 경우(주: SP가 암호화된 검증을 지원해야 하며 SP의 암호화 인증서가 SAML 2.0 SP 메타데이터에 존재해야 함). -
SSO 응답 바인딩: SP에서 특정 바인딩을 요청하지 않은 경우 검증을 SP로 전송하는 방법입니다.
주: "속성 질의 사용자 매핑" 하위 섹션은 SAML 속성 질의 교환이 수행되는 경우 SAML 속성 권한/요청 플로우와만 관련이 있습니다. 이 흐름은 통합 SSO 흐름의 일부가 아닙니다.
WLST
OAM WLST 명령을 사용하여 메타데이터로 새 SAML 2.0 SP 파트너를 생성하려면 다음 단계를 실행합니다.
-
$IAM_ORACLE_HOME/common/bin/wlst.sh
를 실행하여 WLST 환경을 입력합니다. -
WLS 관리 서버(
connect()
)에 연결합니다. -
도메인 런타임 분기(
domainRuntime()
)로 이동합니다. -
OAM에서
acmeSP
라는 메타데이터를 사용하여 SAML 2.0 SP 파트너를 생성합니다.addSAML20SPFederationPartner("acmeSP", "/tmp/acme-sp-metadata-saml20.xml")
. -
기본적으로 새 SP 파트너는 다음과 같이 구성됩니다.
-
전자메일 주소를
NameID
형식으로 사용 -
메일 LDAP 사용자 속성을
NameID
값으로 사용합니다. -
검증 암호화 안함
-
HTTP-POST를 기본 SSO 응답 바인딩으로 사용
-
-
WLST 환경
exit()
를 종료합니다.
메타데이터가 없는 SAML 2.0
OAM 관리 콘솔
메타데이터 없이 새 SAML 2.0 SP 파트너를 생성하려면 다음 단계를 실행합니다(먼저 SP 파트너의 모든 데이터(예: 인증서, SP 식별자 및 URL)가 있는지 확인).
-
OAM 관리 콘솔(
http(s)://oam-admin-host:oam-adminport/oamconsole
)로 이동합니다. -
ID 통합, ID 제공자 관리로 이동합니다.
-
서비스 제공자 파트너 생성 단추를 누릅니다.
-
[생성] 화면에서 다음 작업을 수행합니다.
-
파트너의 이름을 입력합니다.
-
Protocol로 SAML 2.0을 선택합니다.
-
Enter Manually를 선택합니다.
-
SP 파트너의 발행자 / ProviderID 을 입력합니다 .
-
해당 SP 파트너에 대한 검증 소비자 서비스 URL 입력: 사용자가 SAML 검증을 사용하여 IdP에서 재지정되는 URL입니다.
-
파트너가 SAML 2.0 로그아웃 프로토콜을 지원하는 경우:
-
파트너가 SAML 2.0
LogoutRequest
메시지를 처리할 수 있는 SAML 2.0 로그아웃 요청 URL을 입력합니다. -
파트너가 SAML 2.0
LogoutResponse
메시지를 처리할 수 있는 SAML 2.0 로그아웃 응답 URL을 입력합니다.
-
-
SP 파트너가 SAML 메시지를 서명하는 경우 서명 인증서 파일을 업로드합니다.
-
PEM 형식(파일에 첫번째 행 --BEGIN CERTIFICATE--가 포함된 경우 Base64 인코딩 형식의 인증서, 마지막 행은 --END CERTIFICATE--)
-
또는 인증서가 이진 인코딩으로 저장되는 DER 형식
-
-
SAML 검증을 암호화해야 하고 SP에 암호화 인증서가 있는 경우 파일을 업로드합니다.
-
PEM 형식(파일에 첫번째 행 --BEGIN CERTIFICATE--가 포함된 경우 Base64 인코딩 형식의 인증서, 마지막 행은 --END CERTIFICATE--)
-
또는 인증서가 이진 인코딩으로 저장되는 DER 형식
-
-
-
NameID 값을 설정하는 방법을 입력합니다.
-
[사용자 ID 저장소 속성]을 선택할 경우
NameID
값이 드롭다운 옆의 필드에 지정된 LDAP 속성으로 설정됩니다. -
[표현식]을 선택할 경우
NameID
값이 드롭다운 옆의 필드에 지정된 표현식을 기반으로 설정됩니다.
-
-
SAML 검증을 속성으로 채우는 데 사용되는 속성 프로파일을 선택합니다.
-
Save를 누릅니다.
그림 Create_Service_Provider_Screen.jpg 설명
파트너가 생성되면 다음과 함께 파트너 편집 화면이 표시됩니다.
-
이전 화면에서 설정한 설정을 수정할 수 있음
-
Advanced Settings 섹션이 표시됩니다.
-
OAM이 로그아웃 프로세스의 일부로 파트너와 SAML 2.0 로그아웃 교환을 실행해야 하는지 여부를 나타내는 글로벌 로그아웃을 사용으로 설정합니다.
-
검증 암호화: IdP에서 전송된 검증이 SP의 암호화 인증서를 사용하여 암호화되어야 하는 경우 주: SP는 암호화된 검증을 지원해야 하며, SP의 암호화 인증서가 SAML 2.0 SP 메타데이터에 있어야 합니다.
-
SSO 응답 바인딩: SP에서 특정 바인딩을 요청하지 않은 경우 검증을 SP로 전송하는 방법입니다.
-
주: "속성 질의 사용자 매핑" 하위 섹션은 SAML 속성 질의 교환이 수행되는 경우 SAML 속성 권한/요청 플로우와만 관련이 있습니다. 이 흐름은 통합 SSO 흐름의 일부가 아닙니다.
그림 Edit_Partner_withAdvOption_Screen.jpg 설명
WLST
OAM WLST 명령을 사용하여 메타데이터 없이 새 SAML 2.0 SP 파트너를 생성하려면 다음 단계를 실행합니다(먼저 SP 파트너의 모든 데이터(예: 인증서, SP 식별자 및 URL)가 있는지 확인).
-
$IAM_ORACLE_HOME/common/bin/wlst.sh
를 실행하여 WLST 환경을 입력합니다. -
WLS 관리 서버(
connect()
)에 연결합니다. -
도메인 런타임 분기(
domainRuntime()
)로 이동합니다. -
OAM에서
acmeSP
라는 메타데이터 없이 SAML 2.0 SP 파트너를 생성합니다.addSAML20SPFederationPartnerWithoutMetadata("acmeSP","https://sp.com", "https://sp.com/saml20/sso")
-
기본적으로 새 SP 파트너는 다음과 같이 구성됩니다.
-
전자메일 주소를
NameID
형식으로 사용 -
메일 LDAP 사용자 속성을
NameID
값으로 사용합니다. -
검증 암호화 안함
-
로그아웃 수행 안함
-
HTTP-POST를 기본 SSO 응답 바인딩으로 사용
-
기본 서비스 제공자 속성 프로파일 사용
-
이 SP 파트너에 대해 업로드된 인증서가 없습니다.
-
-
WLST 환경
exit()
를 종료합니다.
WLST를 통해 통합 설정 수정
이 절에서는 OAM WLST 명령을 통해 공통 SP 파트너 설정을 변경하는 방법에 대해 설명합니다.
-
SAML 서명 인증서
-
SAML 암호화 인증서
-
SP 파트너에 대한 SP 파트너 속성 프로파일
-
SAML
NameID
설정 -
SAML SSO 요청 및 응답 바인딩
-
SAML 2.0 암호화된 검증
이미 WLST 환경에 있고 다음을 사용하여 연결했다고 가정합니다.
-
$IAM_ORACLE_HOME/common/bin/wlst.sh
를 실행하여 WLST 환경을 입력합니다. -
WLS 관리 서버(
connect()
)에 연결합니다. -
도메인 런타임 분기(
domainRuntime()
)로 이동합니다.
SAML 2.0 로그아웃
SAML 2.0 로그아웃을 사용으로 설정하고 SP 파트너 SAML 2.0 로그아웃 URL을 지정하려면 다음을 실행합니다.
-
configureSAML20Logout()
명령:configureSAML20Logout("acmeSP", "sp","true",saml20LogoutRequestURL="https://sp.com/saml20/logoutReq",saml20LogoutResponseURL="https://sp.com/saml20/logoutResp")
-
acmeSP
가 앞에서 생성한 파트너의 이름임 -
sp
은 파트너 유형을 나타냅니다. -
true는 SAML 2.0 로그아웃이 사용으로 설정되었음을 나타냅니다.
-
saml20LogoutRequestURL
는 SAML 2.0LogoutRequest
메시지를 처리할 수 있는 SP 파트너 엔드포인트를 참조합니다. -
saml20LogoutResponseURL
는 SAML 2.0LogoutResponse
메시지를 처리할 수 있는 SP 파트너 엔드포인트를 참조합니다.
-
SP 파트너에 대한 SAML 2.0 로그아웃을 사용 안함으로 설정하려면 다음을 실행합니다.
-
configureSAML20Logout()
명령:configureSAML20Logout("acmeSP", "sp","false")
-
acmeSP
가 앞에서 생성한 파트너의 이름임 -
sp
은 파트너 유형을 나타냅니다. -
false는 SAML 2.0 로그아웃이 사용으로 설정되었음을 나타냅니다.
-
SAML 인증서
서명 및 암호화 인증서를 관리하는 데 사용할 수 있는 다양한 WLST 명령이 있습니다.
-
getFederationPartnerSigningCert()
- 파트너의 서명 인증서를 Base64 인코딩 형식으로 인쇄합니다.getFederationPartnerSigningCert("acmeSP","sp")
-
acmeSP
가 앞에서 생성한 파트너의 이름임 -
sp
은 파트너 유형을 나타냅니다.
-
-
setFederationPartnerSigningCert()
- SP 파트너 구성에 매개변수로 전달된 서명 인증서 파일을 업로드합니다.setFederationPartnerSigningCert("acmeSP","sp", "/tmp/cert.file")
-
acmeSP
가 앞에서 생성한 파트너의 이름임 -
sp
은 파트너 유형을 나타냅니다. -
세번째 매개변수는 인증서가 포함된 파일의 파일 시스템 위치를 나타냅니다.
-
PEM 형식(파일에 첫번째 행 --BEGIN CERTIFICATE--가 포함된 경우 Base64 인코딩 형식의 인증서, 마지막 행은 --END CERTIFICATE--)
-
또는 인증서가 이진 인코딩으로 저장되는 DER 형식
-
-
-
deleteFederationPartnerSigningCert()
- SP 파트너 항목에서 서명 인증서를 제거합니다.deleteFederationPartnerSigningCert("acmeSP","sp")
-
acmeSP
가 앞에서 생성한 파트너의 이름임 -
sp
은 파트너 유형을 나타냅니다. -
getFederationPartnerEncryptionCert()
,setFederationPartnerEncryptionCert()
및deleteFederationPartnerEncryptionCert()
명령은 파트너의 암호화 인증서를 관리하는 경우를 제외하고 위의 명령과 유사합니다.-
getFederationPartnerEncryptionCert("acmeSP","sp")
-
setFederationPartnerEncryptionCert("acmeSP","sp", "/tmp/cert.file")
-
deleteFederationPartnerEncryptionCert("acmeSP","sp")
-
-
SP 파트너 속성 프로파일
특정 SP 파트너에 대한 SP 파트너 속성 프로파일을 구성하려면 다음 명령을 사용합니다.
-
특정 SP 파트너 속성 프로파일을 사용하도록 SP 파트너를 구성하려면
setSPPartnerAttributeProfile(partnerName, attrProfileID)
를 실행합니다.-
partnerName
은 SP 파트너를 만드는 데 사용된 이름입니다. -
attrProfileID
는 SP 파트너 속성 프로파일 ID입니다.
-
-
기존 SP 파트너 속성 프로파일을 나열하려면
listSPPartnerAttributeProfileIDs()
를 실행합니다.
SAML SSO 요청 및 응답 바인딩
특정 SP 파트너에 대한 SAML 바인딩을 구성하려면 다음 명령을 사용합니다.
-
SP 파트너를 구성하려면
configureSAMLBinding(partnerName, partnerType, binding, ssoResponseBinding="httppost")
를 실행합니다.-
partnerName
은 SP 파트너를 만드는 데 사용된 이름입니다. -
파트너가 SP이므로
partnerType
를SP
로 설정해야 합니다. -
binding: SAML 2.0 AuthnRequest 및
LogoutRequest
/LogoutResponse
메시지에 대해 HTTPPOST 바인딩에httppost
를 사용하거나HTTPRedirect
바인딩에httpredirect
를 사용하는 바인딩입니다. SAML 2.0만 -
ssoResponseBinding
: SAML 검증을 다시 SP로 전송하는 데 사용할 바인딩입니다. HTTP-POST 바인딩의 경우httppost
, 아티팩트 바인딩의 경우 아티팩트입니다.
-
SAML NameID 설정
SAML SP 파트너에 대한 NameID
설정을 구성하려면 다음과 같이 하십시오.
-
setSPSAMLPartnerNameID(partnerName, nameIDFormat, nameIDValue="", customFormat="", nameIDValueComputed="false")
명령을 사용합니다.-
partnerName
은 SP 파트너를 만드는 데 사용된 이름입니다. -
nameIDFormat
: 가능한 값은urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress
의 경우orafed-emailaddress
입니다.-
urn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectName
의 경우orafed-x509
-
urn:oasis:names:tc:SAML:1.1:nameidformat:WinflowsDomainQualiRedName
의 경우orafed-winflowsnamequaliRer
-
urn:oasis:names:tc:SAML:2.0:nameidformat:Kerberos
의 경우orafed-kerberos
-
urn:oasis:names:tc:SAML:2.0:nameidformat:transient
의 경우orafed-transient
-
urn:oasis:names:tc:SAML:2.0:nameidformat:persistent
의 경우orafed-persistent
-
urn:oasis:names:tc:SAML:1.1:nameidformat:unspecified
의 경우orafed-unspecified
-
orafed-custom
-customFormat
매개변수에 지정된 사용자정의NameID
형식
-
-
-
nameIDFormat
가orafedcustom
로 설정된 경우 사용할 형식이 포함된customFormat
-
nameIDValueComputed
: True 또는 false,nameIDFormat
가orafed-persistent
로 설정된 경우UserID
의 해시에서NameID
를 생성할지 여부를 나타냅니다(SAML 2.0만 해당).
SAML 2.0 암호화된 검증
암호화된 SAML 2.0 검증을 보내거나 보내지 않도록 IdP를 구성하려면 다음 명령을 실행합니다.
-
SP 파트너에 대한 SAML 2.0 검증을 암호화하도록 IdP을 구성하려면 SP 파트너를 생성하는 데 사용된 이름인
updatePartnerProperty(partnerName, "sp", "sendencryptedassertion", "true", "boolean") partnerName
를 실행합니다. -
SP 파트너에 대해 일반(기본값) SAML 2.0 검증을 전송하도록 IdP을 구성하려면
updatePartnerProperty(partnerName, "sp", "sendencryptedassertion", "false", "boolean")
를 실행합니다.partnerName
은 SP 파트너를 만드는 데 사용된 이름입니다.
예제
아래 명령은 SAML 2.0 메타데이터 없이 SP 파트너를 추가하는 데 사용할 수 있습니다.
addSAML20SPFederationPartnerWithoutMetadata("acmeSP","https://sp.com","https://sp.com/saml20/sso")configureSAML20Logout("acmeSP","sp","true",saml20LogoutRequestURL="https://sp.com/saml20/logoutReq",saml20LogoutResponseURL="https://sp.com/saml20/logoutResp")setFederationPartnerSigningCert("acmeSP","sp","/tmp/cert.file")setFederationPartnerEncryptionCert("acmeSP","sp","/tmp/cert.file")setSPSAMLPartnerNameID("acmeSP","orafedemailaddress",nameIDValue="$user.aZr.mail")
아래 명령은 SAML 2.0 메타데이터로 SP 파트너를 추가하는 데 사용할 수 있습니다(이 예에서는 기본 OAM ID Styore를 사용함).
addSAML20SPFederationPartner("acmeSP", "/tmp/acme-sp-metadata-saml20.xml") setSPSAMLPartnerNameID("acmeSP","orafedemailaddress", nameIDValue="$user.attr.mail")
추가 학습 자원
docs.oracle.com/learn의 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 접근할 수 있습니다. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer로 전환할 수 있습니다.
제품 설명서는 Oracle Help Center를 참조하십시오.
Creating SAML 2.0 SP Partners in OAM and IdP
F60926-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.