이 절에서는 Identity Manager 설치 또는 업데이트와 관련된 정보를 제공합니다. 이 정보는 다음과 같이 구성됩니다.
자세한 제품 설치 지침은 Sun Identity Manager 8.1 Installation을 참조하십시오.
Identity Manager 설치 시에는 여러 공급업체의 JDK를 혼합하여 사용해서는 안 됩니다. 예를 들어 WebSphere에서 IBM JDK를 사용하여 Identity Manager를 실행하는 경우에는 IBM JDK를 사용하여 Identity Manager를 설치합니다. 특정 JDK를 통해 암호화된 데이터는 다른 공급업체의 JDK를 통해 읽을 수 없으므로, 여러 공급업체의 JDK를 함께 사용해서는 안 됩니다. (ID-17800)
Identity Manager 설치 프로그램은 64비트 JDK와 함께 실행되지 않을 수 있습니다. (ID-18534)
해결 방법:
수동으로 설치합니다.
32비트 버전 JDK를 사용하여 설치 프로그램을 실행합니다.
JAVA_OPTS(설치 스크립트에서 사용) 설정을 통해 os.arch=ppc를 설정하여 설치를 완료합니다. 예를 들면 다음과 같습니다.
export JAVA_OPTS="-Dos.arch=ppc" install |
또는 JAVA_OPTS에 이미 필요한 옵션이 포함된 경우:
export JAVA_OPTS="$JAVA_OPTS -Dos.arch=ppc" install |
이 절에서는 Identity Manager 버전 6.0, 7.0, 7.1, 7.1.1 또는 8.0을 버전 8.1로 업그레이드하는 작업과 관련된 정보 및 알려진 문제점에 대해 설명합니다.
이 절의 내용은 다음과 같이 구성됩니다.
업그레이드 프로세스를 시작하기 전에 다음 정보를 숙지해야 합니다.
Sun Identity Manager 8.1 Upgrade에서 포괄적인 업그레이드 지침을 확인하십시오.
JDK 또는 JRE를 업그레이드하는 경우에는 이전 JDK와 동일한 공급업체에서 제공한 JDK 또는 JRE를 사용해야 합니다. 예를 들어 이전에 IBM의 JDK를 사용한 경우에는 Sun JDK를 설치해서는 안 됩니다. 여러 공급업체의 JDK를 혼합하여 사용하는 경우 이전에 사용했던 JDK를 통해 암호화된 데이터는 다른 공급업체의 JDK에서 읽을 수 없습니다. (ID-17800)
Identity Manager는 다음과 같은 순서로 업그레이드합니다.
모든 Identity Manager 서버 인스턴스 및 Gateway 인스턴스 업그레이드
모든 PasswordSync 인스턴스 업그레이드
Identity Manager 서버의 8.1 버전에서는 이전 버전 PasswordSync에 대한 제한적이며 일시적인 지원을 제공합니다. 이 지원은 PasswordSync 인스턴스를 업그레이드하는 동안 Identity Manager를 계속 실행할 수 있도록 제공되는 것입니다. 모든 PasswordSync 인스턴스는 최대한 빨리 Identity Manager 서버와 같은 버전으로 업데이트해야 합니다.
PasswordSync를 제거할 때는 올바른 제거를 위해 Windows 제어판의 프로그램 추가/제거 기능을 사용합니다. 제거 후에는 재부트해야 합니다.
PasswordSync를 설치할 때는 PasswordSync가 설치되는 운영 체제에 적합한 이진 파일을 사용합니다. 32비트 Windows의 바이너리는 IdmPwSync_x86.msi이며 64비트 Windows의 바이너리는 IdmPwSync_x64.msi입니다. 각 PasswordSync 설치 후에는 재부트해야 합니다.
update.xml을 가져올 때는 Identity Manager 서버를 하나만 사용해야 합니다.
업그레이드 중에는 하나의 Identity Manager 서버만 실행해야 합니다. 업그레이드 과정에서 다른 Identity Manager 서버를 시작할 경우 새로 시작한 서버를 사용하려면 해당 서버를 중지했다가 다시 시작해야 합니다. RepositoryConfiguration에 변경한 내용은 Identity Manager 서버를 다시 시작해야 적용됩니다.
기본 구성자 계정과 비밀번호를 사용하여 업그레이드 프로세스 로그인에 실패할 경우 로그 파일에 오류가 기록되는데, 이 오류 이후에는 아무것도 기록되지 않습니다. (ID-18929)
업그레이드 프로세스 도중 update.xml 파일을 가져옵니다. 이 가져오기를 시도할 때 기본 비밀번호를 사용하여 구성자로 로그인을 시도하는데, 로그인에 실패할 경우 오류가 표시되고 업그레이드 프로그램에서 올바른 로그인 정보를 입력하라는 메시지가 표시됩니다. 올바른 정보를 입력하면 업그레이드가 계속됩니다. 업그레이드 프로세스에 대한 로그 파일을 살펴보면 기본 로그인에 실패했을 때 오류 메시지를 볼 수 있지만 업그레이드에 대한 상세한 정보는 볼 수 없습니다. 이 문제는 업그레이드에는 영향을 주지 않으며 로그 파일에만 영향을 줍니다.
현재 Identity Manager 설치에 사용자 정의 작업이 많이 있으면 업그레이드 계획 및 실행을 도와주는 Sun 전문가 서비스에 문의하는 것을 고려해 봅니다.
스킵 레벨(skip-level) 업그레이드를 계획 중인 경우에는 다음 절의 업그레이드 참고 사항도 검토하십시오. 후속 버전 Identity Manager에 대한 업그레이드 참고 사항 역시 업그레이드에 적용됩니다.
Identity Manager 버전 6.x 설치에서 업그레이드하는 경우 새로운 Identity Manager 최종 사용자 페이지를 사용하려면 수평 탐색 표시줄이 표시되도록 수동으로 시스템 구성 web.user.showMenu를 true로 변경해야 합니다. (ID-14901)
또한 최종 사용자 홈 페이지에 새 최종 사용자 대시보드를 표시하려면 양식 유형 endUserMenu의 최종 사용자 양식 매핑을 수동으로 변경해야 합니다. 구성 > 양식 및 프로세스 매핑 > 양식 유형 'endUserMenu'로 이동합니다. 매핑된 양식 이름을 End User Dashboard로 변경합니다.
양식 유형 endUserWorkItemListExt의 매핑도 업데이트해야 합니다. 매핑된 양식 이름을 End User Approvals List로 변경합니다.
버전 6.0에서 업그레이드하고 LocalFiles를 사용하는 경우, 업그레이드하기 전에 데이터를 모두 내보낸 다음 8.1을 완전히 새로 설치하고 데이터를 다시 가져와야 합니다. (ID-15366)
스킵 레벨(skip-level) 업그레이드를 계획 중인 경우에는 다음 절의 업그레이드 참고 사항도 검토하십시오. 후속 버전 Identity Manager에 대한 업그레이드 참고 사항 역시 업그레이드에 적용됩니다.
버전 7.0에서 업그레이드하고 LocalFiles를 사용하는 경우, 업그레이드하기 전에 데이터를 모두 내보낸 다음 8.1을 완전히 새로 설치하고 데이터를 다시 가져와야 합니다. (ID-15366)
Identity Manager Service Provider Edition(SPE) 객체의 이름이 Identity Manager Service Provider로 변경되었기 때문에 업그레이드 로그에 ItemNotFound 예외가 있을 수 있습니다. (ID-18860)
설치에 Remedy 자원이 포함된 경우 게이트웨이가 설치되는 디렉토리에 Remedy API 라이브러리를 배치해야 합니다. 이러한 라이브러리는 Remedy 서버에서 찾을 수 있습니다.
스킵 레벨(skip-level) 업그레이드를 계획 중인 경우에는 다음 절의 업그레이드 참고 사항도 검토하십시오. 후속 버전 Identity Manager에 대한 업그레이드 참고 사항 역시 업그레이드에 적용됩니다.
버전 7.1.1부터 Identity Manager 사용자 확장 속성에서 값이 여러 개인 속성이 완전하게 지원됩니다. (ID-14863)
값이 여러 개인 사용자 확장 속성을 계정 목록 테이블에 추가할 수 있으며, 오류 없이 목록이 렌더링됩니다. 그러나 해당 열을 정렬하려고 하면 다음 오류가 발생합니다.
java.lang.ClassCastException: java.util.ArrayList
사용자 객체가 다시 일련화된 이후에만 값이 여러 개인 확장 속성을 참조하는 속성 조건이 사용자 객체에 대해 평가됩니다. 모든 사용자 객체에 대해 해당 속성 조건을 올바로 평가하려면 모든 사용자 객체를 다시 일련화해야 합니다. 지침을 보려면 다음 절의 사용자 객체 새로 고침을 참조하십시오.
특정 변경 유형은 관리자가 모든 User 객체를 새로 고쳐야 적용됩니다. 예를 들어, RepositoryConfiguration의 Type.USER에 대한 인라인 속성을 변경하면 모든 User 객체를 새로 고쳐야 합니다. IDMSchemaConfiguration 객체에서 쿼리 가능이나 요약으로 속성을 지정할 때마다 모든 User 객체를 새로 고쳐야 수정되지 않은 기존 객체에 변경 사항이 적용됩니다. 새 버전의 Identity Manager에서 새 속성을 추가하거나, 새 버전의 Identity Manager에서 기존 속성 값을 변경할 경우에도 이와 동일한 논리가 적용되므로 업그레이드 프로세스에서 또는 어드민 관리자가 모든 User 객체를 새로 고쳐야 수정되지 않은 기존 객체에 변경 사항이 적용됩니다.
다음과 같은 세 가지 방법으로 기존 사용자를 다시 일련화합니다.
일반적인 작업을 수행하는 동안 개별 User 객체를 수정합니다.
예를 들어, 사용자 인터페이스를 통해 사용자 계정을 열어, 수정한 후 저장하거나 수정하지 않고 저장합니다.
단점: 이 방법의 경우 많은 시간이 소요되며 관리자가 기존의 모든 사용자가 다시 일련화되었는지 일일이 확인해야 합니다.
lh refreshType 유틸리티를 사용하여 모든 사용자를 다시 일련화합니다. refreshType 유틸리티의 출력은 새로 고쳐진 사용자 목록입니다.
lh console
refreshType User
단점: refreshType 유틸리티는 백그라운드가 아닌 포그라운드에서 실행되며, 이 프로세스에 많은 시간이 소요될 수 있습니다. 사용자가 많은 경우 모두 다시 일련화하려면 시간이 오래 걸립니다.
우회된 작업 스캐너를 사용합니다.
우회된 작업 스캐너 프로세스를 실행하기 전에 먼저 Sun Identity Manager Integrated Development Environment(IDE) 또는 다른 방법을 사용하여 System Configuration 객체를 편집해야 합니다.
'refreshOfType'을 검색하고 '2005Q4M3refreshOfTypeUserIsComplete' 및 '2005Q4M3refreshOfTypeUserUpperBound'의 속성을 제거합니다.
System Configuration 객체를 편집한 후에 변경 사항이 반영되도록 해당 객체를 저장소로 가져와야 합니다.
단점: 이 방법의 경우 거의 모든 User 객체를 조사하여 다시 쓰기 때문에 다음 우회된 작업 스캐너가 실행되는 데 시간이 오래 걸립니다. 그러나 이후에 우회된 작업 스캐너는 일반적인 속도와 시간으로 실행됩니다.
스킵 레벨(skip-level) 업그레이드를 계획 중인 경우에는 다음 절의 업그레이드 참고 사항도 검토하십시오. 후속 버전 Identity Manager에 대한 업그레이드 참고 사항 역시 업그레이드에 적용됩니다.
Oracle 저장소를 사용할 경우 Identity Manager 8.0 및 8.1 저장소 DDL은 이전 Oracle JDBC 드라이버에서 올바르게 처리되지 않는 데이터 유형을 사용합니다. ojdbc14.jar의 JDBC 드라이버가 로그 테이블에 있는 모든 열을 제대로 읽지 못합니다.
Identity Manager가 제대로 작동하도록 하려면 JDK 5 드라이버용 ojdbc5.jar로 업그레이드해야 합니다.
업그레이드를 수행하면 UserUIConfig 객체의 QueryableAttrNames와 SummaryAttrNames 요소 및 User Extended Attributes 객체가 자동으로 IDM Schema Configuration 객체로 변환됩니다. (ID-17784)
샘플 update.xml 스크립트에는 IDMSchemaConfigurationUpdater를 호출하여 레거시 사용자 스키마 구성 객체를 변환하는 import 명령이 들어 있습니다. 레거시 사용자 스키마 구성 객체가 성공적으로 변환되면 다음과 같은 결과가 나타납니다.
IDM Schema Configuration에 User Extended Attributes의 각 확장된 속성 이름에 대한 IDMObjectClassAttribute 요소가 만들어집니다.
UserUIConfig의 SummaryAttrNames 요소에 대한 각 값에 해당하는 모든 IDMObjectClassAttribute에 '요약' 플래그가 설정됩니다.
UserUIConfig의 QueryableAttrNames 요소에 대한 각 값에 해당하는 모든 IDMObjectClassAttribute에 '쿼리 가능’ 플래그가 설정됩니다.
UserUIConfig의 SummaryAttrNames 요소가 비워집니다.
UserUIConfig의 QueryableAttrNames 요소가 비워집니다.
objectClass라는 확장된 속성 이름을 spml2ObjectClass로 바꿉니다. 버전 8.0부터는 objectClass라는 레거시 속성이 Identity Manager 스키마의 기본 속성과 충돌합니다.
Identity Manager 8.0에서는 Roles 객체에 대한 몇 가지 새로운 테이블을 제공합니다. 스키마를 변경하고, 새 테이블 구조를 만들고, 기존 데이터를 이동하려면 db_scripts 디렉토리에 제공된 샘플 스크립트를 사용해야 합니다.
저장소 데이터베이스 테이블 정의를 업데이트하기 전에 저장소 테이블의 전체 백업을 만듭니다.
자세한 내용은 db_scripts/upgradeto8.0from71.DBMSName 스크립트를 참조하십시오.
상위 역할 자체가 중첩된 역할일 수 있으므로 역할 양식에서 상위 역할 필드를 편집할 때는 주의해야 합니다. 상위 역할 및 하위 역할 필드는 역할 및 해당 역할과 연관된 자원(또는 자원 그룹)의 중첩을 나타냅니다. 사용자에게 적용된 상위 역할에는 지정된 모든 하위 역할과 연관된 자원이 포함됩니다. 상위 역할 필드는 표시된 역할을 포함하는 역할을 나타내기 위해 표시됩니다.
업그레이드 프로세스를 진행하는 동안 Identity Manager는 시스템에 있는 모든 역할을 분석한 다음 RoleUpdater 클래스를 사용하여 누락된 하위 역할과 상위 역할 링크를 모두 업데이트합니다.
업그레이드 프로세스 이외의 역할을 확인하고 업그레이드하기 위해 sample/forms/RoleUpdater.xml에 제공된 새 RoleUpdater 구성 객체를 가져올 수 있습니다.
예:
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE Waveset PUBLIC 'waveset.dtd' 'waveset.dtd'> <Waveset> <ImportCommand class='com.waveset.session.RoleUpdater' > <Map> <MapEntry key='verbose' value='true' /> <MapEntry key='noupdate' value='false' /> <MapEntry key='nofixsubrolelinks' value='false' /> </Map> </ImportCommand> </Waveset> |
영역:
verbose: 역할을 업데이트할 때 자세한 정보 출력을 제공합니다. 역할의 자동 업데이트를 활성화하려면 false를 지정합니다.
noupdate: 역할이 업데이트되었는지 확인합니다. 업데이트할 역할만 나열된 보고서를 가져오려면 false를 지정합니다.
nofixsubrolelinks: 상위 역할이 누락된 하위 역할 링크로 업데이트되었는지 확인합니다. 이 값은 기본적으로 false로 설정되고 링크가 복구됩니다.
Identity Manager의 사용자나 역할에 대한 스키마를 보거나 편집해야 하는 관리자는 IDM Schema Configuration AdminGroup에 속해 있어야 하고 IDM Schema Configuration 권한이 있어야 합니다.
Sun Identity Manager 8.0에서는 Identity Manager의 SPML 2.0 구현이 변경되었습니다. 이전 릴리스에서는 SPML 메시지에 사용되는 SPML objectclass 속성이 Identity Manager User 객체의 objectclass 속성에 직접 매핑되었습니다. 이제 objectclass 속성이 spml2ObjectClass 속성에 내부적으로 매핑되고, 내부적으로 여러 용도로 사용됩니다.
기존 사용자의 경우 업그레이드 프로세스에서 objectclass 속성 값의 이름이 자동으로 변경됩니다. SPML 2.0 구성에 objectclass 속성을 참조하는 양식이 포함된 경우에는 이러한 참조를 수동으로 spml2ObjectClass로 변경해야 합니다.
Identity Manager는 업그레이드 과정에서 샘플 spml2.xml 구성 파일을 바꾸지 않습니다. spml2.xml 구성 파일을 시작 지점으로 사용한 경우 이 파일에는 spml2ObjectClass로 수정해야 할 objectclass에 대한 참조가 사용된 양식이 포함되어 있습니다. 양식(속성이 내부적으로 사용되는 위치)의 objectclass 속성은 변경하고 대상 스키마(속성이 외부에 노출되는 위치)의 objectclass 속성은 변경하지 마십시오.
Identity Manager 업그레이드 시 UserUIConfig#getRepoIndexAttributes()를 호출하는 모든 사용자 정의 코드는 제거하거나 Type.USER#getInlineAttributeNames()를 호출하도록 변경해야 합니다. (ID-18051)
update.xml을 가져오면 UserUIConfig RepoIndexAttrs의 값이 RepositoryConfiguration 객체의 Type.USER에 대한 TypeDataStore 요소의 XML 속성 값으로 변환됩니다. update.xml 파일에는 UserUIConfigUpdater를 호출하여 RepoIndexAttrs로 변환하는 import 명령이 들어있는 UserUIConfigUpdater.xml 파일이 포함되어 있습니다. 변환을 하면 SystemConfiguration에서 재변환을 금지하는 플래그도 설정됩니다.
이후 Type.USER의 인라인 속성을 수정하려면 RepositoryConfiguration 객체를 편집하여 변경해야 합니다. 일반적으로 Type.USER의 인라인 속성을 변경하면 모든 Type.USER 객체를 새로 고쳐야 합니다.
RepositoryConfiguration에 변경한 내용은 Identity Manager 서버를 다시 시작해야 적용됩니다.
Sun Identity Manager 8.0에서는 보고서의 차트 및 그래프 표시 방식이 변경되었습니다. 8.0 이전 버전에서 작성한 보고서는 버전 8.0 릴리스에서도 제대로 표시됩니다. 그러나 Sun Identity Manager 8.1에서는 이러한 보고서가 제대로 표시되지 않습니다. 이 문제에 대한 사용 중단 알림이 Sun Identity Manager 릴리스 노트, 버전 8.0(2008년 5월)에 나와 있습니다. (ID-17636)
SaveNoValidate 작업을 사용하는 양식 및 작업 흐름을 새 saveNoValidateAllowedFormsAndWorkflows 목록에 추가해야 합니다. (ID-19115)
Sun Identity Manager 8.1에 추가된 화이트리스트 기능은 양식 이름 ID 목록에 대해 SaveNoValidate 작업을 사용하는 양식 및 작업 흐름을 확인합니다. saveNoValidateAllowedFormsAndWorkflows 목록은 System Configuration 객체의 security 속성에 있습니다. 이 업데이트를 적용하면 양식 이름이나 소유자 ID가 화이트리스트에 있는 경우 양식 또는 작업 흐름에서 SaveNoValidate 작업을 사용할 수 있습니다. 양식 이름이나 소유자 ID가 화이트리스트에 없으면 Save 작업을 사용하여 양식 또는 작업 흐름을 처리합니다.
SaveNoValidate 작업을 사용하는 양식 및 작업 흐름의 ID 또는 양식 이름을 얻으려면 시스템 로그를 확인하거나 com.waveset.ui.util.GenericEditForm에 대해 추적 레벨 4를 켜고 SaveNoValidate를 사용하는 모든 사용자 정의 양식 또는 작업 흐름을 제출합니다. ID를 포함한 경고가 기록됩니다.
화이트리스트에 양식 이름을 추가하는 경우에는 양식에 대해 이름 속성을 설정합니다. 그렇지 않으면 다음과 같은 오류 메시지가 표시됩니다.
SaveNoValidate on null processed as Save because it is not in the saveNoValidateAllowedFormsAndWorkflows list.