이 절에서는 신뢰할 수 있는 원 SSO에 대해 설명합니다. 이후의 모든 개발에서 Access Manager를 사용하게 될 것이므로 이 SSO 방법을 사용하지 않는 것이 좋습니다. 그러나 신뢰할 수 있는 원 SSO에서 사용할 수 있는 기능 중 일부는 현재 Access Manager SSO에서 사용할 수 없습니다. 이 절은 다음과 같은 하위 절로 구성되어 있습니다.
SSO를 배포하기 전에 다음 용어에 대해 잘 알고 있어야 합니다.
SSO: 단일 사인 온입니다. 하나의 응용 프로그램에 로그온하여 다른 응용 프로그램에 액세스할 수 있는 기능입니다. 사용자 아이디가 모든 응용 프로그램에서 동일합니다.
신뢰할 수 있는 응용 프로그램. SSO 스키마(SSO Prefix)를 공유하고 서로 간에 쿠키 및 확인을 신뢰하는 응용 프로그램입니다. 피어 SSO 응용 프로그램이라고도 합니다.
SSO 접두어. 동일한 신뢰할 수 있는 원 내의 다른 응용 프로그램이 생성한 쿠키를 찾는 데 사용할 수 있도록 SSO를 배포하는 개인이 정의하고 각 응용 프로그램에 알려진 문자열입니다. 다른 접두어를 사용하는 응용 프로그램은 동일한 원 내에 있지 않으므로 그러한 응용 프로그램 간에 이동하는 경우 다시 인증해야 합니다. 항상 그렇지는 않지만 구성 설정에서 접두어에 후행 -("-")가 명시되는 경우가 있습니다.
응용 프로그램 아이디. (appid). SSO 원 내의 각 응용 프로그램에 대해 SSO를 배포하는 개인이 정의한 고유한 문자열입니다.
SSO 쿠키. 브라우저에서 사용자가 일부 응용 프로그램에 인증되었음을 기억하는 데 사용하는 토큰입니다. 쿠키 이름 형식은 SSO_prefix-application ID입니다. 쿠키 값은 일반적으로 응용 프로그램에서 생성되는 세션 아이디인 SSO 키입니다.
쿠키 도메인. 응용 프로그램이 쿠키를 보낼 수 있도록 제한된 도메인입니다. DNS 관점의 도메인입니다.
확인 URL. 한 응용 프로그램에서 다른 응용 프로그램에 있는 쿠키를 확인하는 데 사용되는 URL입니다.
SSO를 구현하기 전에 먼저 이 신뢰할 수 있는 원에 속하는 응용 프로그램을 고려해야 합니다. 이 신뢰할 수 있는 원에 포함될 수 있는 응용 프로그램은 Messenger Express (Messenger Express Multiplexor 사용 또는 사용 안 함), Calendar Express 및 이전 iPlanet Delegated Administrator for Messaging(Sun LDAP Schema 1만 지원하므로 권장되지 않음)입니다.
표 6–2에서는 SSO를 통해 서로 액세스할 수 있는 응용 프로그램을 보여 줍니다. 사용자의 관점에서 첫 번째 열의 응용 프로그램 중 하나에 로그인한 다음 사용자 아이디와 비밀번호를 다시 입력하지 않고 맨 위의 행에 있는 응용 프로그램에 액세스할 수 있다면 SSO가 적용되는 것입니다.
표 6–2 SSO 상호 운용성
대상:
시작: |
Calendar Express |
Messenger Express |
Messenger Express Multiplexor |
Delegated Administrator |
---|---|---|---|---|
Calendar Express |
SSO |
SSO |
SSO |
SSO |
Messenger Express |
SSO |
해당 없음 |
해당 없음 |
SSO |
Messenger Express Multiplexor |
SSO |
해당 없음 |
해당 없음 |
SSO |
Delegated Administrator |
SSO |
SSO |
SSO |
해당 없음 |
함께 작동하는 SSO 응용 프로그램은 동일한 도메인에 있어야 합니다.
SSO 응용 프로그램은 서로의 SSO 확인 URL에 액세스할 수 있어야 합니다.
브라우저에서 쿠키를 지원해야 합니다.
보안상 브라우저가 실행되는 시스템에서는 SSO를 사용하지 마십시오.
다른 아이디로 전환하려면 브라우저를 다시 시작해야 합니다.
Messenger Express와 Sun Java System Calendar Server 모두에서 단일 사인 오프가 사용된다고 가정할 때 Sun Java System Calendar Server에서 로그아웃한 경우에는 Messenger Express에 다시 로그인해야 합니다. Messenger Express에서 로그아웃한 경우에는 Sun Java System Calendar Server에 다시 로그인해야 합니다. 그러나 현재는 이 방법이 적용되지 않으므로 둘 중 하나에서 로그아웃한 후에도 다른 하나에서는 로그인한 상태를 유지할 수 있습니다.
가장 단순한 SSO 배포 시나리오는 Messenger Express와 Delegated Administrator로만 구성됩니다. 신뢰할 수 있는 동일한 원 내에 포함되도록 동일한 SSO 접두어를 사용하여 동일한 시스템이나 다른 시스템에 Calendar Express를 추가하여 보다 복잡한 시나리오를 만들 수 있습니다. 이 프로세스는 그림 6–1에 표시되어 있습니다.
보다 복잡한 배포에는 Messenger Express Multiplexor와 로드 밸런서가 있습니다.
이 절에서는 Messenger Express, Delegated Administrator 및 Calendar Manager에 대한 SSO 설정에 대해 설명합니다.
SSO에 대해 Messenger Express를 구성합니다.
적절한 SSO configutil 매개 변수를 설정합니다.
Delegated Administrator가 있는 Messenger Express에 대해 단일 사인 온(SSO)을 사용하려면 구성 매개 변수를 다음과 같이 설정합니다(기본 도메인을 siroe.com으로 가정). 이러한 매개 변수는 표 6–3에 설명되어 있습니다. 루트 사용자여야 합니다. cd에서 instance_root
configutil -o local.webmail.sso.enable -v 1 configutil -o local.webmail.sso.prefix -v ssogrp1 |
ssogrp1 is the default SSO Prefix used by iDA, although you can choose a different prefix, using the default would save a little typing when configuring iDA and iCS.
configutil -o local.webmail.sso.id -v ims5 |
ims5 is a name you pick to identify Messenger Express (ME) to other applications.
configutil -o local.webmail.sso.cookiedomain -v “.siroe.com” |
The above domain must match the domain used by the ME/browser client to connect to the servers. Thus, although the hosted domain on this server may be called xyz.com, we must use a real domain in the DNS. This value must start with a period.
configutil -o local.webmail.sso.singlesignoff -v 1 configutil -o local.sso.ApplicationID.verifyurl -v \ "http://ApplicationHost:port/VerifySSO?" |
ApplicationID is a name we give to the SSO application (example: ida for Delegated Administrator, ics50 for Calendar Server). ApplicationHost:port is the host and port number of the application. You will have one of these lines for each non-Messaging Server application. 예:
configutil -o local.sso.ida.verifyurl -v \ "http://siroe.com:8080/VerifySSO?" |
구성을 변경한 후 Messenger Express http 서버를 다시 시작합니다.
cd instance_root./stop-msg http ./start-msg http |
SSO에 대해 Directory Server를 구성합니다.
디렉토리에 프록시 사용자 계정을 만듭니다.
프록시 사용자 계정을 사용하면 Delegated Administrator에서 프록시 인증을 위해 Directory Server에 바인드할 수 있습니다. 다음 LDIF 코드(proxy.ldif)를 사용하면 ldapadd를 통해 프록시 사용자 계정 항목을 만들 수 있습니다.
ldapadd -h mysystem.siroe.com -D "cn=Directory Manager" -w password -v -f proxy.ldif
dn: uid=proxy, ou=people, o=siroe.com, o=isp objectclass: top objectclass: person objectclass: organizationalperson objectclass: inetorgperson uid: proxy givenname: Proxy sn: Auth cn: Proxy Auth userpassword: proxypassword |
프록시 사용자 계정 인증을 위해 해당 ACI를 만듭니다.
ldapmodify 유틸리티를 사용하여 Delegated Administrator를 설치할 때 만든 각 접미어에 대한 ACI를 만듭니다.
osiroot - 사용자 데이터를 저장하기 위해 입력한 접미어입니다(기본값: o=isp). osiroot는 조직 트리의 루트입니다.
dcroot - 도메인 정보를 저장하기 위해 입력한 접미어입니다. 기본값은 o=internet입니다.
osiroot - 구성 정보를 저장하기 위해 입력한 접미어이며 사용자 데이터를 저장하기 위해 입력한 값과 동일해야 합니다.
다음은 앞에서 작성한 프록시 사용자의 osiroot에 대한 ACI 항목(aci1.ldif) 예입니다.
dn: o=isp changetype: modify add: aci aci: (target="ldap:///o=isp")(targetattr="*")(version 3.0; acl "proxy";allow (proxy) userdn="ldap:///uid=proxy, ou=people, o=siroe.com, o=isp";) |
ldapmodify -h siroe.com -D "cn=Directory Manager" -w password -v -f aci1.ldif |
다음과 같이 dcroot에 대해 비슷한 ACI 항목(aci2.ldif)을 만듭니다.
dn: o=internet changetype: modify add: aci aci: (target="ldap:///o=internet")(targetattr="*")(version 3.0; acl "proxy";allow (proxy) userdn="ldap:///uid=proxy, ou=people, o=siroe.com, o=isp";) |
ldapmodify -h siroe.com -D "cn=Directory Manager" -w password -v -f aci2.ldif |
Delegated Administrator를 구성합니다.
Delegated Administrator resource.properties 파일에 컨텍스트에 대한 프록시 사용자 자격 증명과 쿠키 이름을 추가합니다.
resource.properties 파일에서 다음 항목에 대한 주석 처리를 취소하고 수정합니다.
LDAPDatabaseInterface-ldapauthdn=Proxy_Auth_DN LDAPDatabaseInterface-ldapauthpw=Proxy_Auth_Password NDAAuth-singleSignOnId=SSO_Prefix- NDAAuth-applicationId=DelAdminID |
예를 들면 다음과 같습니다.
LDAPDatabaseInterface-ldapauthdn= uid=proxy,ou=people,o=cesta.com,o=isp LDAPDatabaseInterface-ldapauthpw=proxypassword NDAAuth-singleSignOnId=ssogrp1- NDAAuth-applicationId=ida |
resource.properties 파일은 다음 위치에 저장됩니다.
iDA_svr_base/nda/classes/netscape/nda/servlet/
참여하는 서버의 확인 URL을 추가합니다.
수신하는 단일 사인 온(SSO) 쿠키를 확인하려면 Delegated Administrator에서 연결할 사람을 알고 있어야 합니다. 알려진 모든 참여 서버에 대한 확인 URL을 제공해야 합니다.
다음 예에서는 Messenger Express를 설치하고 해당 응용 프로그램 아이디가 msg5라고 가정합니다. Delegated Administrator resource.properties 파일을 편집하고 다음 항목을 추가합니다.
verificationurl-ssogrp1-msg5=http://webmail_hostname:port/VerifySSO? verificationurl-ssogrp1-ida=http://iDA_hostname:port/VerifySSO? verificationurl-ssogrp1-ics50=http://iCS_hostname:port/VerifySSO? |
resource.properties 파일은 다음 디렉토리에 있습니다.
iDA_svr_base/nda/classes/netscape/nda/servlet/
Delegated Administrator 단일 사인 온(SSO) 쿠키 정보를 추가하고 UTF8 매개 변수 인코딩을 사용합니다.
Delegated Administrator에 대한 컨텍스트 식별자를 정의합니다.
servlets.properties 파일을 편집하고 servlet.*.context=ims50 텍스트에 포함된 모든 행의 주석을 취소합니다. 여기서 *는 모든 문자열입니다.
servlets.properties 파일은 다음 위치에 있습니다.
Web_Svr_Base/https-instancename/config/
Enterprise Server 구성에서 해당 컨텍스트에 대한 쿠키 이름을 지정합니다.
Enterprise Server contexts.properties 파일을 편집하고 파일의 맨 아래쪽에 있는 #IDACONF-Start 행 앞에 다음을 추가합니다.
context.ims50.sessionCookie=ssogrp1-ida
contexts.properties 파일은 다음 위치에 있습니다.
Web_Svr_Base/https-instancename/config/
ims5 컨텍스트에 대해 UTF8 매개 변수 인코딩을 사용합니다.
Enterprise Server 구성에서 ims5 컨텍스트에 대해 UTF8 매개 변수 인코딩을 사용하려면 Enterprise Server contexts.properties 파일에 다음 항목을 추가합니다.
context.ims50.parameterEncoding=utf8
Messenger Express를 다시 시작합니다.
단계 1a에서 2c에 설명된 대로 구성을 변경한 후에는 Messenger Express를 다시 시작해야 변경 사항이 적용됩니다.
Web_Svr_Base/https-instance_name/stop Web_Svr_Base/https-instancename/start |
이 SSO 그룹에서 Calendar를 배포하려면 Calendar Server를 구성합니다.
ics.conf를 편집하고 다음을 추가합니다.
sso.appid = "ics50" sso.appprefix = "ssogrp1" sso.cookiedomain = ".red.iplanet.com" sso.enable = "1" sso.singlesignoff = "true" sso.userdomain = "mysystem.red.iplanet.com" sso.ims5.url="http://mysystem.red.iplanet.com:80/VerifySSO?" sso.ida.url=http://mysystem.red.iplanet.com:8080/VerifySSO? |
Calendar Server를 다시 시작합니다.
start-cal
Messenger Express http 서버를 다시 시작합니다.
msg_svr_base/sbin/stop-msg http msg_svr_base/sbin/start-msg http |
Messenger Express의 신뢰할 수 있는 SSO 구성 매개 변수에 표시된 것처럼 configutil 명령을 사용하여 Messenger Express에 대한 단일 사인 온(SSO) 구성 매개 변수를 수정할 수 있습니다. configutil에 대한 자세한 내용은 Sun Java System Messaging Server 6 2005Q4 Administration Reference를 참조하십시오.
표 6–3 신뢰할 수 있는 원 단일 사인 온(SSO) 매개 변수