Présentation technique de Sun Java Enterprise System 5

Chapitre 3 Fonctions d'intégration de Java ES

Ce chapitre fournit des informations conceptuelles et techniques permettant de comprendre les fonctions qui jouent un rôle essentiel dans l'intégration de composants Java ES dans un système logiciel unique. Ces fonctions permettent de mettre en évidence certains des avantages de l'utilisation de Java ES par rapport à l'intégration manuelle de différents produits d'infrastructure.

Le chapitre se compose des sections suivantes :

Programme d'installation intégré de Java ES

Tous les composants de Java ES sont installés à l'aide d'un programme d'installation unique. Le programme d'installation de Java ES est une structure intégrée qui transfère le logiciel Java ES vers un système hôte Il permet de sélectionner et d'installer un nombre quelconque de composants Java ES sur tout hôte de votre environnement informatique. Il assure également une configuration au moment de l'installation, selon les composants Java ES à installer.

Le programme d'installation de Java ES n'effectue pas lui-même d'installations distribuées. Pour déployer une solution logicielle distribuée, utilisez le programme d'installation de Java ES pour installer les composants appropriés sur chaque ordinateur de votre environnement, en procédant avec un ordinateur à la fois. Vous devez utiliser une séquence convenable de sessions d'installation et de procédures de configuration selon votre architecture de déploiement et les dépendances entre les composants.

Le programme d'installation est exécuté de manière interactive en mode graphique et en mode texte. Il comporte également un mode d'installation silencieux actionné par des paramètres. Outre l'anglais, le programme d'installation prend en charge les langues suivantes : le français, l'allemand, le japonais, le coréen, l'espagnol, le chinois simplifié et le chinois traditionnel.

Cette section aborde les différents aspects du programme d'installation intégré de Java ES . Pour plus d'informations, reportez-vous au Guide d’installation de Sun Java Enterprise System 5 pour UNIX.

Contrôle de logiciels préexistants

Le programme d'installation examine l'hôte sur lequel l'installation est effectuée, puis il identifie les composants de Java ES déjà installés. Il procède ensuite à un contrôle sur plusieurs niveaux pour vérifier que tous les composants existants sont au niveau permettant une bonne interopérabilité. Le programme d'installation signale les composants logiciels incompatibles qui doivent être mis à niveau ou supprimés.

De même, il vérifie si des composants partagés de Java ES comme J2SE ou NSS, sont déjà installés et répertorie les incompatibilités (voir Composants partagés). Si vous effectuez l'installation, le programme met automatiquement à niveau les composants partagés.

Contrôle de dépendance

Le programme d'installation effectue une vérification approfondie des composants afin de vérifier que les composants sélectionnés lors de l'installation fonctionnent bien conjointement. La plupart des composants ont des dépendances par rapport aux autres composants. De ce fait, lorsque vous sélectionnez un composant à installer, le programme d'installation inclut automatiquement les composants et les sous-composants entretenant des rapports de dépendance avec ce composant. Vous ne pouvez pas désélectionner un composant si un autre composant sélectionné en dépend au niveau local. Toutefois, si la dépendance n'est pas locale, vous recevez un avertissement, mais vous pouvez poursuivre en supposant que la dépendance est satisfaite par un composant figurant sur un autre ordinateur hôte.

Configuration initiale

La plupart des composants de Java ES requièrent une configuration initiale avant de pouvoir être lancés. Pour certains composants, le programme d'installation de Java ES sert à effectuer cette configuration initiale.

Vous pouvez choisir de laisser le programme d'installation effectuer cette configuration initiale (option Configurer maintenant) ou d'installer le logiciel sans effectuer la configuration initiale (option Configurer ultérieurement), auquel cas vous devrez configurer explicitement chaque composant installé une fois l'installation effectuée.

Si vous laissez au programme d'installation le soin d'effectuer la configuration initiale, indiquez les informations de configuration requises pendant l'installation. En particulier, vous pouvez indiquer un ensemble de paramètres communs à tous les composants, tels un ID d'administrateur et un mot de passe.

Désinstallation

Java ES fournit également un programme de désinstallation permettant de supprimer les composants qui ont été installés sur l'ordinateur local par le programme d'installation de Java ES. Le programme de désinstallation recherche les dépendances locales et émet des avertissements lorsqu'il détecte une telle dépendance. Le programme de désinstallation ne supprime pas les composants Java ES partagés. Tout comme le programme d'installation, le programme de désinstallation peut fonctionner en mode graphique, en mode texte ou en mode silencieux.

Services de contrôle système

