Vous pouvez protéger les méthodes de bean enterprise en
leur affectant des rôles de sécurité. Avant d'affecter des rôles de sécurité, vous devez
déterminer les méthodes d'EJB (Enterprise JavaBeans) qui doivent être protégées, ainsi que la façon de les protéger.
Pourquoi et quand exécuter cette tâche
Vous pouvez affecter un ensemble de méthodes d'EJB à un ensemble de rôles. Lorsqu'une méthode d'EJB est sécurisée
en associant un ensemble de rôles, accordez au moins un rôle
de cet ensemble pour que vous puissiez accéder à cette méthode.
Pour empêcher l'accès à un
ensemble de méthodes d'EJB, marquez-le comme exclu. Vous
pouvez autoriser à un utilisateur l'accès à un ensemble de méthodes de bean enterprise en
désélectionnant ces méthodes. Vous pouvez exécuter des beans enterprise sous une identité
différente, à l'aide de l'identité runAs, avant d'appeler d'autres beans enterprise.
Remarque : Cette procédure peut ne pas correspondre aux étapes requises lors de l'utilisation de votre outil d'assemblage, ou à la version de l'outil d'assemblage que vous utilisez. Nous vous conseillons de suivre les instructions destinées à l'outil et à la version que vous utilisez. Pour plus d'informations sur l'utilisation des outils d'assemblage, voir les informations correspondantes.
Pour
sécuriser les applications de bean enterprise, procédez comme suit :
Procédure
- Dans un outil d'assemblage, importez votre fichier JAR
(Java™ Archive) d'EJB (Enterprise JavaBeans) ou un fichier EAR
contenant un ou plusieurs modules Web.
Consultez les informations relatives à l'importation d'un fichier JAR EJB ou
d'un fichier EAR d'une application d'entreprise dans la documentation relative à Rational Application Developer.
- Dans l'explorateur de projets, cliquez sur le répertoire Projets d'EJB,
puis sur le nom de l'application.
- Avec le bouton droit de la souris, cliquez sur le descripteur de déploiement et sélectionnez Ouvrir avec > Editeur de descripteur de
déploiement. Si vous avez sélectionné un fichier .jar de bean enterprise, un éditeur de descripteur de
déploiement d'EJB s'affiche. Si vous sélectionnez un fichier.ear
d'application, un éditeur de descripteur de déploiement d'application s'affiche. Pour accéder à l'aide en ligne de l'éditeur, appuyez sur la touche F1 et cliquez sur le nom de l'éditeur.
- Créez les rôles de sécurité. Vous pouvez créer des rôles de sécurité au niveau de
l'application ou du module EJB. Si un rôle de sécurité est créé au niveau du module EJB, le rôle
s'affiche également au niveau de l'application. Si un rôle de sécurité est créé au niveau de l'application, le rôle ne s'affiche pas dans
tous les modules EJB.
Vous pouvez copier et coller un ou plusieurs rôles de sécurité du module
EJB que vous créez au niveau de l'application :
- Créez un rôle au niveau d'un module EJB. Dans un éditeur de descripteur de
déploiement d'EJB, cliquez sur l'onglet Assemblage. Dans Rôles de sécurité, cliquez sur Ajouter. Dans l'assistant d'ajout de rôles de sécurité, indiquez le nom et la description du rôle
de sécurité et cliquez sur Fin.
- Créez un rôle au niveau de l'application. Dans un éditeur de déploiement d'application,
sélectionnez l'onglet Sécurité. Sous la liste des rôles de sécurité, cliquez sur
Ajouter. Dans l'assistant d'ajout de rôles de sécurité, indiquez le nom et la description du rôle de sécurité et cliquez ensuite sur Fin.
- Créez les droits d'accès aux méthodes. Les droits d'accès aux méthodes mappent une ou plusieurs méthodes vers un ensemble de rôles. Un bean enterprise dispose de quatre types de méthodes : des méthodes home, des méthodes
remote, des méthodes LocalHome et des méthodes local. Vous pouvez ajouter
des droits d'accès aux beans enterprise au niveau de la méthode. Vous ne pouvez ajouter des
droits d'accès à une méthode à un bean enterprise que si un ou plusieurs rôles de sécurité ont été définis. Pour les projets EJB de version 2.0, une option non activée indique que le
processus d'autorisation n'est pas requis pour exécuter des méthodes sélectionnées à
partir des beans choisis. Pour ajouter des droits d'accès à une méthode à un bean enterprise, procédez comme suit :
- Dans l'onglet Assemblage d'un éditeur de descripteur de déploiement d'EJB, cliquez sur Ajouter sous Droits d'accès aux méthodes. L'assistant d'ajout de droits d'accès aux méthodes s'affiche.
- Sélectionnez un rôle de sécurité dans la liste des rôles trouvés et cliquez sur Suivant.
- Sélectionnez un ou plusieurs beans enterprise dans la liste des beans trouvés. Vous pouvez cliquer sur Sélectionner tout ou sur Désélectionner tout pour
sélectionner ou désélectionner tous les beans enterprise de la liste. Cliquez sur Next.
- Sélectionnez les méthodes que vous souhaitez lier à votre rôle de sécurité. La page Eléments de méthodes répertorie toutes les méthodes associées aux beans
enterprise. Vous pouvez cliquer sur Appliquer à tous les événements ou sur Désélectionner tout pour sélectionner ou effacer rapidement
plusieurs méthodes. Cette sélection n'affecte que la méthode par défaut (*) de
chaque bean. La création de droits d'accès à une méthode pour la signature de méthode exacte remplace le paramètre de droit d'accès à la méthode (*) par défaut. La
méthode par défaut (*) représente toutes les méthodes du bean. Il existe également des méthodes par défaut (*) pour chaque interface. Vous pouvez définir d'autres droits d'accès aux méthodes restantes en ne sélectionnant pas toutes les méthodes individuelles dans l'arborescence.
- Cliquez sur Terminer.
Les droits d'accès aux méthodes, une fois créés, apparaissent dans l'arborescence.
Développez l'arborescence pour visualiser le bean et les méthodes définis dans les droits
d'accès aux méthodes.
- Excluez l'accès des utilisateurs aux méthodes. Les utilisateurs ne doivent pas accéder aux méthodes exclues. Les méthodes des beans enterprise qui ne sont pas affectées à un rôle ou qui ne sont pas
exclues sont désélectionnées lors de l'installation de l'application par le déployeur.
- Dans l'onglet Assemblage d'un éditeur de descripteur de déploiement d'EJB,
cliquez sur Ajouter sous Liste d'exclusion. L'assistant de liste
d'exclusion s'affiche.
- Sélectionnez un ou plusieurs beans enterprise dans la liste des beans trouvés et cliquez sur
Suivant.
- Sélectionnez un ou plusieurs éléments de méthode pour l'identité de sécurité et cliquez sur Fin.
- Mappez security-role-ref et role-name à role-link. Lors du
développement des beans enterprise, vous pouvez créer l'élément security-role-ref. Cet élément comporte uniquement la zone role-name. La zone role-name détermine si l'appelant se trouve dans un
rôle role(isCallerInRole()) indiqué. Elle contient le nom du rôle référencé dans le
code. Comme les rôles de sécurité sont créés lors de la phase d'assemblage, le
développeur utilise un nom de rôle logique dans la zone role-name et
indique des informations suffisantes dans la zoneDescription pour que l'assembleur
puisse mapper le rôle réel (role-link). L'élément security-role-ref se trouve au niveau de l'EJB. Les beans
enterprise peuvent posséder plusieurs éléments security-role-ref.
- Dans l'onglet Référence d'un éditeur de déploiement d'EJB, sous la liste des références, cliquez sur Ajouter. L'assistant d'ajout de références s'affiche.
- Sélectionnez Référence à un rôle de sécurité et cliquez sur Suivant.
- Indiquez le nom de la référence au rôle de sécurité, sélectionnez un rôle de sécurité auquel
la référence doit être liée, décrivez la référence au rôle de sécurité et cliquez sur Fin.
- Mappez chaque role-name utilisé lors du développement au rôle (role-link)
en suivant les étapes ci-dessus.
- Définissez l'identité RunAs pour les composants de bean entreprise. L'identité RunAs du bean enterprise permet d'appeler les beans entreprise suivants
dans la chaîne d'appels des EJB. Lorsque les beans entreprise suivants sont appelés,
l'identité RunAsIdentity est transmise aux beans entreprise suivants pour effectuer le
contrôle des autorisations sur le prochain bean entreprise. Si l'identité RunAs n'est pas
définie, l'identité du client est transmise aux beans entreprise suivants. L'identité
RunAs peut représenter chaque bean entreprise ou chaque méthode des beans entreprise.
- Dans l'onglet Accès d'un éditeur de descripteur de déploiement d'EJB,
cliquez sur Ajouter en regard de la zone Identité de sécurité (niveau bean). L'assistant d'ajout d'identité de sécurité s'affiche.
- Sélectionnez le mode d'exécution, décrivez l'identité de sécurité et
cliquez sur Suivant. Sélectionnez le mode Utiliser l'identité de l'appelant pour indiquer au service de sécurité de ne pas modifier les paramètres de justificatif du principal. Sélectionnez le mode Utiliser l'identité attribuée à un rôle spécifique afin d'utiliser un principal affecté au rôle de sécurité
indiqué pour l'exécution des méthodes du bean. Cette association fait partie de la liaison d'application dans laquelle le rôle est associé à l'ID utilisateur et à un mot de passe d'un utilisateur auquel a été octroyé ce rôle. Si vous avez sélectionné le mode Utiliser l'identité attribuée à un rôle spécifique, vous devez fournir le nom et la description du
rôle.
- Sélectionnez un ou plusieurs beans enterprise dans la liste des beans trouvés et cliquez sur
Suivant. Si Suivant n'est pas disponible, cliquez sur Fin.
- Facultatif : Sur la page des Eléments de méthode, sélectionnez un ou plusieurs éléments de méthode pour l'identité de sécurité et cliquez sur Fin.
- Fermez l'éditeur du descripteur de déploiement et, à l'invite, cliquez sur Oui pour sauvegarder les modifications.
Résultats
Une fois que vous avez sécurisé une application EJB, le fichier
.jar obtenu contient des informations de sécurité dans
son descripteur de déploiement. Les informations de sécurité
des modules EJB est stocké dans le fichier
ejb-jar.xml.
Que faire ensuite
Après avoir utilisé l'outil d'assemblage pour sécuriser une
application EJB, vous pouvez installer l'application EJB à l'aide de la
console d'administration. Lors de l'installation d'une application EJB sécurisée, suivez la procédure décrite à la rubrique Déploiement d'applications sécurisées pour procéder à la sécurisation de l'application EJB.