여기에서 JEUS 도메인의 메인 설정 파일인 domain.xml에서 Security Manager에 관련된 태그에 대한 설명을 찾을 수 있다.
XML Schema 파일:
JEUS_HOME/lib/schemas/jeus/jeus-security.xsd
레퍼런스는 다음 형식으로 구성되어 있다.
XML Schema/XML 트리: XML 설정 파일의 모든 태그 리스트를 정리했다. 각 노드의 형식은 다음과 같다.
태그 레퍼런스로 빨리 찾아보기 위해서 각 태그마다 인덱스 번호( 예: (11) )를 붙여 놓았다. 태그 레퍼런스에서는 이 번호 순서로 설명한다.
XML Schema에서 정의한 XML 태그명을 <tag name> 형식으로 표시한다.
XML Schema에서 정의한 Cardinality를 표시한다. “?” = 0개나 1개의 element, “+” = 1개 이상의 element, “*” = 0개 이상의 element, (기호가 없음) = 정확히 1개의 element
몇몇 태그에는 “P” 문자를 붙여 놓았는데, 해당 태그는 성능에 관계되는 태그라는 것을 뜻한다. 이 태그는 설정을 튜닝할 때 사용된다.
Element Reference: 트리에 있는 각 XML 태그를 설명한다.
Dynamic: 동적 설정 반영 가능
Non-Dynamic: 동적 설정 반영 불가능, Dynamic이 설정되지 않은 항목들이 보통 이에 해당 하나 특별히 설명이 있는 경우 이 항목이 표시된다.
Description: 태그에 대한 간단한 설명.
Value Description: 입력하는 값과 타입.
Value Type: 값의 데이터 타입. (예: String)
Value Type Description: 값의 데이터 타입에 대한 설명
Default Value: 해당 XML을 사용하지 않았을 때 기본적으로 사용되는 값.
Defined Value: 이미 정해져 있는 값.
Example: 해당 XML 태그에 대한 예.
Performance Recommendation: 성능 향상을 위해서 추천하는 값.
Child Elements: 자신의 태그 안에 사용하는 태그.
(7) <connect-retries> ?
(9) <security-domain-name> +
(10) <password-validator> ?
(11) <default-password-validator>
(12) <minLength> ?
(13) <maxLength> ?
(14) <force-special-character> ?
(15) <force-digit> ?
(16) <force-capital-letter> ?
(17) <force-small-letter> ?
(18) <deny-username> ?
(19) <custom-password-validator>
(20) <class-name> *
(5)
<
domain
>
<security-manager>
| |
Description | JEUS Security 정보 관리에 대한 설명이다. 하나의 도메인 내의 공통 Security 정보를 관리할 때 설정한다. |
Value Type | security-managerType |
Child Elements |
(7)
(8)
(11)
|
[예 3.1] Security Manager domain.xml 파일 예제
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <domain> <!-- Security Manager information for JEUS Security System --> <security-domains> <!-- added domain in JEUS Security System --> <security-domain> <name>SYSTEM_DOMAIN</name> <authentication> <!-- authentication service for DBRealm Service --> <default-repository-service> <database-repository> <vendor>oracle</vendor> <driver>oracle.jdbc.OracleDriver</driver> <url>jdbc:oracle:thin:@61.77.153.110:1521:ORCL</url> <username>scott</username> <password>{base64}dGlnZXI=</password> </database-repository> </default-repository-service> </authentication> </security-domain> <security-domain> <name>JACC_DOMAIN</name> <authorization> <!-- authorization service for JACC Authorization Service --> <jacc-service/> </authorization> </security-domain> <security-domain> <name>SAMPLE_DOMAIN</name> <!-- added identity assertion service about SubjectDN --> <identity-assertion> <default-identity-assertion-service> <x509-identity-assertion> <default-user-mapper> <cert-attr-type>SubjectDN</cert-attr-type> <attribute-type>CN</attribute-type> <attribute-value-delimiter>,</attribute-value-delimiter> </default-user-mapper> </x509-identity-assertion> </default-identity-assertion-service> </identity-assertion> <!-- added credential verification service about X509Certificate --> <credential-verification> <custom-credential-verification-service> jeus.security.impl.verification.X509CertificateVerific ationService </custom-credential-verification-service> </credential-verification> </security-domain> <security-domain> <name>MY_DOMAIN</name> <login> <!-- login service information for JAAS LoginModule Service --> <jaas-login-config> <login-module> <login-module-classname>jeus.security.impl.login.DBRealmLoginM odule</login-module-classname> <control-flag>required</control-flag> <option> <name>exportName</name> <value>dbrealmtest</value> </option> <option> <name>principalsQuery</name> <value>select password from MY_DOMAIN_Principals where user name=?</value> </option> <option> <name>rolesQuery</name> <value>select * from MY_DOMAIN_roles where username=?</value> </option> </login-module> </jaas-login-config> </login> <authorization> <repository-service> <!-- added authorization service for modifying policy in runtime --> <custom-repository> jeus.security.impl.aznrep.CustomPolicyFileRealmAuth orizationRepositoryService <property> <name>PolicyClassName</name> <value>jeus.security.base.CustomJeusPolicy</value> </property> <!-- added Principal classname --> <property> <name>UserPrincipalClassName</name> <value>jeus.security.resource.PrincipalImpl</value> </property> <!-- added RolePrincipal classname --> <property> <name>RolePrincipalClassName</name> <value>jeus.security.resource.RolePrincipalImpl</value> </property> </custom-repository> </repository-service> </authorization> </security-domain> </security-domains> </domain>