Java ES comprend une nouvelle fonctionnalité de contrôle permettant de contrôler en temps réel les services système. Le contrôle est implémenté par Sun Java System Monitoring Framework (composant partagé) et Sun Java System Monitoring Console (composant de produit). Monitoring Framework est automatiquement configuré et activé pour collecter des données pour chaque composant Java ES installé et Monitoring Console est l'interface graphique utilisée pour afficher les données contrôlées. Monitoring Console est un composant pouvant être sélectionné au cours de l'installation de Java ES tandis que Monitoring Framework est installé automatiquement.

Le contrôle est le processus consistant à collecter des données d'exécution et à calculer la qualité des critères de service afin que les administrateurs système puissent évaluer les performances et recevoir des alarmes. Au cours de l'exécution, les administrateurs sont en interaction avec Monitoring Console pour afficher les statistiques de performance, définir les seuils à surveiller de manière dynamique, définir des tâches de contrôle personnalisées et accuser réception des alarmes.

Services intégrés d'identité et de sécurité

L'une des fonctions importantes de Java ES est la gestion intégrée des identités des utilisateurs et la structure d'autorisation et d'authentification intégrée. Cette section fournit des informations techniques permettant de comprendre les services intégrés d'identité et de sécurité proposés par Java ES.

Identité unique

Au sein d'un environnement Java ES, un utilisateur final possède une seule identité intégrée. En fonction de cette identité unique, un utilisateur peut être autorisé à accéder à certaines ressources, par exemple un portail, des pages Web, ou des services de messagerie, de calendrier ou de messagerie instantanée.

La fonctionnalité d'identité et de sécurité intégrée est basée sur la collaboration étroite entre Directory Server, Access Manager et les autres composants de Java ES.

L'accès d'un utilisateur à un service ou une ressource Java ES est conditionné par le stockage d'informations spécifiques à l'utilisateur dans une entrée utilisateur unique dans un référentiel utilisateur ou un annuaire. En général, ces informations comportent les éléments suivants : nom et mot de passe uniques, adresse électronique, rôle au sein de l'organisation, préférences de pages Web, etc. Les informations de l'entrée utilisateur peuvent être utilisées pour authentifier l'utilisateur, autoriser son accès à des ressources spécifiques ou fournir divers services à cet utilisateur.

Dans le cas de Java ES, les entrées utilisateur sont stockées dans un annuaire fournis par Directory Server. Lorsqu'un utilisateur souhaite demander un service fourni par un composant Java ES, ce service utilise Access Manager pour authentifier l'utilisateur et autoriser l'accès aux ressources spécifiques. Le service demandé vérifie les informations de configuration propres à l'utilisateur qui se trouvent dans l'entrée du répertoire de l'utilisateur. Le service utilise ces informations pour effectuer le travail demandé par l'utilisateur.

La figure suivante illustre l'accès aux entrées utilisateur afin d'effectuer une authentification et une autorisation de l'utilisateur en vue de lui fournir des services.

Figure 3–1 Une entrée utilisateur unique prend en charge de nombreux services

Diagramme représentant plusieurs composants Java Enterprise System en interaction avec l'entrée utilisateur unique d'un répertoire.

L'une des fonctions dérivées de ce système est la capacité d'un utilisateur Web de se connecter à un service Java ES et, ce faisant, d'être authentifié automatiquement auprès des autres services du système. Cette capacité, appelée connexion unique, est une fonction puissante offerte par Java ES.

Authentification et connexion unique

Les services d'autorisation et d'authentification de Java ES sont fournis par Access Manager. Access Manager utilise les informations de Directory Server pour gérer les interactions des utilisateurs avec les services Web de Java ES ou d'autres services Web au sein d'une entreprise.

Access Manager utilise un composant externe appelé agent de stratégie. L'agent de stratégie se connecte au serveur Web qui héberge une ressource ou un service sécurisé par Access Manager. L'agent de stratégie intercède auprès d'Access Manager pour les requêtes adressées par des utilisateurs aux ressources sécurisées. Pour certains composants Java ES, comme Portal Server, les fonctionnalités de l'agent de stratégie sont assurées par un sous-composant Access Manager SDK.

Authentification

Access Manager comporte un service d'authentification permettant de vérifier les identités des utilisateurs qui demandent l'accès (par HTTP ou HTTPS) aux services Web d'une entreprise. Par exemple, un employé qui recherche le numéro de téléphone d'un collègue peut pour cela utiliser un navigateur afin de consulter l'annuaire en ligne de l'entreprise. Pour se connecter au service d'annuaire, l'utilisateur doit saisir un ID utilisateur et un mot de passe.

