Sun Java System Messaging Server 6 2005Q4 관리 설명서

신뢰할 수 있는 원 SSO(레거시)

이 절에서는 신뢰할 수 있는 원 SSO에 대해 설명합니다. 이후의 모든 개발에서 Access Manager를 사용하게 될 것이므로 이 SSO 방법을 사용하지 않는 것이 좋습니다. 그러나 신뢰할 수 있는 원 SSO에서 사용할 수 있는 기능 중 일부는 현재 Access Manager SSO에서 사용할 수 없습니다. 이 절은 다음과 같은 하위 절로 구성되어 있습니다.

신뢰할 수 있는 원 SSO 개요 및 정의

SSO를 배포하기 전에 다음 용어에 대해 잘 알고 있어야 합니다.

신뢰할 수 있는 원 SSO 응용 프로그램

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 배포 시나리오는 Messenger Express와 Delegated Administrator로만 구성됩니다. 신뢰할 수 있는 동일한 원 내에 포함되도록 동일한 SSO 접두어를 사용하여 동일한 시스템이나 다른 시스템에 Calendar Express를 추가하여 보다 복잡한 시나리오를 만들 수 있습니다. 이 프로세스는 그림 6–1에 표시되어 있습니다.

그림 6–1 단순 SSO 배포

이 그림은 단순 SSO 배포를 보여 줍니다.

보다 복잡한 배포에는 Messenger Express Multiplexor와 로드 밸런서가 있습니다.

그림 6–2 복잡한 SSO 배포

이 그림은 복잡한 SSO 배포를 보여 줍니다.

신뢰할 수 있는 원 SSO 설정

이 절에서는 Messenger Express, Delegated Administrator 및 Calendar Manager에 대한 SSO 설정에 대해 설명합니다.

ProcedureMessenger Express, Delegated Administrator 및 Calendar Manager에 대해 SSO를 설정하는 방법

단계
  1. SSO에 대해 Messenger Express를 구성합니다.

    1. 적절한 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?"
      
    2. 구성을 변경한 후 Messenger Express http 서버를 다시 시작합니다.


      cd instance_root./stop-msg http
      ./start-msg http
      
  2. SSO에 대해 Directory Server를 구성합니다.

    1. 디렉토리에 프록시 사용자 계정을 만듭니다.

      프록시 사용자 계정을 사용하면 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
    2. 프록시 사용자 계정 인증을 위해 해당 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
      
  3. Delegated Administrator를 구성합니다.

    1. 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/

    2. 참여하는 서버의 확인 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/

  4. Delegated Administrator 단일 사인 온(SSO) 쿠키 정보를 추가하고 UTF8 매개 변수 인코딩을 사용합니다.

    1. Delegated Administrator에 대한 컨텍스트 식별자를 정의합니다.

      servlets.properties 파일을 편집하고 servlet.*.context=ims50 텍스트에 포함된 모든 행의 주석을 취소합니다. 여기서 *는 모든 문자열입니다.

      servlets.properties 파일은 다음 위치에 있습니다.

      Web_Svr_Base/https-instancename/config/

    2. Enterprise Server 구성에서 해당 컨텍스트에 대한 쿠키 이름을 지정합니다.

      Enterprise Server contexts.properties 파일을 편집하고 파일의 맨 아래쪽에 있는 #IDACONF-Start 행 앞에 다음을 추가합니다.

      context.ims50.sessionCookie=ssogrp1-ida

      contexts.properties 파일은 다음 위치에 있습니다.

      Web_Svr_Base/https-instancename/config/

    3. ims5 컨텍스트에 대해 UTF8 매개 변수 인코딩을 사용합니다.

      Enterprise Server 구성에서 ims5 컨텍스트에 대해 UTF8 매개 변수 인코딩을 사용하려면 Enterprise Server contexts.properties 파일에 다음 항목을 추가합니다.

      context.ims50.parameterEncoding=utf8

  5. Messenger Express를 다시 시작합니다.

    단계 1a에서 2c에 설명된 대로 구성을 변경한 후에는 Messenger Express를 다시 시작해야 변경 사항이 적용됩니다.


    Web_Svr_Base/https-instance_name/stop
    Web_Svr_Base/https-instancename/start
    
  6. 이 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?
  7. Calendar Server를 다시 시작합니다.

    start-cal

  8. Messenger Express http 서버를 다시 시작합니다.


    msg_svr_base/sbin/stop-msg http
    msg_svr_base/sbin/start-msg http
    

Messenger Express의 신뢰할 수 있는 SSO 구성 매개 변수

