제15장 policies.xml 보안 설정

내용 목차

15.1. 소개
15.2. XML Schema/XML 트리
15.3. Element Reference
15.4. policies.xml 파일 예제

여기에서 JEUS의 보안 시스템에서 Policy 권한 체크와 관련된 설정 파일인 policies.xml의 설명을 찾을 수 있다.

레퍼런스는 다음 형식으로 구성되어 있다.

  1. XML Schema/XML 트리: XML 설정 파일의 모든 태그 리스트를 정리했다. 각 노드의 형식은 다음과 같다.

    1. 태그 레퍼런스로 빨리 찾아보기 위해서 각 태그마다 인덱스 번호( 예: (11) )를 붙여 놓았다. 태그 레퍼런스에서는 이 번호 순서로 설명한다.

    2. XML Schema에서 정의한 XML 태그명을 <tag name> 형식으로 표시한다.

    3. XML Schema에서 정의한 Cardinality를 표시한다. “?” = 0개나 1개의 element, “+” = 1개 이상의 element, “*” = 0개 이상의 element, (기호가 없음) = 정확히 1개의 element

    4. 몇몇 태그에는 “P” 문자를 붙여 놓았는데, 해당 태그는 성능에 관계되는 태그라는 것을 뜻한다. 이 태그는 설정을 튜닝할 때 사용된다.

  2. Element Reference: 트리에 있는 각 XML 태그를 설명한다.

    1. Dynamic: 동적 설정 반영 가능

    2. Non-Dynamic: 동적 설정 반영 불가능, Dynamic이 설정되지 않은 항목들이 보통 이에 해당 하나 특별히 설명이 있는 경우 이 항목이 표시된다.

    3. Description: 태그에 대한 간단한 설명.

    4. Value Description: 입력하는 값과 타입.

    5. Value Type: 값의 데이터 타입. (예: String)

    6. Value Type Description: 값의 데이터 타입에 대한 설명

    7. Default Value: 해당 XML을 사용하지 않았을 때 기본적으로 사용되는 값.

    8. Defined Value: 이미 정해져 있는 값.

    9. Example: 해당 XML 태그에 대한 예.

    10. Performance Recommendation: 성능 향상을 위해서 추천하는 값.

    11. Child Elements: 자신의 태그 안에 사용하는 태그.

(1) <policies>
Description JEUS의 권한 체크와 관련된 Policy들을 정의한다.
Value Type PoliciesType
Child Elements

(3) policy

(2) < policies > <policy>
Description JEUS의 Policy를 정의한다.
Value Type PolicyType
Child Elements

(4) role-permissions

(12) resource-permissions

(3) < policies >< policy > <role-permissions>
Description 해당 Policy에 대한 <principal-role> 매핑들을 정의한다.
Value Type RolePermissionsType
Child Elements

(5) role-permission

(4) < policies >< policy >< role-permissions > <role-permission>
Description 해당 Policy에 대한 <principal-role> 매핑을 정의한다.
Value Type rolePermissionType
Child Elements

(6) role

(7) principal

(8) actions

(9) classname

(10) excluded

(11) unchecked

(5) < policies >< policy >< role-permissions >< role-permission > <role>
Description Principal들에게 부여할 Role 이름을 지정한다.
Value Type token

(6) < policies >< policy >< role-permissions >< role-permission > <principal>
Description Role에 해당하는 User Principal을 지정한다.
Value Type token
Value Description Security의 accounts.xml에서 지정되어 있는 Principal 이름을 입력한다.

(7) < policies >< policy >< role-permissions >< role-permission > <actions>
Description Role Permission 객체에 대한 액션을 정의한다. 기본으로 사용되는 Role Permission은 정해진 액션이 없다.
Value Type token

(8) < policies >< policy >< role-permissions >< role-permission > <classname>
Description 사용할 Role Permission Class Name을 지정한다. 지정하지 않으면 JEUS에서 기본적으로 제공하는 클래스가 사용된다.
Value Type token

(9) < policies >< policy >< role-permissions >< role-permission > <excluded>
Description Role을 사용하지 못하도록 설정한다.
Value Type emptyType

(10) < policies >< policy >< role-permissions >< role-permission > <unchecked>
Description 아무런 체크 없이 Role을 사용 가능하도록 설정한다.
Value Type emptyType

(11) < policies >< policy > <resource-permissions>
Description 해당 Policy에 대한 <role-resource> 매핑들을 정의한다.
Value Type ResourcePermissionsType
Child Elements

(13) context-id

(14) resource-permission

(12) < policies >< policy >< resource-permissions > <context-id>
Description <role-resource> 매핑이 적용되는 <context id>를 설정한다(보통 이 태그는 사용되지 않는다).
Value Type token
Value Description 컨텍스트의 ID 값
Default Value default

(13) < policies >< policy >< resource-permissions > <resource-permission>
Description 해당 Policy에 대한 Role Resource 매핑을 정의한다.
Value Type ResourcePermissionType
Child Elements

(15) resource

(16) actions

(17) role

(18) classname

(19) excluded

(20) unchecked

(14) < policies >< policy >< resource-permissions >< resource-permission > <resource>
Description Role을 매핑하는 리소스를 설정한다.
Value Type token
Value Description 리소스 이름

(15) < policies >< policy >< resource-permissions >< resource-permission > <actions>
Description ResourcePermission 클래스의 생성자에게 넘길 Actions 값을 설정한다.
Value Type token
Value Description ResourcePermission 클래스에게 넘길 Actions 데이터 값

(16) < policies >< policy >< resource-permissions >< resource-permission > <role>
Description 해당 리소스에 매핑되는 Role을 설정한다.
Value Type token
Value Description Role 이름

(17) < policies >< policy >< resource-permissions >< resource-permission > <classname>
Description java.security.Permission을 상속한 Java 클래스 이름을 입력한다. 이 클래스는 Resource Permission에 사용된다.
Value Type token
Value Description Java 클래스 이름
Default Value jeus.security.resource.ResourcePermission

(18) < policies >< policy >< resource-permissions >< resource-permission > <excluded>
Description 이 태그가 있으면, 해당 리소스는 배제된다(누구도 해당 리소스에 접근할 수 없다).
Value Type emptyType
Value Description Empty 타입으로, 어떤 값도 설정되지 않는다.

(19) < policies >< policy >< resource-permissions >< resource-permission > <unchecked>
Description 이 태그가 있으면, 해당 리소스는 체크되지 않는다(누구나 이 리소스에 접근할 수 있다).
Value Type emptyType
Value Description Empty 타입으로, 어떤 값도 설정되지 않는다.