Java 2 보안 정책 파일 구성
사용자는 지정된 WebSphere® Application Server 엔터프라이즈 애플리케이션에 필수 권한이 부여되도록 Java™ 2 보안 정책 파일을 구성할 수 있습니다.
시작하기 전에
WebSphere Application Server에서 지원하는 사용 가능한 정책 파일의 목록에 대한 Java 2 보안 정책 파일 주제를 참조하십시오.
WebSphere
Application Server에서 지원하는 두 가지 유형의 정책 파일로는 동적 정책 파일 및
정적 정책 파일이 있습니다. static 정책 파일은 기본 권한을 제공합니다. 동적 정책 파일은
애플리케이션 권한을 제공합니다. 여섯 개의 동적 정책 파일이 제공됩니다.
정책 파일 이름 | 설명 |
---|---|
app.policy | 셀의 모든 엔터프라이즈 애플리케이션에 대한 기본 권한이 들어 있습니다. 참고: app.policy 파일에 대한 업데이트는
app.policy 파일이 속하는 노드에서 엔터프라이즈 애플리케이션에만 적용됩니다.
|
was.policy | WebSphere Application Server 엔터프라이즈 애플리케이션에 대한 애플리케이션 특정 권한이 들어 있습니다. 이 파일은 EAR(Enterprise Archive) 파일에 패키지됩니다. |
ra.xml | WebSphere Application Server 엔터프라이즈 애플리케이션에 대한 커넥터 애플리케이션 특정 권한이 들어 있습니다. 이 파일은 RAR(Resource Adapter Archive) 파일에 패키지됩니다. |
spi.policy | WebSphere Application Server에 임베드되는 SPI(Service Provider Interface) 또는 써드파티 자원에 대한 권한이 들어 있습니다. 기본 컨텐츠는 모든 것을 부여합니다. 셀이 셀에서 SPI에 대한 추가 보호를 요청할 때 주의깊게 이 파일을 업데이트하십시오. 이 파일은 resources.xml 파일에 정의된 모든 SPI에 적용됩니다. |
library.policy | 엔터프라이즈 애플리케이션의 공유 라이브러리에 대한 권한이 들어 있습니다. |
filter.policy | 셀에서 was.policy 파일 및 app.policy 파일로부터 필터링해야 하는 권한 목록이 들어 있습니다. 이 필터링 메커니즘은 was.policy 및 app.policy 파일에만 적용됩니다. |
WebSphere
Application Server에서 애플리케이션은 was.policy 또는 app.policy
파일에 지정되는 적절한 스레드 권한을 가지고 있어야 합니다. 지정되는 스레드 권한 없이
애플리케이션은 스레드를 조작할 수 없고 WebSphere Application Server는
java.security.AccessControlException 예외를 작성합니다. app.policy 파일이
지정된 노드에 적용됩니다. 하나의 app.policy 파일에서
권한을 변경할 경우, 나머지 노드에 있는 동일 파일에서 새 스레드 정책을
통합해야 합니다. 또한 app.policy 파일에 스레드 권한을 추가할 경우,
WebSphere Application Server를 다시 시작하여
새 권한을 강화해야 합니다. 그러나 권한을 특정 애플리케이션의 was.policy 파일에 추가할 경우,
WebSphere Application Server를
다시 시작하지 않아도 됩니다. 애플리케이션이 스레드를 조작하기 위해서는 관리자는
다음 코드를 was.policy 또는 app.policy 파일에 추가해야 합니다.
grant codeBase "file:${application}" {
permission java.lang.RuntimePermission "stopThread";
permission java.lang.RuntimePermission "modifyThread";
permission java.lang.RuntimePermission "modifyThreadGroup";
};
중요사항: 서명자 키워드는 app.policy, spi.policy, library.policy, was.policy
및 filter.policy 파일 등의 정책 파일에서는 지원되지 않습니다. 그러나, Signed By 키워드는
java.policy, server.policy,
및 client.policy 정책 파일에서 지원됩니다. JAAS(Java Authentication
and Authorization Service)는 app.policy, spi.policy, library.policy, was.policy
및 filter.policy 파일에서는 지원되지 않습니다. 그러나 JAAS 프린시펄 키워드는
java.security.auth.policy JVM(Java virtual machine)
시스템 특성에 의해 지정될 때 JAAS 정책 파일에서 지원됩니다.
auth.policy.url.n=URL을 사용하여
java.security.auth.policy에서 권한 정책 파일을 정적으로 설정할 수 있습니다.
여기서 URL은 권한 정책의 위치입니다.
프로시저
결과
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
예
셀의 WebSphere Application Server 엔터프라이즈 애플리케이션에 권한이 필요한 경우, 동적 정책 파일 중 일부는 업데이트가 필요합니다. 누락된 권한의 증상은 java.security.AccessControlException 예외입니다. 누락된 권한은 다음 예외 데이터에 나열되며, 이는 한 행으로 나타나지만, 가독성을 위한 섹션으로 나누어집니다.
![[IBM i]](../images/iseries.gif)
![[z/OS]](../images/ngzos.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
${was.install.root}/java/ext/mail.jar read)
Java 프로그램이 이 예외를 수신하고 이 권한 추가가 용인되면, 적절한 동적 정책 파일에 권한을 추가하십시오.
![[IBM i]](../images/iseries.gif)
![[z/OS]](../images/ngzos.gif)
grant codeBase "file:user_client_installed_location" {
permission java.io.FilePermission
"${was.install.root}$(/)java$(/)jre$(/)lib$(/)ext$(/)mail.jar", "read";
};
이전 권한 정보 행은 설명을 위해서 분할되었습니다. 권한을 한 행에 입력하십시오.
권한 추가 여부를 결정하려면 Java 2 보안에 대한 액세스 제어 예외 주제를 참조하십시오.