Messenger Express의 신뢰할 수 있는 SSO 구성 매개 변수에 표시된 것처럼 configutil 명령을 사용하여 Messenger Express에 대한 단일 사인 온(SSO) 구성 매개 변수를 수정할 수 있습니다. configutil에 대한 자세한 내용은 Sun Java System Messaging Server 6 2005Q4 Administration Reference를 참조하십시오.

표 6–3 신뢰할 수 있는 원 단일 사인 온(SSO) 매개 변수

매개 변수 

설명 

local.sso.appid .verifyurl

피어 SSO 응용 프로그램에 대한 확인 URL 값을 설정합니다. appid는 해당 SSO 쿠키를 수락하는 피어 SSO 응용 프로그램의 응용 프로그램 아이디입니다. 예를 들어, Delegated Administrator에 대한 기본 appidnda45이고 실제 값은 Delegated Administrator resource.properties 파일 항목 NDAAuth-applicationID에 의해 지정됩니다.

신뢰할 수 있는 각 피어 SSO 응용 프로그램에 대해 정의된 하나의 매개 변수가 있어야 합니다. 확인 URL의 표준 형식은 다음과 같습니다. 

http://nda-host:port/VerifySSO?

여러 Messenger Express Multiplexors 및 Message Store 서버(Messenger Express 실행) 또는 Calendar 프런트 엔드 앞에 로드 밸런서를 사용할 경우 verifyurl에 실제 호스트 이름을 사용하여 각 물리적 시스템에 대해 서로 다른 appid를 지정해야 합니다. 그렇게 하면 쿠키를 확인하는 데 올바른 시스템이 사용됩니다.


local.webmail.sso.
cookiedomain

이 매개 변수의 문자열 값은 Messenger Express HTTP 서버에서 설정한 모든 SSO 쿠키의 쿠키 도메인 값을 설정하는 데 사용됩니다. 기본값은 null입니다.  

이 도메인은 Messenger Express 브라우저에서 서버에 액세스하는 데 사용한 DNS 도메인과 일치해야 합니다. 호스트된 도메인 이름이 아닙니다. 

local.webmail.sso.enable

로그인 페이지를 가져올 때 클라이언트가 표시한 SSO 쿠키 허용 및 확인, 로그인에 성공한 경우 클라이언트에 SSO 쿠키 반환 및 쿠키 확인을 위해 다른 SSO 파트너의 요청에 회신 등을 포함하여 모든 단일 사인 온(SSO) 기능을 사용하거나 사용하지 않습니다. 

0이 아닌 값을 설정하면 서버에서 모든 SSO 기능을 수행합니다. 

0을 설정하면 서버에서 이러한 SSO 기능을 수행하지 않습니다. 

기본값은 0입니다. 

local.webmail.sso.id

Messenger Express HTTP 서버에서 설정한 SSO 쿠키의 서식을 지정할 때 이 매개 변수 문자열 값이 응용 프로그램 아이디 값으로 사용됩니다. 기본값은 null입니다. 

이 값은 임의의 문자열입니다. 이 값은 resource.properties 파일에서 Delegated Administrator에 대해 지정한 값과 일치해야 합니다. resource.properties의 해당 항목은 다음과 같습니다.


Verifycationurl-XXX-YYY=http://webmailhost:
webmailport/VerifySSO?

여기서 XXX는 위에서 설정한 local.webmail.sso.prefix 값이고 YYY는 여기서 설정한 local.webmail.sso.id 값입니다.

local.webmail.sso.prefix

Messenger Express HTTP 서버에서 설정한 SSO 쿠키의 서식을 지정할 때 이 매개 변수 문자열 값이 접두어 값으로 사용됩니다. 이 접두어가 있는 SSO 쿠키만 서버에 인식되며 다른 SSO 쿠키는 모두 무시됩니다. 

이 매개 변수에 null 값을 설정하면 서버에서 모든 SSO 기능을 효과적으로 비활성화할 수 있습니다. 

기본값은 null입니다. 

이 문자열은 후행 -가 없는 resource.properties 파일에서 Delegated Administrator에 사용된 문자열과 일치해야 합니다. 예를 들면 다음과 같습니다.

NDAAuth-singleSignOnID=ssogrp1-

이 값을 ssogrp1로 설정해야 합니다.


local.webmail.sso.
singlesignoff

0이 아닌 값으로 설정한 경우 이 매개 변수의 정수 값은 클라이언트가 로그아웃할 때 local.webmail.sso.prefix에 구성된 값과 일치하는 접두어 값을 갖는 클라이언트의 모든 SSO 쿠키를 지웁니다. 

0으로 설정하면 Messenger Express는 클라이언트가 로그아웃할 때 해당 클라이언트의 SSO 쿠키만 지웁니다. 

기본값은 0입니다.