Droits d'accès au fichier client.policy

La sécurité Java™ 2 utilise plusieurs fichiers de règles pour déterminer les droits accordés à chaque programme Java.

Pour connaître la liste des fichiers de règles disponibles pris en charge par WebSphere Application Server, voir Fichiers de règles de sécurité Java 2.
  • Le fichier client.policy est un fichier de règles par défaut partagé par tous les conteneurs client WebSphere Application Server et les applets installés sur un noeud.
  • L'ensemble des droits d'accès contenus dans les fichiers java.policy et client.policy sont accordés à tous les conteneurs client WebSphere Application Server et à tous les applets exécutés sur le noeud.
  • Le fichier client.policy n'est pas un fichier de configuration géré par le référentiel et le service de réplication des fichiers. Les modifications apportées à ce fichier sont locales et ne sont pas répliquées sur l'autre machine.
  • Le fichier client.policy fourni par WebSphere Application Server se trouve dans le répertoire racine_profil/propriétés/client.policy.
  • Si les droits d'accès par défaut d'un client (ensemble des droits d'accès définis dans les fichiers java.policy et client.policy) sont suffisants, aucune action n'est requise. La règle client par défaut est sélectionnée automatiquement.
  • Si un changement spécifique s'impose pour certains conteneurs client et applets d'un noeud, modifiez le fichier client.policy à l'aide de l'outil de règles. Pour modifier les fichiers de règles, voir Utilisation de PolicyTool pour éditer des fichiers de règles pour la sécurité Java 2. Les modifications apportées au fichier client.policy sont valables en local, au niveau du noeud.

Ce fichier contient les droits d'accès par défaut suivants :

[AIX Solaris HP-UX Linux Windows][z/OS]
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;
};

// classes système WebSphere
grant codeBase "file:${racine.installation.was}/lib/-" {
  permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/plugins/-" {
  permission java.security.AllPermission;
};
grant codeBase "file:${racine.installation.was}/classes/-" {
  permission java.security.AllPermission;
};
grant codeBase "file:${racine.installation.was}/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;
};

// Droits J2EE 1.4 pour les applications de conteneur client 
// dans $WAS_HOME/installedApps
grant codeBase "file:${user.install.root}/installedApps/-" {
  //droits d'accès au client d'application
  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";

};

// droits d'accès J2EE 1.4 pour conteneur client - codebase du fichier EAR étendu
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]
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;
};

// Permet d'utiliser les extensions ibm jdk avec j9
grant codeBase "file:${was.install.root}/java/extj9/-" {
  permission java.security.AllPermission;
};

// Permet d'utiliser des outils sun et ibm
grant codeBase "file:${was.install.root}/java/tools/-" {
  permission java.security.AllPermission;
};

// classes système WebSphere
grant codeBase "file:${racine.installation.was}/lib/-" {
  permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/plugins/-" {
  permission java.security.AllPermission;
};
grant codeBase "file:${racine.installation.was}/classes/-" {
  permission java.security.AllPermission;
};
grant codeBase "file:${racine.installation.was}/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;
};

// Droits J2EE 1.4 pour les applications de conteneur client dans $WAS_HOME/installedApps
grant codeBase "file:${user.install.root}/installedApps/-" {
  //droits d'accès au client d'application
  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";

};

// droits d'accès J2EE 1.4 pour conteneur client - codebase du fichier EAR étendu
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";
};

L'ensemble des applets et des conteneurs client sur le noeud local reçoivent des droits d'accès à jour au moment de l'exécution. Si certains conteneurs client ou applets installés sur un noeud requièrent des droits d'accès non définis en tant que valeurs par défaut dans le fichier java.policy et le fichier par défaut client.policy, mettez à jour le fichier client.policy. Si le droit d'accès n'est pas défini, l'exception java.security.AccessControlException est générée. Les droits d'accès manquants sont répertoriés dans les données de l'exception, par exemple,

[AIX Solaris HP-UX Linux Windows][z/OS]
java.security.AccessControlException: access denied (java.io.FilePermission 
C:\WebSphere\AppServer\java\jre\lib\ext\mail.jar read)
[IBM i]
java.security.AccessControlException: access denied (java.io.FilePermission 
racine_serveur_app/Base/lib/mail-impl.jar read)

Les deux lignes précédentes de l'exemple doivent être sur une seule ligne, mais sont présentées sur deux lignes à des fins d'illustration.

[AIX Solaris HP-UX Linux Windows][z/OS]Lorsqu'un programme client reçoit cette exception et que l'ajout de ce droit est justifié, ajoutez un droit au fichier client.policy, par exemple :
grant codebase "file:user_client_installed_location" {permission
 java.io.FilePermission "C:\WebSphere\AppServer\java\jre\lib\ext\mail.jar", "read"; };
[IBM i]Lorsqu'un programme client reçoit cette exception et que l'ajout de ce droit est justifié, ajoutez un droit au fichier client.policy, par exemple :
grant codebase "file:user_client_installed_location" { permission
 java.io.FilePermission "app_server_root/lib/mail-impl.jar", "read"; };

Pour savoir s'il faut ajouter un droit d'accès, consultez la rubrique relative à l'exception de contrôle d'accès pour la sécurité Java 2.

Si vous mettez à jour le fichier de règles, vous devez relancer le navigateur et toutes les applications client.


Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_clientpolicy
Nom du fichier : rsec_clientpolicy.html