이 절에서는 새 Access Manager 데이터 저장소를 각각 구성하는 데 사용되는 속성을 설명합니다. 저장소 속성은 다음과 같습니다.
Active Directory, 일반 LDAPv3 및 Access Manager 스키마를 사용하는 Sun Directory Server 데이터 저장소 유형은 같은 기본 플러그인을 공유하므로 구성 속성도 서로 같습니다. 그러나 일부 속성의 기본값은 각 데이터 저장소 유형마다 다르며 이에 따라 Access Manager 콘솔에서도 다르게 표시됩니다.
다음과 같은 속성을 사용하여 Access Manager 저장소 플러그인을 구성할 수 있습니다.
Access Manager 저장소 플러그인을 구현할 클래스 파일의 위치를 지정합니다.
해당 LDAP 서버상에서 허용되거나 수행할 수 있는 작업을 지정합니다. 해당 LDAPv3 저장소 플러그인이 지원하는 작업만 기본 작업입니다. LDAPv3 저장소 플러그인이 지원하는 작업은 다음과 같습니다.
그룹 — 읽기, 만들기, 편집, 삭제
사용자 — 읽기, 만들기, 편집, 삭제, 서비스
에이전트 — 읽기, 만들기, 편집, 삭제
LDAP 서버 설정에 따라 위 목록에서 권한을 제거할 수 있지만 권한을 더 추가할 수는 없습니다.
구성된 LDAPv3 저장소 플러그인이 Sun Java System Directory Server의 인스턴스를 가리키면 role 유형에 대한 권한을 추가할 수 있습니다. 그렇지 않으면 다른 데이터 저장소에서 역할을 지원하지 않을 수 있으므로 권한을 추가할 수 없습니다. 'role' 유형의 권한은 다음과 같습니다.
역할 — 읽기, 만들기, 편집, 삭제
user 유형이 LDAPv3 저장소에 대해 지원되는 경우 해당 사용자에 대해 읽기, 만들기, 편집 및 삭제 서비스 작업이 가능합니다. 즉, user 유형이 지원되는 경우 읽기, 편집, 만들기 및 삭제 작업을 사용하여 Identity 저장소에서 사용자 항목을 읽고 편집하고 만들고 삭제할 수 있습니다. user=service 작업을 사용하면 Access Manager 서비스가 사용자 항목의 속성에 액세스할 수 있습니다. 사용자가 속한 영역이나 역할에 서비스가 할당된 경우 이 사용자는 동적인 서비스 속성에 액세스할 수 있습니다.
또한 모든 할당된 서비스에 대한 사용자 속성도 관리할 수 있습니다. 사용자에게 service가 작업으로 지정(user=service)되어 있는 경우 지원되는 모든 서비스 관련 작업을 지정합니다. 이러한 작업으로는 assignService, unassignService, getAssignedServices, getServiceAttributes, removeServiceAttributes 및 modifyService가 있습니다.
Access Manager가 관리할 Directory Server 내의 조직을 가리키는 DN을 정의합니다. 이 DN은 데이터 저장소에서 수행되는 모든 작업의 기본 DN이 됩니다.
사용자가 사용자 컨테이너에 있는 경우 사용자 컨테이너의 이름 지정 속성을 지정합니다. 사용자가 사용자 컨테이너에 없으면 이 필드는 비어 있습니다.
사용자 컨테이너의 값을 지정합니다. 기본값은 people입니다.
에이전트가 에이전트 컨테이너에 있는 경우 에이전트 컨테이너의 이름을 지정합니다. 에이전트가 에이전트 컨테이너에 없으면 이 필드는 비어 있습니다.
에이전트 컨테이너 값을 지정합니다. 기본값은 agents입니다.
이 옵션이 활성화되면 Access Manager 저장소에서 지정된 Identity에 대해 재귀적으로 검색이 수행됩니다. 다음 데이터 구조에서 재귀적 검색을 수행하는 경우를 예로 들어 보겠습니다.
루트 영역1 하위 영역11 사용자5 하위 영역12 사용자56 영역2 사용자1 사용자2 하위 영역21 사용자3 사용자4
그러면 다음과 같은 결과가 나옵니다.
루트에서 검색을 수행하는 경우 이 수준에 정의된 사용자(amadmin 및 anonymous 제외)가 없으면 검색에서 사용자 1–6을 반환합니다.
영역1에서 검색을 수행하는 경우 정의된 사용자가 없으면 검색에서 사용자5 및 사용자6을 반환합니다.
영역2(두 사용자가 정의됨)에서 검색을 수행하는 경우 검색에서 사용자 1–4를 반환합니다.
영역 모드 설치에서 이 속성을 사용하면 Access Manager가 저장소에 있는 각 영역 및 하위 영역과 동일한 조직 및 하위 조직을 만듭니다. 또한 영역/하위 영역에 등록된 서비스가 새로 만들어진 조직/하위 조직에도 등록됩니다. 그러면 영역 DIT와 조직 DIT가 모두 데이터 저장소 내에 존재하게 됩니다.
다음 속성을 사용하여 플랫 파일 저장소를 구성할 수 있습니다.
이 속성은 플랫 파일에 대한 구현을 제공하는 Java 클래스 파일을 지정합니다. 이 속성을 수정해서는 안 됩니다.
Identity 및 해당 속성을 저장할 기본 디렉토리를 정의합니다.
사용하는 경우(기본값) Identity 및 해당 속성이 캐싱됩니다. 후속 요청은 파일 시스템에 액세스하지 않습니다.
캐싱을 사용하면 이 속성으로 파일 시스템이 변경된 경우 캐시의 해당 항목을 검사하기까지의 시간 간격(분 단위)를 확인할 수 있습니다. 이 검사 메커니즘은 타임스탬프를 기반으로 합니다.
사용자를 만들 때 해당 사용자에게 자동으로 추가되는 객체 클래스를 정의합니다.
인증에 사용되는 비밀번호를 포함하는 속성 이름을 제공합니다. 이 속성은 데이터 저장소 인증 모듈을 사용하는 경우 사용자를 인증하는 데 사용됩니다.
Identity의 상태를 저장하는 속성 이름을 제공합니다. 상태 속성 값으로는 active 또는 inactive를 사용할 수 있습니다. 이 속성은 Identity 인증에 사용되며 Identity가 inactive인 경우 사용자는 인증에 사용되지 않습니다.
값이 해시되어 파일에 저장된 속성 목록을 제공합니다. 해시된 후에는 원래 값을 얻을 수 없으며 해시된 값만 검색됩니다. 영구적으로 저장되지는 않지만 검증에 사용되는 특정 속성의 기밀을 보장하는 데 사용됩니다. 이러한 속성 유형의 예로는 Identity의 비밀번호 속성이 있습니다.
값이 암호화되어 파일에 저장된 속성 목록을 제공합니다. 암호화되어 저장되어 있지만 Identity 저장소 API를 호출하면 원래의 암호화되지 않은 값이 반환됩니다. 이 속성은 사용자가 파일 시스템에 직접 액세스하여 중요한 속성을 읽지 못하도록 합니다.
다음과 같은 속성을 사용하여 LDAPv3 저장소 플러그인을 구성할 수 있습니다.
연결할 LDAP 서버의 이름을 입력하며 hostname.domainname:portnumber 형식이어야 합니다.
두 개 이상의 host:portnumber 항목을 입력한 경우 목록의 첫 번째 호스트로 연결이 시도됩니다. 현재 호스트에 대한 연결 시도가 실패한 경우에만 목록의 다음 항목에 대한 연결을 시도합니다.
현재 사용자가 연결된 LDAP 서버에 대한 인증에 Access Manager가 사용할 DN 이름을 지정합니다. DN 이름이 바인딩된 사용자는 LDAPv3 플러그인 지원 유형 및 작업 속성에서 구성한 올바른 추가, 수정 및 삭제 권한을 가져야 합니다.
현재 사용자가 연결된 LDAP 서버에 대한 인증에 Access Manager가 사용할 DN 비밀번호를 지정합니다.
비밀번호를 확인합니다.
해당 데이터 저장소의 저장소가 매핑될 DN으로 데이터 저장소에서 수행되는 모든 작업의 기본 DN이 됩니다.
활성화된 경우 Access Manager는 HTTPS 프로토콜을 사용하여 기본 서버에 연결합니다.
연결 풀의 초기 연결 수를 지정합니다. 연결 풀을 사용하면 매번 새로 연결할 필요가 없습니다.
허용된 최대 연결 수를 지정합니다.
검색 작업에서 반환되는 최대 항목 수를 지정합니다. 해당 제한값에 도달하면 Directory Server는 검색 요청과 일치하는 모든 항목을 반환합니다.
검색 요청에 할당할 최대 시간(초)을 지정합니다. 해당 제한값에 도달하면 Directory Server는 검색 요청과 일치하는 모든 항목을 반환합니다.
이 옵션이 활성화되면 다른 LDAP 서버로의 참조를 자동으로 따라갑니다.
LDAPv3 저장소를 구현할 클래스 파일의 위치를 지정합니다.
프레임워크에 알려진 공통 속성을 기본 데이터 저장소에 매핑할 수 있도록 합니다. 예를 들어 프레임워크에서 사용자 상태를 결정하는 데 inetUserStatus를 사용한다면 기본 데이터 저장소에서는 userStatus를 사용할 수 있습니다. 속성 정의는 대소문자를 구분합니다.
해당 LDAP 서버상에서 허용되거나 수행할 수 있는 작업을 지정합니다. 해당 LDAPv3 저장소 플러그인이 지원하는 작업만 기본 작업입니다. LDAPv3 저장소 플러그인이 지원하는 작업은 다음과 같습니다.
그룹 — 읽기, 만들기, 편집, 삭제
사용자 — 읽기, 만들기, 편집, 삭제, 서비스
에이전트 — 읽기, 만들기, 편집, 삭제
LDAP 서버 설정에 따라 위 목록에서 권한을 제거할 수 있지만 권한을 더 추가할 수는 없습니다.
구성된 LDAPv3 저장소 플러그인이 Sun Java System Directory Server의 인스턴스를 가리키면 role 유형에 대한 권한을 추가할 수 있습니다. 그렇지 않으면 다른 데이터 저장소에서 역할을 지원하지 않을 수 있으므로 권한을 추가할 수 없습니다. 'role' 유형의 권한은 다음과 같습니다.
역할 — 읽기, 만들기, 편집, 삭제
user 유형이 LDAPv3 저장소에 대해 지원되는 경우 해당 사용자에 대해 읽기, 만들기, 편집 및 삭제 서비스 작업이 가능합니다. 즉 user 유형이 지원되는 경우 읽기, 편집, 만들기 및 삭제 작업을 사용하여 Identity 저장소에서 사용자 항목을 읽고 편집하고 만들고 삭제할 수 있습니다. user=service 작업을 사용하면 Access Manager 서비스가 사용자 항목의 속성에 액세스할 수 있습니다. 사용자가 속한 영역이나 역할에 서비스가 할당된 경우 이 사용자는 동적인 서비스 속성에 액세스할 수 있습니다.
또한 모든 할당된 서비스에 대한 사용자 속성도 관리할 수 있습니다. 사용자에게 service가 작업으로 지정(user=service)되어 있는 경우 지원되는 모든 서비스 관련 작업을 지정합니다. 이러한 작업으로는 assignService, unassignService, getAssignedServices, getServiceAttributes, removeServiceAttributes 및 modifyService가 있습니다.
LDAPv3 플러그인 항목을 찾는 데 사용되는 범위를 정의합니다. 이 범위는 다음 중 하나가 되어야 합니다.
SCOPE_BASE
SCOPE_ONE
SCOPE_SUB(기본값)
이 필드는 사용자에 대해 검색을 수행하는 속성 유형을 정의합니다. 예를 들어 사용자 DN이 uid=user1,ou=people,dc=iplanet,dc=com이면 이름 지정 속성은 uid입니다.
사용자 항목을 찾는 데 사용되는 검색 필터를 지정합니다.
사용자를 위한 객체 클래스를 지정합니다. 사용자가 생성되면 사용자 객체 클래스의 해당 목록이 사용자의 속성 목록에 추가됩니다.
사용자와 연결된 속성의 목록을 정의합니다. 해당 목록에 없는 사용자 속성에 대한 읽기/쓰기 시도는 허용되지 않습니다. 속성은 대소문자를 구분합니다. 객체 클래스 및 속성 스키마는 사용자가 객체 클래스 및 속성 스키마를 지정하기 전에 Directory Server에서 정의되어야 합니다.
사용자를 만들 때 필요한 속성을 지정합니다. 이 속성은 다음 구문을 사용합니다.
DestinationAttributeName=SourceAttributeName
소스 속성 이름이 없는 경우 기본값은 사용자 아이디(uid)입니다. 예를 들면 다음과 같습니다.
cn sn=givenName
사용자 프로필을 만들려면 cn과 sn이 모두 필요합니다. cn에는 uid로 이름 지정된 속성의 값이 들어가고 sn에는 givenName으로 이름 지정된 속성의 값이 들어갑니다.
사용자의 상태를 나타내는 속성 이름을 지정합니다.
활성인 사용자 상태에 대한 속성 이름을 지정합니다. 기본값은 active입니다.
비활성인 사용자 상태에 대한 속성 이름을 지정합니다. 기본값은 inactive입니다.
이 필드는 그룹에서 검색을 수행하는 속성 유형을 정의합니다. 기본값은 cn입니다.
그룹 항목을 찾는 데 사용되는 검색 필터를 지정합니다. 기본값은 (objectclass=groupOfUniqueNames)입니다.
그룹이 컨테이너에 있는 경우 그룹 컨테이너의 이름 지정 속성을 지정합니다. 그렇지 않으면 이 속성은 비어 있습니다. 예를 들어 cn=group1,ou=groups,dc=iplanet,dc=com의 그룹 DN이 ou=groups에 있는 경우 그룹 컨테이너 이름 지정 속성은 ou입니다.
그룹 컨테이너 값을 지정합니다. 예를 들어 cn=group1,ou=groups,dc=iplanet,dc=com의 그룹 DN이 ou=groups에 있는 경우 그룹 컨테이너 값은 groups입니다.
그룹에 대한 객체 클래스를 지정합니다. 그룹이 생성되면 그룹 객체 클래스의 해당 목록이 그룹의 속성 목록에 추가됩니다.
그룹과 연결된 속성의 목록을 정의합니다. 목록에 없는 그룹 속성에 대한 읽기/쓰기 시도는 허용되지 않습니다. 속성은 대소문자를 구분합니다. 객체 클래스 및 속성 스키마는 사용자가 객체 클래스 및 속성 스키마를 지정하기 전에 Directory Server에서 정의되어야 합니다.
DN이 속한 모든 그룹 이름을 값으로 가지는 속성의 이름을 지정합니다. 기본값은 memberOf입니다.
해당 그룹에 속한 DN을 값으로 가지는 속성의 이름을 지정합니다. 기본값은 uniqueMember입니다.
해당 그룹에 속한 구성원을 확인하는 LDAP URL을 값으로 가지는 속성의 이름을 지정합니다. 기본값은 memberUrl입니다.
사용자가 사용자 컨테이너에 있는 경우 사용자 컨테이너의 이름 지정 속성을 지정합니다. 사용자가 사용자 컨테이너에 없으면 이 필드는 비어 있습니다.
사용자 컨테이너의 값을 지정합니다. 기본값은 people입니다.
이 필드는 에이전트에서 검색을 수행하는 속성 유형을 정의합니다. 기본값은 uid입니다.
에이전트가 에이전트 컨테이너에 있는 경우 에이전트 컨테이너의 이름을 지정합니다. 에이전트가 에이전트 컨테이너에 없으면 이 필드는 비어 있습니다.
에이전트 컨테이너 값을 지정합니다. 기본값은 agents입니다.
에이전트 검색에 사용되는 필터를 정의합니다. 이 필드에 LDAP 에이전트 검색 변수를 추가하여 실제 에이전트 검색 필터를 만듭니다.
예를 들어 LDAP 에이전트 검색 속성이 uid이고 LDAP 사용자 검색 필터는 (objectClass=sunIdentityServerDevice)인 경우 실제 사용자 검색 필터는(&(uid=*)(objectClass=sunIdentityServerDevice))입니다.
에이전트에 대한 객체 클래스를 지정합니다. 에이전트가 생성되면 사용자 객체 클래스가 에이전트의 속성 목록에 추가됩니다.
에이전트와 연결된 속성의 목록을 정의합니다. 목록에 없는 에이전트 속성에 대한 읽기/쓰기 시도는 허용되지 않습니다. 속성은 대소문자를 구분합니다. 객체 클래스 및 속성 스키마는 사용자가 객체 클래스 및 속성 스키마를 지정하기 전에 Directory Server에서 정의되어야 합니다.
영역에 대한 인증 모듈 모드가 데이터 저장소로 설정된 경우 이 데이터 저장소에서 사용자 및 에이전트 Identity 유형을 인증할 수 있음을 지정합니다.
영구 검색에 사용할 기본 DN을 지정합니다. 일부 LDAPv3 서버는 루트 접미사 수준의 영구 검색만 지원합니다.
Directory Server 항목에 대한 특정 변경 내용을 반환할 필터를 정의합니다. 데이터 저장소에서는 정의된 필터와 일치하는 변경 내용만 수신합니다.
영구 검색을 다시 시작하기 전 최대 유휴 시간을 지정합니다. 1보다 큰 값을 사용해야 합니다. 값이 1 이하인 경우 연결 유휴 시간에 관계없이 검색을 다시 시작합니다.
Access Manager가 로드 밸런서와 함께 배포된 경우 지정된 시간 동안 유휴 상태이면 일부 로드 밸런서에서 시간 초과가 발생합니다. 이 경우 [시스템 재시작 전의 최대 유휴 시간 영구 검색]을 로드 밸런서에 지정한 값보다 작은 값으로 설정해야 합니다.
[재시도할 LDAP 예외 오류 코드]에서 지정된 오류 코드가 발생하는 경우 영구 검색 작업에 대한 최대 재시도 횟수를 지정합니다.
각 재시도 전 대기 시간을 지정합니다. 영구 검색 연결에만 적용됩니다.
영구 검색 작업을 재시도할 오류 코드를 지정합니다. 이 속성은 영구 검색에만 적용되며 모든 LDAP 작업에 적용되지는 않습니다.
이 속성이 활성화되면 Access Manager에서 데이터 저장소에서 가져온 데이터를 캐싱할 수 있습니다.
데이터를 제거하기 전에 캐시에 저장되어 있는 최대 시간을 지정하며이 값은 초 단위로 정의됩니다.
캐시의 최대 크기를 지정합니다. 값이 클수록 더 많은 데이터를 저장할 수 있지만 많은 메모리가 필요합니다. 이 값은 바이트 단위로 정의됩니다.