|
Sun[TM] Identity Manager 8.0 릴리스 노트 |
설명서 추가 및 수정 사항
이 절에서는 Identity Manager 8.0 설명서 세트를 게시한 후 필요한 새 정보와 수정된 정보에 대해 설명합니다. 이 정보는 다음과 같이 구성됩니다.
Identity Manager 8.0 관리이 절에서는 Sun Java System Identity Manager 관리에 대한 수정 사항을 설명합니다.
Identity Manager Technical Deployment Overview이 절에서는 Sun Java System Identity Manager Technical Deployment Overview의 새 정보와 설명서 수정 사항에 대해 설명합니다.
Identity Manager Technical Deployment Overview의 "Identity Manager 개인 레이블 지정" 장에서 다음 정보를 추가하거나 수정해야 합니다.
th#UserListTreeContent_Col0 {
width: 1px;
}th#UserListTreeContent_Col1 {
width: 1px;
}th#UserListTreeContent_Col2 {
width: 50%;
}th#UserListTreeContent_Col3 {
width: 50%;
}th#ResourceListTreeContent_Col0 {
width: 1px;
}th#ResourceListTreeContent_Col1 {
width: 1px;
}th#ResourceListTreeContent_Col2 {
width: 33%;
}th#ResourceListTreeContent_Col3 {
width: 33%;
}th#ResourceListTreeContent_Col4 {
width: 33%;
}
- 특히 최종 사용자 탐색 표시줄(탭)에서 사용자 정의 JavaScript 함수를 사용하려는 고객은 endUserNavigation을 사용하여 해당 양식을 참조해야 합니다. 예: document.forms['endUserNavigation'].elements. (ID-13769)
- 액세스 검토 대시보드 및 액세스 검토 세부 내용 보고서는 감사 로그에 기록된 검토 인스턴스를 모두 표시합니다. 데이터베이스를 유지 관리하지 않으면 감사 로그를 절대 지울 수 없으며 검토 목록이 커집니다. Identity Manager는 특정 지속 기간 범위에 표시될 검토를 제한하는 기능을 제공합니다. 이 제한을 변경하려면 compliance/dashboard.jsp(대시보드의 경우) 및 sample/auditortasks.xml(세부 내용 보고서의 경우)을 사용자 정의해야 합니다. 기본값은 2년이 지나지 않은 검토만 표시합니다.
- 코드 예 5-5는 코드 예 5-4에 표시될 정보를 포함합니다.
코드 예 5-4는 다음과 같아야 합니다.
코드 예 5.5는 다음과 같아야 합니다.
코드 예 5-5 탭 패널 탭 변경
table.Tab2TblNew td {background-image:url(../images/other/dot.gif);background-repeat:repeat-x;background-position:left top;background-color:#CCCCFF;border:solid 1px #8f989f}
table.Tab2TblNew td.Tab2TblSelTd {border-bottom:none;background-image:url(../images/other/dot.gif);background-repeat:repeat-x;background-position:left bottom;background-color:#FFF;border-left:solid 1px #8f989f;border-right:solid 1px #8f989f;border-top:solid 1px #8f989f}
이제 브라우저 제목 표시줄의 제품 이름 문자열을 선택한 현지화 가능한 문자열로 대체할 수 있습니다.
- 다음 XML 파일을 가져옵니다.
코드 예 5-4 가져올 XML
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'>
<Configuration name='AltMsgCatalog'>
<Extension>
<CustomCatalog id='AltMsgCatalog' enabled='true'>
<MessageSet language='en' country='US'>
<Msg id='UI_BROWSER_TITLE_PROD_NAME_OVERRIDE'>Override Name</Msg>
</MessageSet>
</CustomCatalog>
</Configuration>
</Extension>
- Identity Manager IDE를 사용하여 편집할 System Configuration 객체를 로드합니다. 새로운 최상위 수준 속성을 추가합니다.
Name = customMessageCatalog
Type = string
Value = AltMsgCatalog
- ui.web 일반 객체를 열고 browserTitleProdNameOverride 속성을 찾습니다. 이 값을 true로 설정합니다.
- System Configuration 객체에 대한 이 변경 사항을 저장하고 응용 프로그램 서버를 다시 시작합니다.
- "Identity Manager 최종 사용자 페이지 사용자 정의"에 제공된 로그인 페이지 사용자 정의 지침에서 메시지 키에 대한 다음 정보가 포함되어야 합니다. (ID-16072)
JSP 또는 Identity Manager 구성 요소
영향을 받는 인터페이스
메시지 키
로그인 페이지 제목
어드민 관리자 및 사용자
UI_LOGIN_TITLE_TO_RESOURCE
UI_LOGIN_CHALLENGE
로그인 페이지 부제
어드민 관리자 및 사용자
비밀번호 분실, 사용자 ID 분실, 로그인 시도 등 로그인 모드에 따라 키를 선택합니다.
UI_LOGIN_WELCOME3
UI_LOGIN_WELCOME4
UI_LOGIN_WELCOME5
UI_LOGIN_WELCOME6
UI_LOGIN_CHALLENGE_INFO
staticLogout.jsp 및 user/staticUserLogout.jsp
어드민 관리자 및 사용자
UI_LOGIN_TITLE
continueLogin.jsp
어드민 관리자
UI_LOGIN_IN_PROGRESS_TITLE
UI_LOGIN_WELCOME
기본 "... 사용자로 로그인" 텍스트 변경
- 다음 XML 파일을 가져옵니다.
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'>
<Configuration name='AltMsgCatalog'>
<Extension>
<CustomCatalog id='AltMsgCatalog' enabled='true'>
<MessageSet language='en' country='US'>
<Msg id='UI_NAV_FOOT_LOG_AS'>mytext {0}!</Msg>
</MessageSet>
</CustomCatalog>
</Extension>
</Configuration>
- <Configuration><Extension><Object> 요소의 System Configuration 객체에 다음 줄을 추가합니다.
- 변경 사항을 저장하고 응용 프로그램 서버를 다시 시작합니다.
Identity Manager Workflows, Forms, and Views이 절에서는 Sun Java System Identity Manager Workflows, Forms, and Views의 새 정보와 설명서 수정 사항에 대해 설명합니다.
1장, Identity Manager 작업 흐름
- Identity Manager 준수에서는 응용 프로그램의 통합 및 사용자 정의 지점으로 작업 흐름을 사용합니다. 기본 준수 관련 작업 흐름에 대한 설명은 다음과 같습니다. (ID-15447)
작업 흐름 이름
목적
수정
단일 준수 위반으로 작업하는 단일 수정자의 수정
액세스 검토 수정
단일 UserEntitlement로 작업하는 단일 수정자의 수정
증명
단일 UserEntitlement로 작업하는 단일 증명자의 증명
다중 수정
단일 준수 위반과 여러 수정자의 수정
준수 위반 업데이트
준수 위반 완화
액세스 검토 실행
액세스 검토 작업에서 액세스 검색 작업 실행
자격 다시 검색 실행
단일 사용자에 대해 액세스 검색의 다시 검색 실행
위반 다시 검색 실행
단일 사용자에 대해 감사 정책 검색의 다시 검색 실행
- maxSteps 등록 정보의 설명이 다음과 같이 수정되었습니다. (ID-15618)
2장, 작업 흐름 서비스
- createView 세션 작업 흐름 서비스의 인수 테이블이 잘못되었습니다. 다음 표에서는 이 서비스에 사용할 수 있는 인수를 설명합니다. (ID-14201)
표 1
이름
필수
유효한 값
설명
op
예
createView
viewId
예
만들 보기 유형을 지정합니다.
options
아니오
보기별 옵션을 지정합니다. 사용 중인 보기와 관련된 값만 전달할 수 있습니다. 사용자 보기가 가장 일반적입니다.
옵션은 session.UserViewConstants에 있습니다. 간단한 보기는 Viewer.java 파일에서 옵션 상수를 선언해야 합니다.
작업 흐름에 사용되는 두 번째로 일반적인 보기는 ProcessViewer이며, 그 다음은 PasswordViewer, DisableViewer, EnableViewer 및 RenameViewer입니다. 이러한 보기는 상대적으로 적은 수의 옵션을 제공합니다.
- disableUser 작업 흐름 서비스에 대한 설명에서 이 서비스는 Identity Manager 계정과 자원 계정을 기본적으로 비활성화한다고 명시해야 합니다. (ID-14572) Identity Manager 계정을 비활성화하지 않으려면 다음 인수를 전달합니다.
프로비저닝 작업 흐름 서비스 잠금
객체를 잠그려면 사용합니다.
인수
필수
설명
subject
아니오
호출에 유효한 제목을 나타냅니다. 이 인수를 지정하지 않으면 Identity Manager에서는 작업의 subject를 사용합니다. 이 인수 값이 none이면 Identity Manager는 권한 부여를 수행하지 않습니다.
options
아니오
(맵) 옵션 이름/옵션 값 쌍의 값 맵. 이 인수를 지정하지 않으면 아래의 특정 인수가 사용됩니다. 이 인수를 지정하면 아래의 특정 인수가 이 옵션 맵에 있는 동일한 인수를 대체합니다.
accountId
아니오
(문자열) 잠글 Identity Manager 사용자의 이름을 나타냅니다.
adminName
아니오
(문자열) 작업을 수행하는 어드민 관리자의 이름을 나타냅니다.
loginAppName
아니오
(문자열) 로그인 응용 프로그램 이름을 지정합니다.
op
예
유효한 값은 unlock입니다.
이 메소드는 null 값을 반환합니다.
작업 흐름 서비스 잠금 해제
잠긴 객체의 잠금을 해제하려면 사용합니다.
표 0-2
인수
필수
설명
subject
아니오
(문자열) 호출에 유효한 제목을 나타냅니다. 이 인수를 지정하지 않으면 작업의 subject가 사용됩니다. 이 인수 값이 none이면 권한 부여 작업이 수행되지 않습니다.
options
아니오
(맵) 옵션 이름/옵션 값 쌍의 값 맵. 이 인수를 지정하지 않으면 Identity Manager에서는 아래의 특정 인수를 사용합니다. 이 인수를 지정하면 아래의 특정 인수가 이 옵션 맵에 있는 동일한 인수를 대체합니다.
accountId
아니오
(문자열) 잠금을 해제할 Identity Manager 사용자의 이름을 나타냅니다.
adminName
아니오
(문자열) 작업을 수행하는 어드민 관리자의 이름을 나타냅니다.
loginAppName
아니오
(문자열) 로그인 응용 프로그램 이름을 지정합니다.
doLighthouse
아니오
(부울) Identity Manager 계정의 잠금을 해제할지 여부를 나타냅니다.
doResources
아니오
(부울) 사용자 자원의 잠금을 해제할지 여부를 나타냅니다.
doAuthenticators
아니오
(부울) true이면 모든 통과(pass-through) 인증을 잠금 해제합니다.
op
예
유효한 값은 unlock입니다.
이 메소드는 WavesetResult를 작업 결과와 함께 반환합니다.
3장, Identity Manager 양식
Identity Manager 감사 및 준수 양식에서는 Identity Manager 양식의 고유한 기능을 제공합니다. 사용자별 또는 조직별로 양식을 할당할 수 있습니다. 사용자별로 할당된 양식을 사용하면 증명 및 수정 처리 효율을 높일 수 있습니다.
예를 들어 Identity Manager가 액세스 검토, 수정 또는 준수 위반 수정 컨텍스트에서 사용자를 편집하기 위해 표시하는 사용자 양식을 지정할 수 있습니다. 사용자 또는 조직 수준에서 이 사용자 양식을 지정할 수 있습니다. Identity Manager가 액세스 검토 다시 검색 또는 액세스 검토 수정 컨텍스트에서 사용자를 다시 검색하는 경우 이 작업은 AccessScan에 정의된 감사 정책을 준수합니다. 지속적 준수 감사 정책을 포함하도록 정의할 수 있습니다.
관련 정보
감사 관련 양식 처리 정보
userForm 및 viewUserForm과 마찬가지로 특정 사용자 또는 조직에 대해 양식을 설정할 수 있으며, 사용자(또는 조직에 있는 모든 사용자)는 그 양식을 사용합니다. 특정 양식을 사용자와 조직에 모두 설정한 경우에는 사용자에 설정한 양식이 우선적으로 적용됩니다. (양식을 조회할 때 Identity Manager는 조직을 우선적으로 검색합니다.)
감사 관련 양식은 사용자 양식 및 보기 사용자 양식과 같은 방식으로 작동합니다. 각 사용자는 사용할 특정 양식을 지정할 수 있으며 특정 사용자가 조직에 따라 사용해야 할 양식을 결정할 수 있습니다.
사용자 양식 지정
기본 감사 관련 양식
다음 표에는 Identity Manager와 함께 제공되는 기본 감사 관련 양식이 있습니다.
표 4
양식 이름
매핑된 이름
사용자별 제어
일반 목적
액세스 승인 목록
accessApprovalList
증명 작업 항목의 목록 표시
액세스 검토 삭제 확인
accessReviewDeleteConfirmation
액세스 검토 삭제 확인
액세스 검토 중단 확인
accessReviewAbortConfirmation
액세스 검토 종료 확인
액세스 검토 대시보드
accessReviewDashboard
모든 액세스 검토 목록 표시
액세스 검토 수정 양식
accessReviewRemediationWorkItem
예
각 UE 기반 수정 작업 항목 렌더링
액세스 검토 요약
accessReviewSummary
특정 액세스 검토 세부 정보 표시
액세스 검색 양식
accessScanForm
액세스 검색 표시 또는 편집
액세스 검색 목록
accessScanList
모든 액세스 검색 목록 표시
액세스 검색 삭제 확인
accessScanDeleteConfirmation
액세스 검색 삭제 확인
액세스 승인 목록
attestationList
예
모든 보류 중인 증명 목록 렌더링
증명 양식
attestationWorkItem
예
각 증명 작업 항목 렌더링
UserEntitlementForm
userEntitlementForm
UserEntitlement의 내용 표시
UserEntitlement 요약 양식
userEntitlementSummaryForm
위반 세부 정보 양식
violationDetailForm
준수 위반의 세부 정보 표시
수정 목록
remediationList
예
수정 작업 항목의 목록 표시
감사 정책 목록
auditPolicyList
감사 정책의 목록 표시
감사 정책 삭제 확인 양식
auditPolicyDeleteConfirmation
감사 정책의 삭제 확인
충돌 위반 세부 정보 양식
conflictViolationDetailsForm
SOD 위반 매트릭스 표시
준수 위반 요약 양식
complianceViolationSummaryForm
수정 양식
reviewWorkItem
예
준수 위반 렌더링
이러한 양식을 사용자 정의하는 이유
입증인과 수정자는 입증 및 수정을 좀더 효율적으로 수행하는 데 필요한 정확한 세부 사항을 표시하는 양식을 지정할 수 있습니다. 예를 들어 자원 입증자는 특정 자원에 관련된 속성을 목록 양식으로 표시하여 각 특정 작업 항목을 보지 않고도 증명할 수 있습니다. 이 양식은 관련 자원 유형(및 속성)에 따라 다르기 때문에 입증인별로 양식을 사용자 정의하는 것이 합리적입니다.
증명하는 동안 각 입증인은 고유한 관점에서 자격을 볼 수 있습니다. 예를 들어, idmManager 입증인은 일반적인 방식으로 사용자 자격을 보는 한편 자원 입증인은 자원별 데이터에만 관심을 보일 수 있습니다. 각 입증인이 증명 목록 양식과 AttestationWorkItem 양식을 모두 조정하여 필요한 정보만 검색 및 표시하여 제품 인터페이스의 효율을 높일 수 있습니다.
검색 작업 변수
감사 정책 검색 작업과 액세스 검색 작업의 작업 정의는 모두 작업을 시작할 때 사용할 양식을 지정합니다. 이 양식에는 대부분의 검색 작업 변수를 제어할 수 있는 필드가 있습니다.
변수 이름
기본값
목적
maxThreads
5
단일 스캐너에서 한 번에 작업할 동시 사용자 수를 확인합니다. 이 값을 높이면 매우 느린 자원의 계정으로 사용자를 검색할 때 처리량이 높아질 수 있습니다.
userLock
5000
검색할 사용자의 잠금을 얻기 위해 소요된 시간(mS)을 나타냅니다. 몇 개의 동시 검색에서 같은 사용자를 검색할 때 사용자의 자원 속도가 느린 경우 이 값을 높이면 잠금 오류는 줄어들지만 전체 검색 속도가 더 느려집니다.
scanDelay
0
새 검색 스레드를 실행하기 전에 지연할 시간(mS)을 나타냅니다. 양수로 설정하면 스캐너가 CPU를 덜 차지하도록 할 수 있습니다.
- 이제 경고(WARNING), 오류(ERROR), 또는 정보(OK) 알림 메시지를 XPRESS 양식에 삽입할 수 있습니다. (ID-14540, ID-14953)
- Identity Manager IDE를 사용하여 경고를 추가할 양식을 엽니다.
- 주 EditForm 또는 HtmlPage 표시 클래스에 <Property name='messages'>를 추가합니다.
- 다음 샘플 코드에서 <defvar name='msgList'> 코드 블록을 추가합니다.
- 코드 샘플 문자열의 알림 상자에 표시할 메시지 텍스트를 확인하는 메시지 키를 대체합니다.
<message name='UI_USER_REQUESTS_ACCOUNTID_NOT_FOUND_ALERT_VALUE >
- 파일을 저장하고 닫습니다.
코드 예
<Display class='EditForm'>
<Property name='componentTableWidth' value='100%'/>
<Property name='rowPolarity' value='false'/>
<Property name='requiredMarkerLocation' value='left'/>
<Property name='messages'>
<ref>msgList</ref>
</Property>
</Display>
<defvar name='msgList'>
<cond>
<and>
<notnull>
<ref>username</ref>
</notnull>
<isnull>
<ref>userview</ref>
</isnull>
</and>
<list>
<new class='com.waveset.msgcat.ErrorMessage'>
<invoke class='com.waveset.msgcat.Severity' name='fromString'>
<s>warning</s>
</invoke>
<message name='UI_USER_REQUESTS_ACCOUNTID_NOT_FOUND_ALERT_VALUE'>
<ref>username</ref>
</message>
</new>
</list>
</cond>
</defvar>
4장, Identity Manager 보기
공통 속성
조직 보기의 상위 수준 속성이 다음 표에 나열되어 있습니다.
이름
편집 가능
데이터 유형
필수
orgName
읽기
문자열
시스템에서 생성됨
orgDisplayName
읽기/쓰기
문자열
예
orgType
읽기/쓰기
문자열
아니오
orgId
읽기
문자열
시스템에서 생성됨
orgAction
쓰기
문자열
아니오
orgNewDisplayName
쓰기
문자열
아니오
orgParentName
읽기/쓰기
문자열
아니오
orgChildOrgNames
읽기
목록
시스템에서 생성됨
orgApprovers
읽기/쓰기
목록
아니오
allowsOrgApprovers
읽기
목록
시스템에서 생성됨
allowedOrgApproverIds
읽기
목록
시스템에서 생성됨
orgUserForm
읽기/쓰기
문자열
아니오
orgViewUserForm
읽기/쓰기
문자열
아니오
orgPolicies
읽기/쓰기
목록
아니오
orgAuditPolicies
읽기/쓰기
목록
아니오
renameCreate
읽기/쓰기
문자열
아니오
renameSaveAs
읽기/쓰기
문자열
아니오
orgName
조직의 UID를 나타냅니다. 조직의 단축 이름은 같을 수도 있지만 상위 조직이 다르기 때문에 이 값은 대부분의 보기 객체 이름과 다릅니다.
orgDisplayName
조직의 단축 이름을 지정합니다. 이 값은 표시용으로만 사용되며 고유해야 할 필요는 없습니다.
orgType
조직 유형을 정의하며, 허용되는 값은 junction 또는 virtual입니다. junction 또는 virtual 유형이 아닌 조직에는 값이 없습니다.
orgId
Identity Manager에서 조직을 고유하게 식별하는 데 사용되는 ID를 지정합니다.
orgAction
디렉토리 접합, 가상 조직 및 동적 조직에서만 지원됩니다. 허용되는 값은 refresh입니다. 조직이 디렉토리 접합이거나 가상 조직인 경우 새로 고침 작업의 동작은 orgRefreshAllOrgsUserMembers 값에 따라 결정됩니다.
orgNewDisplayName
조직 이름을 변경할 때 새 단축 이름을 지정합니다.
orgParentName
상위 조직의 전체 경로 이름을 나타냅니다.
orgChildOrgNames
모든 직접 및 간접 하위 조직의 Identity Manager 인터페이스 이름을 나열합니다.
orgApprovers
이 조직에 추가되거나 해당 조직에서 수정된 사용자를 승인하는 데 필요한 Identity Manager 어드민 관리자를 나열합니다.
allowedOrgApprovers
이 조직에 추가되거나 해당 조직에서 수정된 사용자의 승인자가 될 수 있는 사용자 이름을 나열합니다.
allowedOrgApproverIds
이 조직에 추가되거나 해당 조직에서 수정된 사용자의 승인자가 될 수 있는 사용자의 ID를 나열합니다.
orgUserForm
이 조직의 구성원 사용자가 사용자를 작성 또는 편집할 때 사용하는 userForm을 지정합니다.
orgViewUserForm
이 조직의 구성원 사용자가 사용자를 볼 때 사용하는 보기 사용자 양식을 지정합니다.
orgPolicies
이 조직의 모든 구성원 사용자에 적용되는 정책을 나타냅니다. 유형 문자열로 입력되는 객체의 목록입니다. 각 정책 객체에는 접두어로 orgPolicies[<type>]가 사용되는 다음 보기 속성이 포함됩니다. <type>은 정책 유형(예: Lighthouse 계정)을 나타냅니다.
orgAuditPolicies
이 조직의 모든 구성원 사용자에 적용되는 감사 정책을 지정합니다.
renameCreate
true로 설정된 경우 이 조직을 복제하고 orgNewDisplayName 값을 사용하여 새 조직을 만듭니다.
renameSaveAs
true로 설정된 경우 orgNewDisplayName 값을 사용하여 이 조직의 이름을 변경합니다.
디렉토리 접합 및 가상 조직 속성
이름
편집 가능
데이터 유형
필수
orgContainerId
읽기
문자열
시스템에서 생성됨
orgContainerTypes
읽기
목록
시스템에서 생성됨
orgContainers
읽기
목록
시스템에서 생성됨
orgParentContainerId
읽기
문자열
시스템에서 생성됨
orgResource
읽기/쓰기
문자열
예, 디렉토리 접합 또는 가상 조직의 경우
orgResourceType
읽기
문자열
시스템에서 생성됨
orgResourceId
읽기
문자열
시스템에서 생성됨
orgRefreshAllOrgsUserMembers
쓰기
문자열
아니오
orgContainerId
연결된 LDAP 디렉토리 컨테이너의 dn을 지정합니다(예: cn=foo,ou=bar,o=foobar.com).
orgContainerTypes
다른 자원 객체를 포함할 수 있는 허용된 자원 객체 유형을 나열합니다.
orgContainers
Identity Manager 인터페이스에서 선택 목록을 표시할 때 사용되는 자원의 기본 컨테이너를 나열합니다.
orgParentContainerId
연결된 상위 LDAP 디렉토리 컨테이너의 dn을 지정합니다(예: ou=bar,o=foobar.com).
orgResource
디렉토리 접합 및 가상 조직의 동기화에 사용되는 Identity Manager 자원의 이름을 지정합니다(예: West Directory Server).
orgResourceType
디렉토리 접합 및 가상 조직의 동기화 원본이 되는 Identity Manager 자원 유형을 나타냅니다(예: LDAP).
orgResourceId
디렉토리 접합 및 가상 조직의 동기화에 사용되는 Identity Manager 자원의 ID를 지정합니다.
orgRefreshAllOrgsUserMembers
true이고 orgAction 값이 refresh이면 Identity 조직 사용자 구성원을 선택한 조직과 모든 하위 조직의 자원 컨테이너 사용자 구성원과 동기화합니다. false이면 자원 컨테이너 사용자 구성원이 동기화되지 않고, 선택한 조직 및 모든 하위 조직의 Identity 조직에 해당되는 자원 컨테이너만 동기화됩니다.
동적 조직 속성
orgUserMembersRule
authType이 UserMembersRule이고 사용자 구성원 결정을 위해 런타임 시 평가되는 규칙을 이름 또는 UID로 나타냅니다.
orgUserMembersCacheTimeout
orgUserMembersRule에서 반환되는 사용자 구성원을 캐시하는 경우 캐시 시간이 초과되기 전까지의 시간(밀리초)을 지정합니다. 0의 값은 캐시하지 않는 경우를 나타냅니다.
이제 사용자 보기에 대한 설명에는 accounts[Lighthouse].delegates 속성에 대한 다음과 같은 설명이 포함됩니다. (ID-15468)
accounts[Lighthouse].delegates
workItemType별로 색인화된 위임 객체를 나열합니다. 여기서 각 객체는 특정 작업 항목 유형의 위임 정보를 지정합니다.
accounts[Lighthouse].delegatesHistory
0에서 n까지 색인화된 위임 객체를 나열합니다. 여기서 n은 위임 내역 깊이까지의 현재 위임 내역 객체 수입니다.
이 속성에는 고유한 속성 selected가 있습니다. 이 속성은 현재 선택된 위임 내역 객체를 나타내는 부울 값입니다.
accounts[Lighthouse].delegatesOriginal
가져오기 작업이나 체크아웃 보기 작업 이후에 workItemType별로 색인화된 위임 객체의 원래 목록입니다.
모든 accounts[Lighthouse].delegates* 속성에는 다음 속성이 사용됩니다.
accounts[Lighthouse].delegate* 속성의 속성
설명
workItemType
위임되는 workItem 유형을 확인합니다. 유효한 workItem 유형 목록은 이 설명서 부록의 Identity Manager Technical Deployment Overview 절에 있는 위임 객체 모델 설명을 참조하십시오.
workItemTypeObjects
사용자가 미래의 workItem 승인 요청을 위임하는 특정 역할, 자원 또는 조직의 이름을 나열합니다. workItemType 값이 roleApproval, resourceApproval 또는 organizationApproval이면 이 속성이 유효합니다.
이 속성이 지정되지 않으면, 기본적으로 이 사용자가 승인자인 모든 역할, 자원 또는 조직에 대해 미래의 workItem 요청 위임을 지정합니다.
toType
위임 대상 유형입니다. 유효한 값은 다음과 같습니다.
manager
delegateWorkItemsRule
selectedUsers
toUsers
위임 대상 사용자의 이름을 나열합니다(toType이 selectedUsers인 경우).
toRule
평가를 통해 위임 대상 사용자 집합을 결정하는 규칙의 이름을 지정합니다(toType이 delegateWorkItemsRule인 경우).
startDate
위임을 시작할 날짜를 지정합니다.
endDate
위임이 끝나는 날짜를 지정합니다.
양식에서 DelegateWorkItems 보기 객체 참조
다음 코드 샘플은 다음 양식에서 DelegateWorkItems 보기 위임 객체를 참조하는 방법을 보여줍니다.
<Field name='delegates[*].workItemType'>
<Field name='delegates[*].workItemTypeObjects'>
<Field name='delegates[*].toType'>
<Field name='delegates[*].toUsers'>
<Field name='delegates[*].toRule'>
<Field name='delegates[*].startDate'>
<Field name='delegates[*].endDate'>
여기서 지원되는 색인 값(*)은 workItemType 값입니다.
이름
편집 가능
유형
필수
name
문자열
예
status
문자열
예
user
문자열
예
userId
문자열
예
attestorHint
문자열
아니오
userView
GenericObject
예
reviewInstanceId
문자열
예
reviewStartDate
문자열
예
scanId
문자열
예
scanInstanceId
문자열
예
approvalWorkflowName
문자열
예
organizationId
문자열
예
attestorComments.name
문자열
아니오
attestorComments.attestor
문자열
아니오
attestorComments.time
문자열
아니오
attestorComments.timestamp
문자열
아니오
attestorComments.status
아니오
name
User Entitlement를 고유 식별자로 나타냅니다.
status
User Entitlement 객체의 상태를 지정합니다. 유효한 상태에는 PENDING, ACCEPTED, REJECTED, REMEDIATING, CANCELLED가 포함됩니다.
user
이 자격에 연결된 WSUser의 이름을 나타냅니다.
userId
연결된 WSUser의 ID를 지정합니다.
attestorHint
검토 결정 규칙에서 제공되는 입증인에 대한 (문자열) 힌트를 표시합니다. 이 힌트는 규칙에서 입증인에게 제공하는 "권고"로 사용됩니다.
userView
User Entitlement 스캐너에서 캡처된 사용자 보기를 포함합니다. 이 보기에는 Access Scan 객체의 구성에 따라 0개 이상의 자원 계정이 포함됩니다.
reviewInstanceId
PAR 작업 인스턴스의 ID를 지정합니다.
reviewStartDate
PAR 작업의 (문자열) 시작일을 지정한 형식으로 나타냅니다.
scanId
AccessScan 작업 정의의 ID를 지정합니다.
scanInstanceId
AccessScan 작업 인스턴스의 ID를 지정합니다.
approvalWorkflowName
승인을 위해 실행할 작업 흐름의 이름을 나타냅니다. 이 값은 액세스 검색 작업 정의에서 가져옵니다.
organizationId
검색 당시를 기준으로 WSUser의 조직 ID를 지정합니다.
attestorComments
해당 자격에 대한 증명 레코드를 나열합니다. 각 증명 레코드는 승인, 거부 및 다시 검색 등 자격에 대해 수행된 작업 또는 문을 나타냅니다.
attestorComments[timestamp].name
목록에서 이 요소의 식별에 사용되는 타임스탬프입니다.
attestorComments[timestamp].attestor
자격에 대한 설명을 입력하는 입증인의 WSUser 이름을 나타냅니다.
attestorComments[timestamp].time
입증인이 이 레코드를 증명한 시간을 나타냅니다. 타임스탬프와 다를 수도 있습니다.
attestorComments[timestamp].status
입증인이 할당한 상태를 나타냅니다. 어느 문자열이나 될 수 있지만 보통은 승인, 거부, 다시 검색, 수정 등 입증인이 수행한 작업을 나타내는 문자열입니다.
attestorComments[name].comment
입증인이 추가한 설명이 포함됩니다.
- 다음 사용자 보기 속성이 더 이상 사용되지 않습니다. (ID-15468)
- accounts[Lighthouse].delegateApproversTo
- accounts[Lighthouse].delegateApproversSelected
- accounts[Lighthouse].delegateApproversStartDate
- accounts[Lighthouse].delegateApproversEndDate
- 위임 승인자 보기가 더 이상 사용되지 않지만 workItemType이 approval인 위임 객체를 편집하는 경우에는 아직 적용이 가능합니다.
6장, XPRESS 언어
8장, HTML 표시 구성 요소
MultiSelect 구성 요소(애플릿 또는 HTML 버전)를 사용하여 여러 어드민 관리자 역할을 표시하는 일은 번거로울 수 있습니다. Identity Manager에서는 어드민 관리자 역할: objectSelector 필드 서식 파일을 표시 및 관리하는 보다 확장 가능한 방법을 제공합니다. (ID-15433)
확장 가능한 선택 라이브러리(sample/formlib.xml)에는 objectSelector 필드 서식 파일을 사용하여 사용자가 선택할 수 있는 어드민 관리자 역할 이름을 검색하는 예가 포함되어 있습니다.
코드 예 objectSelector 필드 서식 파일의 예
<Field name='scalableWaveset.adminRoles'>
<FieldRef name='objectSelector'>
<Property name='selectorTitle' value='_FM_ADMIN_ROLES'/>
<Property name='selectorFieldName' value='waveset.adminRoles'/>
<Property name='selectorObjectType' value='AdminRole'/>
<Property name='selectorMultiValued' value='true'/>
<Property name='selectorAllowManualEntry' value='true'/>
<Property name='selectorFixedConditions'>
<appendAll>
<new class='com.waveset.object.AttributeCondition'>
<s>hidden</s>
<s>notEquals</s>
<s>true</s>
</new>
<map>
<s>onlyAssignedToCurrentSubject</s>
<Boolean>true</Boolean>
</map>
</appendAll>
</Property>
<Property name='selectorFixedInclusions'>
<appendAll>
<ref>waveset.original.adminRoles</ref>
</appendAll>
</Property>
</FieldRef>
</Field>
objectSelector 코드 예를 사용하는 방법
- Identity Manager IDE에서 어드민 관리자 라이브러리 UserForm 객체를 엽니다.
- 이 양식에 다음 코드를 추가합니다.
<Include>
<ObjectRef type='UserForm' name='Scalable Selection Library'/>
</Include>
- AdministratorFields 필드에 있는 accounts[Lighthouse].adminRoles 필드를 선택합니다.
- accounts[Lighthouse].adminRoles 전체를 다음 참조로 대체합니다.
<FieldRef name='scalableWaveset.adminRoles'/>
- 객체를 저장합니다.
이후에 사용자를 편집하고 보안 탭을 선택하면 Identity Manager에서 사용자 정의 양식이 표시됩니다. ...를 누르면 선택기 구성 요소가 열리고 검색 필드가 표시됩니다. 이 필드를 사용하여 텍스트 문자열로 시작하는 어드민 관리자 역할을 검색하고 필드 값을 하나 이상의 값으로 설정합니다.
양식을 복원하려면 구성 > 교환 파일 가져오기에서 $WSHOME/sample/formlib.xml을 가져옵니다.
objectSelector 서식 파일을 사용하여 여러 객체가 있는 환경에서 자원 및 역할을 관리하는 다른 예는 sample/formlib.xml의 확장 가능한 선택 라이브러리를 참조하십시오.
- 이제 TabPanel 구성 요소에 대한 설명에는 validatePerTab 등록 정보에 대한 다음과 같은 설명이 포함됩니다. (ID-15501)
메뉴 구성 요소는 Menu, MenuBar 및 MenuItem의 세 클래스로 구성됩니다.
Menu에는 다음 등록 정보가 포함되어 있습니다.
MenuBar에는 다음 등록 정보가 포함되어 있습니다.
MenuItem에는 다음 등록 정보가 포함되어 있습니다.
이 등록 정보는 MenuBar 또는 MenuItem에서 설정할 수 있습니다.
다음 XPRESS 예에서는 두 개의 탭이 있는 메뉴를 만듭니다. 둘째 탭에는 두 개의 하위 탭이 있습니다.
코드 예 Menu, MenuItem 및 MenuBar 구성 요소의 구현
<Display class='Menu'/>
<Field>
<Display class='MenuItem'>
<Property name='URL' value='user/main.jsp'/>
<Property name='title' value='Home' />
</Display>
</Field>
<Field>
<Display class='MenuBar' >
<Property name='title' value='Work Items' />
<Property name='URL' value='user/workItemListExt.jsp'/>
</Display>
<Field>
<Display class='MenuItem'>
<Property name='URL' value='user/workItemListExt.jsp'/>
<Property name='title' value='Approvals' />
</Display>
</Field>
<Field>
<Display class='MenuItem'>
<Property name='URL' value='user/otherWorkItems/listOtherWorkItems.jsp'/>
<Property name='title' value='Other' />
</Display>
</Field>
</Field>
ListEditor
편집 가능한 문자열 목록을 렌더링합니다.
표 5 ListEditor 구성 요소의 등록 정보
등록 정보
설명
listTitle
(문자열) Identity Manager에서 ListEditor 그래픽 표현 옆에 배치하는 레이블을 지정합니다.
pickListTitle
(문자열) picklist 구성 요소에 사용할 레이블을 지정합니다.
valueMap
(맵) 목록의 값에 대한 표시 레이블 맵을 지정합니다.
allowDuplicates
(부울) 값이 true이면 Identity Manager가 관리되는 목록에서 중복을 허용합니다.
allowTextEntry
(부울) 값이 true이면 Identity Manager에서 텍스트 입력란을 추가 버튼과 함께 표시합니다.
fixedWidth
(부울) 값이 true이면 구성 요소가 고정 너비여야 합니다(Multiselect 구성 요소와 동일한 동작).
ordered
(부울) 값이 true이면 값의 순서가 중요합니다.
sorted
(부울) 값이 true이면 선택 목록에서 값을 정렬해야 합니다. 값이 여러 개의 값을 가지며 순서가 정해지지 않은 경우에도 Identity Manager에서는 값 목록을 정렬합니다.
pickValueMap
(목록 또는 맵) 선택 목록의 값에 대한 표시 레이블 맵을 지정합니다.
pickValues
(목록) picklist 구성 요소에 사용 가능한 값을 지정합니다. null이면 picklist가 표시되지 않습니다.
height
(정수) 기본 높이를 지정합니다.
width
(정수) 기본 너비를 지정합니다. 컨테이너에서 이 항목이 렌더링되는 테이블 셀의 등록 정보로 사용될 수 있습니다.
예
탭으로 구성된 사용자 양식의 다음 예는 ListEditor 표시 클래스를 사용하는 양식 필드를 보여 줍니다.
<Field name='accounts[Sim1].Group'>
<Display class='ListEditor' action='true'>
<Property name='listTitle' value='stuff'/>
<Property name='allowTextEntry'>
<Boolean>true</Boolean>
</Property>
<Property name='ordered'>
<Boolean>true</Boolean>
</Property>
</Display>
<Expansion>
<ref>accounts[Sim1].Group</ref>
</Expansion>
</Field>
이 코드 조각은 고객이 사용자에게 그룹을 추가하거나 사용자로부터 그룹을 제거할 수 있는 필드를 만듭니다.
Identity Manager 로그인 페이지에 대해 autocomplete 활성화
ui.web.disableAutocomplete 시스템 구성 객체를 true로 변경하여 Identity Manager 로그인 페이지에서 이 기능을 활성화할 수 있습니다. Identity Manager 로그인 페이지에는 login.jsp, continueLogin.jsp, user/login.jsp 및 user/continueLogin.jsp가 포함되어 있습니다.
이전 양식이 아닌 Identity Manager 로그인 양식은 XPRESS에서 생성되므로 새 표시 등록 정보를 사용하려면 이러한 양식을 편집해야 합니다. 이러한 양식은 샘플 디렉토리에 있으며, 기본적으로 이 등록 정보를 주석 처리된 상태로 포함합니다.
부록 A, 양식 및 프로세스 매핑
- 이 부록의 업데이트된 버전이 이 릴리스 노트와 같은 디렉토리에 양식 및 프로세스 매핑이라는 제목으로 포함되어 있습니다.
- 매핑된 이름을 통해 준수별로 작업에 액세스할 수 있습니다. (ID-15447)
프로세스 이름
매핑된 이름
설명
액세스 검토
accessReview
액세스 검토를 수행합니다.
액세스 검색
accessReviewScan
액세스 검색을 수행합니다.
액세스 검토 다시 검색
accessReviewRescan
액세스 다시 검색을 수행합니다.
감사 정책 다시 검색
auditPolicyRescan
감사 정책 다시 검색을 수행합니다.
액세스 검토 중단
abortAccessReview
액세스 검토를 종료합니다.
액세스 검토 삭제
deleteAccessReview
액세스 검토를 삭제합니다.
액세스 검토 복구
recoverAccessReview
감사 로그에서 누락된 액세스 검토 상태 객체를 복구합니다.
Identity Manager Deployment Tools이 절에서는 Identity Manager Deployment Tools 설명서의 수정 사항 및 추가 사항에 대해 설명합니다.
- 이 설명서에서는 이전 릴리스에서 제공되었던 "Identity Manager IDE 사용" 장이 삭제되었습니다. 이제 https://identitymanageride.dev.java.net에서 Identity Manager IDE(Integrated Development Environment)(Identity Manager IDE) 설치 및 구성 지침이 제공됩니다. (ID-17700)
Identity Manager 프로필러 작업
Identity Manager에서는 배포에서 양식, Java, 규칙, 작업 흐름 및 XPRESS의 성능 문제를 해결하는 데 도움이 되는 프로필러 유틸리티를 제공합니다.
양식, Java, 규칙, 작업 흐름 및 XPRESS는 모두 성능 및 확장성 문제의 원인이 될 수 있습니다. 프로필러는 이러한 다양한 영역에 소요되는 시간을 프로필링하여, 해당 양식, Java, 규칙, 작업 흐름 또는 XPRESS 객체로 인해 성능 및 확장성 문제가 발생하는지 확인하고 그럴 경우 이러한 객체의 어느 부분이 문제의 원인인지를 확인할 수 있도록 합니다.
이 절에서는 Identity Manager 프로필러를 사용하는 방법을 설명하고 배포에서 성능 문제를 해결하는 방법을 알려주는 자습서를 제공합니다. 이 정보는 다음과 같이 구성됩니다.
개요
이 절에서는 Identity Manager 프로필러의 특징과 기능을 개략적으로 설명합니다. 이 정보는 다음과 같이 구성됩니다.
주요 기능
프로필러 유틸리티를 사용하여 다음을 수행할 수 있습니다.
프로필러에서 소스를 찾아 관리하는 방법
이 절에서는 프로필러가 다음 Identity Manager 객체에 대한 소스를 조회하고 관리하는 방법을 설명합니다.
양식, 규칙, 작업 흐름 및 XPRESS 객체의 경우 프로필러를 사용하여 스냅샷을 찍으면 서버에서 모든 프로필링 데이터를 평가하고 해당 데이터가 종속되는 소스를 검색합니다. 그런 다음 서버는 저장소에서 이러한 모든 소스를 불러와서 스냅샷에 포함합니다. 따라서 스냅샷에 표시된 Identity Manager 객체가 스냅샷이 캡처된 지점을 정확하게 반영하는지 확인할 수 있습니다.
이 프로세스에서는 스냅샷의 크기가 추가되지만, 실제로 소스 크기는 총 크기에 비해 상대적으로 작습니다. 따라서 소스 파일을 개별적으로 보낼 필요 없이 스냅샷을 Sun 고객 지원 담당자에게 보낼 수 있습니다.
Java 소스의 경우 Java 소스의 스냅샷을 찍으면 클라이언트에서 해당 스냅샷을 다운로드한 다음 스냅샷을 통해 프로젝트에서 참조되는 모든 Java 소스를 캡처합니다. 스냅샷을 저장하면 클라이언트는 소스를 압축하여 스냅샷의 끝에 첨부합니다.
그런 다음 사용자가 스냅샷을 보고 Java 소스로 이동하면 클라이언트는 먼저 스냅샷의 컨텐트를 확인합니다. 클라이언트는 거기서 컨텐트를 찾을 수 없는 경우 프로젝트의 컨텐트를 확인합니다. 이 프로세스를 통해 사용자 정의 Java 코드와 Identity Manager 코드 모두의 프로필링 데이터를 포함하는 스냅샷을 보낼 수 있습니다.
통계 경고
다음 절에서는 프로필러가 제공하는 결과를 평가할 때 고려할 정보에 대해 설명합니다.
자체 시간 통계 루트 노드의 자체 시간 통계를 계산하기 위해 프로필러에서는 루트 노드의 총 시간에서 모든 하위 노드의 시간을 뺍니다.
따라서 계측되지 않은 하위 노드 시간은 루트 노드의 자체 시간에 반영됩니다. 루트 노드에 상당한 자체 시간이 있을 경우 그 이유를 확실하게 조사해야 합니다. 적절한 메소드가 계측되지 않았을 수도 있습니다. 그럴 경우 자체 시간이 발생한 이유를 잘못 파악하게 됩니다.
예를 들어, 메소드 A가 메소드 B를 호출한다고 가정해 봅시다.
메소드 A를 호출하는 데 총 10초(총 시간에 B 호출 시간 포함)가 걸리고 B를 호출하는 데 총 10초가 걸립니다.
A와 B 모두 계측된 경우 호출 스택은 해당 정보를 반영합니다. A는 자체 시간이 0초로 표시되고 B는 자체 시간이 10초(실제로 B에서 10초가 소요됨)로 표시됩니다. 그러나 B가 계측되지 않은 경우에는 A를 호출하는 데 10초가 걸리고 A의 자체 시간이 10초로 표시됩니다. 따라서 B가 아니라 A에 직접적인 문제가 있다고 가정할 수 있습니다.
특히 초기 컴파일 중에 JSP에서 큰 자체 시간을 확인할 수 있습니다. 수집된 결과를 재설정한 다음 페이지를 다시 표시하면 자체 시간 값이 훨씬 작아집니다.
구성자 호출 Java 계측 전략에는 제한이 있기 때문에 this() 또는 super()에 대한 초기 호출은 구성자 호출의 하위가 아니라 형제로 표시됩니다. 다음 예를 참조하십시오.
class A
{
public A()
{
this(0);
}
public A(int i)
{
}
}
and:
class B
{
public static void test()
{
new A();
}
}
호출 트리는 다음과 같습니다.
B.test()
-A.<init>(int)
-A.<init>()
호출 트리는 다음과 같지 않습니다.
B.test()
-A.<init>()
-A.<init>(int)
데몬 스레드 ReconTask.WorkerThread.run() 또는 TaskThread.WorkerThread.run()과 같은 Identity Manager의 여러 데몬 스레드에 소요된 표면상 큰 시간에 의해 잘못 판단하지 마십시오. 이중 대부분의 시간은 이벤트를 기다리는 동안 휴면 상태에서 소비된 시간입니다. 이러한 추적을 조사하여 이벤트를 처리할 때 실제로 소요된 시간을 확인해야 합니다.
시작하기
이 절에서는 프로필러를 시작하는 방법과 프로필러의 다양한 그래픽 사용자 인터페이스 기능을 사용하는 방법을 설명합니다. 이 정보는 다음과 같이 구성됩니다.
시작하기 전에
프로필러는 상당히 메모리 집약적이므로 서버와 Netbeans JVM(Java Virtual Machine) 모두의 메모리를 대폭 늘려야 합니다.
끝나면 다음 절에 설명한 대로 프로필러를 시작할 수 있습니다.
프로필러 시작
Identity Manager IDE 창에서 다음과 같은 방법을 사용하여 프로필러를 시작할 수 있습니다.
프로필러를 시작하면 사용하려는 프로필링 옵션을 지정할 수 있는 프로필러 옵션 대화 상자가 표시됩니다. 프로필러 옵션 지정에서 이러한 옵션을 설정하는 데 필요한 지침을 제공합니다.
프로필러 사용
이 절에서는 프로필러 그래픽 사용자 인터페이스의 기능과 그 기능을 사용하는 방법에 대해 설명합니다. 이 정보는 다음과 같이 구성됩니다.
프로필러 옵션 지정
프로필러 옵션 대화 상자는 다음 탭으로 구성되어 있습니다.
이 탭의 옵션을 사용하여 프로필링할 객체 및 프로필에 표시할 요소를 나타냅니다.
프로필러 옵션을 지정한 후 확인을 눌러 프로필러를 시작합니다. 프로젝트 구성에 따라 프로필러는 다음 두 가지 중 하나를 수행합니다.
IDM 객체 필터 IDM 객체 필터 탭은 다음과 옵션을 제공합니다.
Java 필터 Java 필터 탭을 선택하여 다음을 수행할 수 있습니다.
Java 필터는 메소드 패턴으로 제공되며, 정규 메소드 이름에 따라 포함 또는 제외되는 패턴으로 표시됩니다. 여기서 정규 메소드 이름은 다음과 같습니다.
fully-qualified-class-name.method-name(parameter-type-1, parameter-type-2, ...)
다음은 몇 가지 예입니다.
필요한 경우 build.xml의 다음 행을 적절하게 수정하여 다른 jar을 지정할 수 있습니다. 예를 들면 다음과 같습니다.
<instrument todir="${lighthouse-dir-profiler}/WEB-INF" verbose="${instrumentor.verbose}" includeMethods="${profiler.includes}" excludeMethods="${profiler.excludes}">
<fileset dir="${lighthouse-dir}/WEB-INF">
<include name="lib/idm*.jar"/>
<include name="classes/**/*.class"/>
</fileset>
</instrument>
기본적으로 구성에는 모든 사용자 정의 클래스와 대부분의 Identity Manager 클래스가 포함되어 있습니다. 많은 Identity Manager 클래스는 활성화할 경우 프로필러를 차단하기 때문에 강제로 제외됩니다.
예를 들어, 작업 흐름, 양식 및 XPRESS 엔진의 클래스가 제외되거나, 프로필러가 Java 및 Identity Manager 객체를 프로필링할 때 알 수 없는 스냅샷을 생성합니다.
Java 필터는 IDM 객체 필터보다 훨씬 세밀한 필터링을 제공합니다. Java 계측에서는 실행 시간에 많은 오버헤드를 추가하므로, 프로필링 결과가 완전히 왜곡될 수 있습니다. Identity Manager 객체는 컴파일되는 것이 아니라 해석되는 것이므로 계측 오버헤드를 무시해도 좋습니다. 예를 들어, 작업 흐름 A를 제외하고 작업 흐름 B 등을 포함하는 근본적인 이유는 없습니다.
- 실행 시간이 0인 스냅샷 노드 제거:
- 프로필러를 시작할 때 자동으로 브라우저 열기:
- 스냅샷에 Java 소스 포함:
이 경우에는 Identity Manager 소스를 포함시키지 않습니다. 그러면 매우 큰 스냅샷이 생성될 수 있습니다. 자세한 내용은 프로필러에서 소스를 찾아 관리하는 방법을 참조하십시오.
IDM 프로필러 보기 작업
IDM 프로필러 보기는 다음 영역으로 구성되어 있습니다.
현재 프로젝트 영역 현재 프로젝트 영역은 모든 현재 프로젝트를 나열하는 드롭다운 메뉴로 구성되어 있습니다. 이 메뉴를 사용하여 프로필링할 프로젝트를 선택합니다.
제어 영역 제어 영역에는 다음 표에 설명된 네 가지 아이콘이 있습니다.
아이콘
목적
![]()
Identity Manager 프로필러 시작
프로필러를 시작하고 프로필러 옵션 대화 상자를 엽니다.
![]()
Identity Manager 프로필러 중지
프로필러를 중지합니다.
![]()
수집된 결과 재설정
이 지점에서 수집한 모든 프로필 결과를 재설정합니다.
![]()
프로필링 수정
설정을 변경하여 현재 프로필 결과를 수정할 수 있도록 프로필러 옵션 대화 상자를 다시 엽니다.
상태 영역 상태 영역에서는 호스트에 연결되어 있는지 여부를 보고하고, 프로필러가 시작, 실행, 중지할 때 상태 정보를 제공합니다.
프로필링 결과 영역 프로필링 결과 영역에는 다음 표에 설명된 두 가지 아이콘이 있습니다.
아이콘
목적
Identity Manager 프로필러 시작
프로필러를 시작하고 프로필러 옵션 대화 상자를 엽니다.
![]()
수집된 결과 재설정
이 지점에서 수집한 모든 프로필 결과를 재설정합니다.
저장된 스냅샷 영역 저장된 스냅샷 영역에서는 모든 저장된 스냅샷 목록을 제공합니다.
주
스냅샷 저장에서 이러한 스냅샷을 저장하는 데 필요한 지침을 제공합니다.
또한 다음 버튼을 사용하여 이러한 스냅샷을 관리할 수 있습니다.
스냅샷 보기 작업
스냅샷을 열면 Identity Manager IDE의 오른쪽 상단의 스냅샷 보기 창에 결과가 표시됩니다.
스냅샷에서는 다음 절에 설명된 여러 데이터 보기를 제공합니다.
호출 트리 보기 호출 트리 보기는 시스템 전체의 호출 타이밍 및 호출 횟수를 보여 주는 트리 테이블로 구성됩니다.
이 트리 테이블에는 다음과 같은 세 개의 열이 포함되어 있습니다.
최상위 수준 노드는 다음 중 하나입니다.
예를 들어, idm/login.jsp URL을 보면 idm/login.jsp에 대한 최상위 항목이 표시됩니다. 이 항목에서 시간 열에 표시되는 데이터는 해당 요청에 대한 총 시간을 나타내고, 호출 열에 표시되는 데이터는 해당 페이지에 대한 총 호출 횟수를 나타냅니다. 해당 데이터를 자세히 조사하여 표시된 시간의 원인이 되는 호출을 확인할 수 있습니다.
주
또한 호출 트리에는 자체 시간 노드가 포함되어 있습니다. 자체 시간 값은 노드 자체에 소요된 시간을 나타냅니다. 자세한 내용은 자체 시간 통계를 참조하십시오.
핫스폿 보기 핫스폿 보기는 상위에 상관없이 총 호출 타이밍을 보여 주는 일반 노드 목록을 제공합니다.
이 보기에는 다음 열이 포함되어 있습니다.
역 추적 보기 역 추적 보기에서는 각 노드를 호출한 모든 호출 체인을 보여 주는 역 호출 스택을 제공합니다.
이러한 통계를 사용하여 "이 노드에서 이 특정 호출 체인을 제거하면 시간이 얼마나 절약됩니까?"라는 질문에 응답할 수 있습니다.
노드(루트 노드)를 마우스 오른쪽 버튼으로 누르고 팝업 메뉴에서 역 추적 표시를 선택하여 다른 스냅샷 보기에서 역 추적 보기에 액세스할 수 있습니다.
호출 수신자 보기 호출 수신자 보기는 상위 체인에 상관없이 노드(루트 노드)의 총 호출 트리를 제공합니다.
이 통계는 마스터 호출 트리 전체의 여러 위치에서 호출되는 문제 영역이 있어 해당 노드에 대한 전체 프로필을 보려는 경우에 유용합니다.
노드(루트 노드)를 마우스 오른쪽 버튼으로 누르고 팝업 메뉴에서 호출 수신자 표시를 선택하여 다른 스냅샷 보기에서 호출 수신자 보기에 액세스할 수 있습니다.
팝업 메뉴 옵션 사용
호출 트리 보기 또는 핫스폿 보기에서 노드를 마우스 오른쪽 버튼으로 누르면 다음 표에 설명된 옵션이 있는 팝업 메뉴가 표시됩니다.
메뉴 옵션
설명
소스로 이동
Java 메소드, 작업 흐름, 양식, 규칙 또는 XPRESS에 해당하는 노드에 대한 XML 소스를 보려면 이 옵션을 선택합니다. 이 보기에 대한 자세한 내용은 프로필러에서 소스를 찾아 관리하는 방법을 참조하십시오.
역 추적 표시
역 추적 보기에 액세스하려면 이 옵션을 선택합니다. 이 보기에 대한 자세한 내용은 역 추적 보기를 참조하십시오.
호출 수신자 표시
호출 수신자 보기에 액세스하려면 이 옵션을 선택합니다. 이 보기에 대한 자세한 내용은 호출 수신자 보기를 참조하십시오.
핫스폿에서 찾기
핫스폿 보기에서 노드를 찾으려면 이 옵션을 선택합니다. 이 보기에 대한 자세한 내용은 핫스폿 보기를 참조하십시오.
옵션 나열 > 정렬 >
이 옵션을 다음 중 하나로 선택합니다.
옵션 나열 > 표시되는 열 변경
호출 트리 또는 핫스폿 목록에 표시되는 열을 변경하려면 이 옵션을 선택합니다.
표시되는 열 변경 대화 상자가 표시되면 다음 옵션 중 하나 이상을 선택할 수 있습니다.
스냅샷 검색
스냅샷 보기 창의 맨 위에 있는 검색 아이콘(
)을 사용하여 호츨 트리 보기 또는 핫스폿 트리에서 이름별로 노드를 검색할 수 있습니다.
또는 호출 트리 보기 또는 핫스폿 보기에서 노드를 마우스 오른쪽 버튼으로 누르고 팝업 메뉴에서 호출 트리에서 찾기 또는 핫스폿에서 찾기를 선택하여 노드를 검색합니다.
스냅샷 저장
프로필러는 스냅샷 저장을 위한 여러 옵션을 제공합니다. 옵션에 대한 설명은 다음 표를 참조하십시오.
아이콘
목적
프로젝트에 스냅샷 저장 아이콘(스냅샷 보기 창의 맨 위에 있음)
프로젝트의 nbproject/private/idm-profiler 디렉토리에 스냅샷을 저장합니다. 프로젝트에 저장된 스냅샷은 프로필러 보기의 저장된 스냅샷 섹션에 나열됩니다.
![]()
외부적으로 스냅샷 저장 아이콘(스냅샷 보기 창의 맨 위에 있음)
외부의 임의의 위치에 스냅샷을 저장합니다.
![]()
다른 이름으로 저장 버튼(저장된 스냅샷 영역에 있음)
외부의 임의의 위치에 스냅샷을 저장합니다.
자습서: 성능 문제 해결
Identity Manager에서는 프로필러를 사용하여 양식, Java 규칙, 작업 흐름 및 XPRESS 문제를 해결하는 방법을 알려주는 자습서(profiler-tutorial.zip)를 제공합니다.
1단계: Identity Manager 프로젝트 만들기
다음 단계에 따라 Identity Manager 프로젝트를 만듭니다.
- 파일 > 새 프로젝트를 선택합니다.
- 새 프로젝트 마법사가 표시되면 다음 항목을 지정한 후 다음을 누릅니다.
- 이름 및 위치 패널에서 다음 필드를 입력한 후 다음을 누릅니다.
- Identity Manager WAR 파일 위치 패널이 표시되면 Identity Manager 8.0 war 파일의 위치를 입력합니다. 일반적으로 이 파일의 압축을 풀면 동일한 디렉토리에 idm.war 파일이 만들어집니다.
- 저장소 설정 패널로 넘어가려면 다음을 누릅니다.
이 패널에서 기본 설정을 변경할 필요 없이 마침을 누르면 됩니다. BUILD SUCCESSFUL 메시지가 Identity Manager IDE 출력 창에 표시되면 프로필러 자습서 파일의 압축을 풀 수 있습니다. 자세한 내용은 2단계: 프로필러 자습서 압축 풀기를 참조하십시오.
2단계: 프로필러 자습서 압축 풀기
프로젝트 루트에서 profiler-tutorial.zip 파일의 압축을 풉니다. 압축을 푼 파일은 다음과 같습니다.
<project root>/custom/WEB-INF/config/ProfilerTutorial1.xml
<project root>/custom/WEB-INF/config/ProfilerTutorial2.xml
<project root>/src/org/example/ProfilerTutorialExample.java
<project root>/PROFILER_TUTORIAL_README.txt
이제 프로필러를 시작할 준비가 되었습니다.
3단계: 프로필러 시작
프로필러를 시작하려면
- 시작하기 전에에 제공된 지침에 따라 서버 및 Netbeans JVM의 메모리를 늘립니다.
- 개요에 설명된 방법을 사용하여 프로필러를 시작합니다.
- 프로필러 옵션 대화 상자가 표시되면 프로필링 옵션을 지정할 수 있습니다.
- 4단계: 프로필러 옵션 설정으로 넘어갑니다.
4단계: 프로필러 옵션 설정
주
모든 프로필러 옵션에 대한 자세한 내용은 프로필러 옵션 지정을 참조하십시오.
이 자습서의 목적을 위해 다음 프로필러 옵션을 지정합니다.
- 모드 탭에서 양식, Java, 규칙, 작업 흐름 및 XPRESS 객체를 프로필링할 Java 및 IDM 객체를 선택합니다.
- Java 필터 탭을 선택합니다.
다음 단계에 따라 사용자 정의 Java 클래스(이 경우 org.example.ProfilerTutorialExample)를 제외한 모든 Identity Manager Java 클래스를 비활성화합니다.
- 확인을 눌러 프로필러를 실행합니다.
프로필러가 처리를 마치면 로그인하라는 메시지가 표시됩니다.
- 비밀번호로 configurator를 입력하고 비밀번호 저장 확인란을 선택한 다음 확인을 눌러 계속합니다.
- Identity Manager 창이 표시되면 로그인합니다.
주
일반적으로 configurator로 다시 로그인하지 않고 Identity Manager에 다른 사용자로 로그인해야 합니다. 프로필러에 configurator로 이미 로그인되어 있고 Identity Manager 세션 풀에서는 사용자당 하나의 항목만 허용합니다. 여러 항목을 사용하면 끊어진 세션 풀이 표시되므로 세부적인 성능 문제에 대한 프로필링 결과가 왜곡될 수 있습니다.
그러나 이 간단한 예제에서는 세션 풀이 중요하지 않으므로 configurator/configurator로 로그인할 수 있습니다.
- Identity Manager에서 서버 작업 > 작업 실행을 선택한 다음 ProfilerTutorialWorkflow1을 누릅니다.
자습서가 응답하는 데 몇 분 정도 걸릴 수 있습니다.
- 지금 스냅샷을 찍을 수 있지만, 여기서는 결과를 재설정하고, 프로필러를 실행하고, 다시 실행한 다음 스냅샷을 찍습니다.
주
모든 캐시가 준비되고 모든 JSP가 컴파일되도록 스냅샷을 찍기 전에 프로필러를 한 두 차례 실행하는 것이 좋습니다.
프로필러를 여러 번 실행하면 실제 성능 문제에 집중할 수 있습니다. 이 방법의 유일한 예외는 캐시 자체를 채우는 데 문제가 있는 경우입니다.
- Identity Manager IDE에서는 스냅샷을 다운로드하고 창의 오른쪽에 결과를 표시합니다.
이 영역은 호출 트리 보기입니다. 호출 트리의 맨 위에는 시간 열에 나열되는 시간과 함께 /idm/task/taskLaunch.jsp가 표시되어야 합니다. 시간은 전체 요청에 6초 이상 소요되었음을 나타내야 합니다.
- /idm/task/taskLaunch.jsp 노드를 확장하고 ProfilerTutorialWorkflow1에 6초가 소요되었는지 확인할 수 있습니다.
- ProfilerTutorialWorkflow1 노드를 확장합니다. activity2에 4초가 소요되고 activity1에 2초가 소요됩니다.
- activity2를 확장합니다.
action1에 2초가 소요되고 action2에 2초가 소요됩니다.
- action1을 확장하고 <invoke>에도 2초가 소요되었는지 확인합니다.
- <invoke>를 두 번 눌러 ProfilerTutorialWorkflow1.xml을 열고 다음 줄을 강조 표시합니다.
<invoke name='example' class='org.example.ProfilerTutorialExample'/>
ProfilerTutorialExample 메소드 호출에 2초가 소요된 것으로 표시되어야 합니다.
주
실제로 프로젝트의 소스 대신 스냅삿에서 캡처된 XML 소스를 찾습니다. 스냅샷이 완전히 자체 포함됩니다. 자세한 내용은 프로필러에서 소스를 찾아 관리하는 방법을 참조하십시오.
- 호출 트리로 돌아가면 모든 2초 경로가 이 메소드로 연결됨을 확인할 수 있습니다. 총 6초인 세 개의 경로가 표시되어야 합니다.
- 호출 트리 영역의 아래쪽에 있는 핫스폿 탭을 선택하여 핫스폿 보기를 엽니다. ProfilerTutorialExample.example()의 총 자체 시간은 6초입니다.
핫스폿에 대한 자세한 내용은 핫스폿 보기를 참조하십시오.
- ProfilerTutorialExample.example()을 마우스 오른쪽 버튼으로 누르고 팝업 메뉴에서 역 추적 표시를 선택합니다.
새 역 추적 탭이 영역의 아래쪽에 표시됩니다.
- 역 추적 탭에서 ProfilerTutorialExample.example() 노드를 확장하여 이 메소드가 세 개의 위치에서 호출되었고 메소드가 각 위치에서 호출될 때 2초가 소요되었는지 확인합니다.
역 추적에 대한 자세한 내용은 역 추적 보기를 참조하십시오.
- 프로젝트에 스냅샷 저장 아이콘을
눌러 스냅샷을 저장하고 닫습니다.
IDM 프로필러 탭에서 저장된 스냅샷 섹션을 선택하면 스냅샷이 표시됩니다. 아래로 스크롤해야 할 수 있습니다.
- 저장된 스냅샷을 선택한 다음 열기를 눌러 다시 엽니다.
- 스냅샷을 다시 닫습니다.
작업 흐름 ManualAction에서 프로필러 사용
이 자습서의 다음 부분에서는 작업 흐름 ManualAction을 프로필링하는 방법을 설명합니다.
- Identity Manager에서 서버 작업 > 작업 실행을 선택한 다음 ProfilerTutorialWorkflow2를 누릅니다.
잠시 후 빈 양식이 표시됩니다.
- 저장을 누르면 프로세스 그림이 표시됩니다.
- 서버 작업 > 작업 실행을 다시 선택합니다.
- Identity Manager IDE IDM 프로필러 보기로 돌아간 다음 프로필링 결과 섹션에서 수집된 결과 재설정 아이콘을 누릅니다.
- 이제 Identity Manager에서 ProfilerTutorialWorkflow2를 누릅니다.
- 빈 양식이 다시 표시되면 저장을 누릅니다.
- IDM 프로필러 보기에서 스냅샷 찍기를 누릅니다.
몇 초 후 스냅샷이 호출 트리 영역에 표시됩니다. /idm/task/workItemEdit.jsp에 6초 이상 소요되어야 합니다. 이 결과는 작업 흐름의 수동 작업에 해당합니다.
- /idm/task/workItemEdit.jsp 노드를 확장하고 ManualAction 양식에서 모든 Derivation을 실행하는 데 총 6초가 소요되었는지 확인합니다.
- Derivation, displayNameForm, variables.dummy 및 <block> 노드를 확장합니다.
<block>에 6초가 소요되어야 합니다. 프로필러에서 ProfilerTutorialExample.example(). 메소드를 세 번 호출하는 데 2초씩 소요됩니다.
- <block>을 두 번 눌러 소스를 볼 수 있습니다.
Identity Manager IDE FAQ(자주 묻는 질문)
이 FAQ에서는 Identity Manager IDE(Integrated Development Environment)(Identity Manager IDE) 사용과 관련하여 일반적으로 묻는 질문에 대답합니다. 정보는 다음과 같은 범주로 구성됩니다.
NetBeans 사용
Q: 어떠한 버전의 Netbeans를 사용해야 합니까?
A: 사용 중인 NetbEANS 플러그인 버전용으로 제공된 Identity Manager 제품 설명서에 참조된 Netbeans 버전을 사용합니다.
Q: Netbeans 플러그인이 작동 중인 상태에서 어떤 작업을 수행한 후 Netbeans 플러그인이 더 이상 작동하지 않습니다. 이 문제의 원인은 무엇입니까?
A: 이 문제는 일반적으로 .netbeans 디렉토리에 있는 손상된 파일에 의해 발생합니다. 일반적으로 .netbeans 디렉토리를 삭제하고 NetBeans 플러그인을 다시 설치하면 문제가 해결됩니다. .netbeans 디렉토리를 삭제하면 NetBeans 플러그인이 효과적으로 제거됩니다. 모든 사용자 설정을 잃게 되지만 프로젝트의 내용은 안전하게 유지됩니다.
단계는 다음과 같습니다.
프로젝트 작업
Q: 프로젝트를 작성하여 실행하는 데 너무 많은 시간이 소요되고 Identity Manager IDE에서 많은 파일을 복사하는 것 같습니다. 이 문제의 원인은 무엇입니까?
A: 이 문제는 다음과 같은 이유로 발생할 수 있습니다.
Q: Identity Manager 프로젝트를 만든 다음 소스 제어에 체크인해야 하는 파일은 무엇입니까?
A: 자세한 내용은 Identity Manager IDE README.txt의 "CVS 모범 사례" 절을 참조하십시오.
Q: CVS에서 프로젝트 관리를 사용하는 모범 사례에는 어떠한 것이 있습니까?
A: 자세한 내용은 Identity Manager IDE README.txt의 "CVS 모범 사례" 절을 참조하십시오.
Q: 객체를 언제 저장소로 가져옵니까?
A: 자세한 내용은 저장소 작업을 참조하십시오.
Q: 프로젝트에 새 JAR을 추가하려면 어떻게 합니까?
A: Identity Manager IDE README.txt의 "새 JAR 종속성을 추가하는 방법" 절을 참조하십시오.
저장소 작업
Q: 내 Sandbox 저장소에 사용해야 하는 저장소는 무엇입니까?
A: Sandbox에 대해 포함된 저장소를 사용합니다(특히 HsSQL 저장소를 사용 가능한 Identity Manager 7.1 이상을 사용할 경우). 포함된 저장소를 사용하지 않으면 기능을 잃게 됩니다.
자세한 내용은 Identity Manager IDE README.txt의 "저장소 작업" 절을 참조하십시오.
Q: 언제 객체를 자동으로 가져옵니까?
A: 객체를 자동으로 가져오도록 Identity Manager IDE를 구성해야 합니다.
단계는 다음과 같습니다.
Q: 객체를 업로드하는 가장 효율적인 방법은 무엇입니까?
A: 다음 방법 중 하나를 사용하여 수정된 객체를 업로드합니다.
두 방법 모두 객체를 서버에 직접 업로드하기 때문에 캐시 지연 문제가 발생하지 않으므로 프로젝트 실행 또는 프로젝트 디버그를 사용할 때보다 훨씬 빠릅니다. 객체 업로드 기능은 사용 중인 저장소에 상관없이 사용할 수 있습니다.
Identity Manager IDE 디버거 사용
Q: Identity Manager IDE 디버거가 느립니다. 이 문제의 원인은 무엇입니까?
A: 디버거 성능을 개선하려면
Q: 디버거의 중단점을 설정할 수 없습니다. 이 문제의 원인은 무엇입니까?
A: 다음과 같은 경우에는 중단점을 설정할 수 없습니다.
Q: 디버거에 중단점을 설정했지만 중단점에서 일시 중지되지 않습니다. 이 문제의 원인은 무엇입니까?
A: 다음 두 가지 사항을 확인하십시오.
규칙 작업
Q: Netbeans에서 규칙을 개발할 때 규칙 라이브러리에 대해 디자인 모드를 사용할 수 없는 이유는 무엇입니까?
A: 디자인 모드 기능은 프로젝트 보기의 탐색기 트리에서 사용할 수 있습니다. 다음 단계를 따르십시오.
Identity Manager Tuning, Troubleshooting, and Error Messages이 절에서는 Sun Java System Identity Manager Tuning, Troubleshooting, and Error Messages의 새 정보와 설명서 수정 사항에 대해 설명합니다.
- 일부 작업이 어댑터에서 작업 패키지로 이동되었습니다. 다음 중 하나의 작업에 대한 추적이 사용 가능하거나 이러한 패키지를 참조하는 작업 정의를 사용자 정의한 경우에는 이러한 경로를 업데이트합니다.
이전 패키지 이름
새 패키지 이름
com.waveset.adapter.ADSyncFailoverTask
com.waveset.task.ADSyncFailoverTask
com.waveset.adapter.ADSyncRecoveryCollectorTask
com.waveset.task.ADSyncRecoveryCollectorTask
com.waveset.adapter.SARunner
com.waveset.task.SARunner
com.waveset.adapter.SourceAdapterTask
com.waveset.task.SourceAdapterTask
- 이전에 "Identity Manager IDE 문제 해결" 절에 제공된 "삭제할 수 없음 오류" 문제 해결 정보는 더 이상 적용되지 않으므로 설명서에서 삭제되었습니다. 이제 Netbeans이 포함된 응용 프로그램 서버는 다음 프로젝트 작업을 수행할 때마다 자동으로 종료됩니다. (ID-16851)
- Identity Manager 관리의 "PasswordSync" 장에 있었던 "PasswordSync 디버깅" 절이 Identity Manager Tuning, Troubleshooting, and Error Messages의 "Identity Manager 추적 및 문제 해결" 장으로 이동했습니다. (ID-17340)
현지화 범위역사적으로 Identity Manager는 자원 객체 및 기능을 현지화하지 않습니다. 이런 요소 대부분이 Identity Manager를 초기화하는 동안 init.xml을 통해 로드되는 샘플이며, 사용자 정의 수준에 따라 실제 고객 배포와 객체 유형 속성이 다를 수도 있기 때문입니다. 다음은 사용자에게 영어로 표시되는 영역의 목록입니다. (ID-16349)
온라인 도움말이 절에서는 온라인 도움말에 대한 설명서 수정 사항을 설명합니다.