client.policy 파일 권한
Java™ 2 보안은 각 Java 프로그램에 부여된 권한을 판별하기 위해 여러 정책 파일을 사용합니다.
WebSphere® Application Server에서 지원된 사용 가능한
정책 파일 목록은 Java 2 보안 정책 파일을 참조하십시오.
- client.policy 파일은 노드의 모든 WebSphere Application Server 클라이언트 컨테이너와 애플릿에서 공유되는 기본 정책 파일입니다.
- java.policy 파일 및 client.policy 파일에 포함된 권한의 유니온은 노드에서 실행 중인 WebSphere Application Server용 클라이언트 컨테이너와 애플릿 모두에 제공됩니다.
- client.policy 파일은 저장소 및 파일 복제 서비스로 관리되는 구성 파일이 아닙니다. 이 파일에 대한 변경사항은 로컬이며 다른 머신으로 복제되지 않습니다.
- WebSphere Application Server에서 제공된 client.policy 파일은 profile_root/properties/client.policy에 있습니다.
- 클라이언트에 대한 기본 권한(java.policy 파일 및 client.policy 파일에서 정의된 권한의 유니온)이 충분한 경우, 필요한 조치는 없습니다. 기본 클라이언트 정책은 자동으로 선택됩니다.
- 노드의 일부 클라이언트 컨테이너와 애플릿의 일부에 특정 변경이 필요한 경우, 정책 도구로 client.policy 파일을 수정합니다. 정책 파일을 편집하려면 PolicyTool을 사용하여 Java 2 보안을 위해 정책 파일 편집의 내용을 참조하십시오. client.policy 파일에 대한 변경사항은 노드에 대한 로컬입니다.
이 파일은 다음 기본 권한을 포함합니다.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
grant codeBase "file:${was.install.root}/java/ext/*" {
permission java.security.AllPermission;
};
// JDK classes
grant codeBase "file:${was.install.root}/java/ext/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/java/tools/ibmtools.jar" {
permission java.security.AllPermission;
};
grant codeBase "file:/QIBM/ProdData/Java400/jdk14/lib/tools.jar" {
permission java.security.AllPermission;
};
// WebSphere system classes
grant codeBase "file:${was.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/plugins/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/classes/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/installedConnectors/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${user.install.root}/installedConnectors/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/installedChannels/-" {
permission java.security.AllPermission;
};
// J2EE 1.4 permissions for client container applications
// in $WAS_HOME/installedApps
grant codeBase "file:${user.install.root}/installedApps/-" {
//Application client permissions
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission java.lang.RuntimePermission "exitVM";
permission java.lang.RuntimePermission "loadLibrary";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "*", "connect";
permission java.net.SocketPermission "localhost:1024-", "accept,listen";
permission java.io.FilePermission "*", "read,write";
permission java.util.PropertyPermission "*", "read";
};
// J2EE 1.4 permissions for client container - expanded ear file code base
grant codeBase "file:${com.ibm.websphere.client.applicationclient.archivedir}/-" {
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission java.lang.RuntimePermission "exitVM";
permission java.lang.RuntimePermission "loadLibrary";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "*", "connect";
permission java.net.SocketPermission "localhost:1024-", "accept,listen";
permission java.io.FilePermission "*", "read,write";
permission java.util.PropertyPermission "*", "read";
};
![[IBM i]](../images/iseries.gif)
grant codeBase "file:${was.install.root}/java/ext/*" {
permission java.security.AllPermission;
};
// JDK classes
grant codeBase "file:${was.install.root}/java/ext/-" {
permission java.security.AllPermission;
};
// Allow to use additional ibm jdk extensions with j9
grant codeBase "file:${was.install.root}/java/extj9/-" {
permission java.security.AllPermission;
};
// Allow to use sun and ibm tools
grant codeBase "file:${was.install.root}/java/tools/-" {
permission java.security.AllPermission;
};
// WebSphere system classes
grant codeBase "file:${was.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/plugins/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/classes/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/installedConnectors/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${user.install.root}/installedConnectors/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/installedChannels/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/util/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${user.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${user.install.root}/classes/-" {
permission java.security.AllPermission;
};
// J2EE 1.4 permissions for client container applications in $WAS_HOME/installedApps
grant codeBase "file:${user.install.root}/installedApps/-" {
//Application client permissions
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission java.lang.RuntimePermission "exitVM";
permission java.lang.RuntimePermission "loadLibrary";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "*", "connect";
permission java.net.SocketPermission "localhost:1024-", "accept,listen";
permission java.io.FilePermission "*", "read,write";
permission java.util.PropertyPermission "*", "read";
};
// J2EE 1.4 permissions for client container - expanded ear file code base
grant codeBase "file:${com.ibm.websphere.client.applicationclient.archivedir}/-" {
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission java.lang.RuntimePermission "exitVM";
permission java.lang.RuntimePermission "loadLibrary";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "*", "connect";
permission java.net.SocketPermission "localhost:1024-", "accept,listen";
permission java.io.FilePermission "*", "read,write";
permission java.util.PropertyPermission "*", "read";
};
로컬 노드의 모든 클라이언트 컨테이너와 애플릿은 시작 시 업데이트된 권한이 부여됩니다. 노드에서 일부 클라이언트 컨테이너나 애플릿은 java.policy 파일 및 기본 client.policy 파일에서 기본값으로 정의되지 않는 권한이 필요한 경우, client.policy 파일을 업데이트합니다. 누락된 권한은 java.security.AccessControlException 예외를 작성합니다. 누락된 권한은 예외 데이터에 나열됩니다. 예:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
C:\WebSphere\AppServer\java\jre\lib\ext\mail.jar read)
![[IBM i]](../images/iseries.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
app_server_root/Base/lib/mail-impl.jar read)
예의 이전 두 행은 계속된 한 행이지만 설명 목적으로만 이렇게 표시됩니다.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
grant codebase "file:user_client_installed_location" {permission
java.io.FilePermission "C:\WebSphere\AppServer\java\jre\lib\ext\mail.jar", "read"; };
![[IBM i]](../images/iseries.gif)
grant codebase "file:user_client_installed_location" { permission
java.io.FilePermission "app_server_root/lib/mail-impl.jar", "read"; };
권한을 추가할지 여부를 판별하려면 Java 2 보안의 액세스 제어 예외를 참조하십시오.
정책 파일을 업데이트하면 브라우저 및 클라이언트 애플리케이션을 다시 시작해야 합니다.