La séquence d'authentification est illustrée dans la Figure 3–2. Un agent de stratégie reçoit la demande de connexion à l'annuaire (1), puis il l'envoie au service d'authentification (2). Le service d'authentification vérifie l'ID utilisateur et le mot de passe en les comparant aux informations stockées dans Directory Server (3). Si la demande de connexion est valide, l'utilisateur est authentifié (4), (5) et (6), puis l'annuaire de l'entreprise s'affiche (7). Dans le cas contraire, une erreur est générée et l'authentification échoue.

Le service d'authentification prend également en charge l'authentification par certificats via HTTPS.

Figure 3–2 Séquence d'authentification

Diagramme représentant la séquence d'authentification, impliquant le navigateur Web, l'agent de stratégie, le service d'authentification, le service de session et Directory Server.

Connexion unique

Le scénario d'authentification traité dans les paragraphes précédents dissimule une étape importante. Lors de la vérification d'une demande d'authentification d'un utilisateur, le service de session de Access Manager est engagé (4), comme illustré dans la Figure 3–2. Le service de session génère un jeton de session qui détient les informations sur l'identité de l'utilisateur et un ID de jeton (5) Le jeton de session est renvoyé à l'agent de stratégie (6) qui transfère le jeton (sous la forme d'un cookie) vers le navigateur (7) depuis lequel la demande d'authentification a été effectuée.

Si l'utilisateur authentifié essaie d'accéder à un autre service sécurisé, le navigateur transfère le jeton de session à l'agent de stratégie correspondant. Ce dernier vérifie auprès du service de session que l'authentification précédente de l'utilisateur est toujours valide, puis l'utilisateur est autorisé à accéder au service pour la deuxième fois sans avoir à entrer de nouveau son ID utilisateur et son mot de passe.

Par conséquent, il suffit à l'utilisateur de se connecter une seule fois pour être authentifié sur plusieurs services Web fournis par Java ES. L'authentification avec connexion unique reste valide jusqu'à la déconnexion de l'utilisateur ou jusqu'à l'expiration de la session.

Autorisation

Access Manager inclut également un service de stratégie qui assure le contrôle d'accès aux ressources Web au sein d'un environnement Java ES. Une stratégie est une règle indiquant qui est autorisé à accéder à une ressource spécifique et dans quelles conditions. La séquence d'autorisation est illustrée à la figure suivante.

Figure 3–3 Séquence d'autorisation

Diagramme représentant la séquence d'autorisation décrite dans le paragraphe, impliquant le navigateur Web, l'agent de stratégie, le service de stratégie et Directory Server.

Lorsqu'un utilisateur authentifié demande l'accès à une ressource sécurisée avec Access Manager (1), l'agent de stratégie avertit le service de stratégie (2) qui utilise les informations de Directory Server (3) pour évaluer la stratégie d'accès s'appliquant à la ressource et vérifier si l'utilisateur possède les droits d'accès à cette ressource (4). Si l'utilisateur possède des droits d'accès (5), la demande est satisfaite (6).

Access Manager fournit les moyens de définir, modifier, accorder, révoquer et supprimer des stratégies au sein d'une entreprise. Les stratégies sont stockées dans Directory Server et configurées par le biais d'attributs liés aux stratégies dans les entrées d'organisation. Il est également possible de définir des rôles pour les utilisateurs et de les intégrer dans les définitions de stratégies.

Les agents de stratégie Access Manager font appliquer les stratégies. Lorsque le service de stratégie rejette une demande d'accès, l'agent de stratégie empêche l'utilisateur d'accéder aux ressources sécurisées.

Termes clés de ce chapitre

Cette section explique les principaux termes clés utilisés dans ce chapitre, en insistant sur la clarification des relations entre ces termes et sur leur mode d'utilisation dans le contexte Java ES.

annuaire

Type particulier de base de données optimisé pour la lecture des données plutôt que pour leur écriture. La plupart des annuaires se basent sur le protocole standard LDAP (Lightweight Directory Access Protocol).

stratégie

Une stratégie est une règle indiquant qui est autorisé à accéder à une ressource donnée dans des conditions précises. Cette règle peut se baser sur des groupes d'utilisateurs ou des rôles au sein d'une organisation.

identité unique

Identité affectée à un utilisateur par le biais d'une entrée utilisateur unique dans un annuaire Java ES. Sur la base de cette entrée utilisateur unique, l'utilisateur peut obtenir l'accès à diverses ressources Java ES, telles que portails, pages Web et services (comme la messagerie, le calendrier ou la messagerie instantanée).

connexion unique

Fonction permettant l'authentification d'un utilisateur sur un service d'un système distribué et son application automatique aux autres services du système.