Ce chapitre présente l'architecture du produit SunTM Identity Manager.
Il se compose des rubriques suivantes :
Comprendre les directives de séparation des systèmes et de proximité physique
Comprendre SPML et l'architecture de système des services Web
Comprendre l'architecture de système d'Identity Manager Service Provider
Identity Manager est une application Web J2EE (Java 2 Platform, Enterprise EditionTM. La plate-forme J2EE consiste en un ensemble de services, API et protocoles standard du secteur qui fournissent les fonctionnalités nécessaires au développement d'applications d'entreprise Web multiniveaux.
L'architecture du système Identity Manager est distribuée sur quatre niveaux logiques :
le niveau utilisateur ;
le niveau d'application ;
le niveau base de données ;
le niveau ressources gérées.
Ces différents niveaux sont examinés dans les sections suivantes en commençant par le niveau d'application.
Identity Manager (aussi connu sous le nom de serveur Identity Manager) est installé dans un conteneur Web J2EE à l'intérieur d'un serveur d'application. Le serveur Identity Manager se compose de fichiers JSPTM, HTML, d'images et de classes JavaTM. Les adaptateurs et les connecteurs, qui s'interfacent avec d'autres systèmes informatiques (que l'on appelle aussi des ressources), se trouvent également dans Identity Manager, sur le serveur de l'application.
Reportez-vous à la section Serveurs d’application du Notes de version de Sun Identity Manager 8.1 pour la liste des serveurs d'application pris en charge.
Étant donné qu'Identity Manager est une application Web, l'interface utilisateur réside sur le serveur d'application et les pages sont servies au niveau utilisateur requête par requête.
L'installation d'Identity Manager sur les serveurs d'application est simple : un programme d'installation graphique basé sur un assistant est fourni et, sur les systèmes UNIX®, un programme d'installation de ligne de commande est également disponible. Le serveur d'application doit avoir un kit de développement Java (Java Development Kit, (JDKTM) intégré ou installé pour exécuter les classes Java qui effectuent les actions au sein d'Identity Manager.
Identity Manager stocke l'ensemble de ses informations de provisioning et d'état dans le référentiel d'Identity Manager. Ce référentiel se compose de tables où sont stockées toutes les données de configuration relatives à Identity Manager. Il constitue une source unique dans laquelle Identity Manager recherche les données et verrouille les objets. Ce référentiel contient également un journal d'audit qui est un historique des actions entreprises dans Product_IDMgr;. Les données d'Identity Manager sont stockées au format XML. Le référentiel peut se situer indifféremment dans des fichiers locaux ou une base de données relationnelle, sauf dans les environnements de production où la base de données relationnelle devient obligatoire.
Pour la liste des serveurs de base de données pris en charge, reportez-vous à la section Serveurs de bases de données de référentiel du Notes de version de Sun Identity Manager 8.1.
Vous remarquerez qu'en dessous d'une quantité minimale d'informations d'identité relatives aux utilisateurs individuels, les données des utilisateurs ne sont pas conservées dans Identity Manager. Dans ce cas, seuls les attributs nécessaires pour identifier et différencier les utilisateurs au sein d'Identity Manager (par exemple, le nom et l'adresse e-mail) sont enregistrés dans le référentiel.
Identity Manager peut se connecter au référentiel via une connexion JDBC directe ou utiliser la fonctionnalité de source de données mise à disposition par votre serveur d'application.
La fonctionnalité Identity Manager Service Provider requiert un référentiel LDAP supplémentaire pour stocker les informations des utilisateurs. Pour de plus amples détails, reportez-vous à Comprendre l'architecture de système d'Identity Manager Service Provider.
Le niveau ressources gérées se compose des applications et systèmes informatiques sur lesquels vous provisionnez et déprovisionnez les comptes utilisateurs. Il inclut Identity Manager Gateway, qui est un assistant permettant à Identity Manager d'interagir avec certaines ressources.
Les adaptateurs et les connecteurs fournissent des fonctions de gestion d'utilisateurs et permettent notamment de créer, mettre à jour, supprimer et lire des comptes utilisateurs ou encore d'utiliser la fonctionnalité de gestion des changements de mots de passe. Les adaptateurs et les connecteurs peuvent également extraire des informations relatives aux comptes depuis un système distant.
Dans la plupart des cas, Identity Manager gère les données utilisateur sur le système distant sans les conserver dans son propre magasin de données.
Certaines ressources courantes requièrent l'utilisation de Sun Identity Manager Gateway. C'est le cas notamment de Microsoft Exchange, Windows Active Directory, Novell eDirectory (l'ancien Netware Directory Services), Lotus Domino et de plusieurs autres solutions (pour la liste complète, reportez-vous à la section Sun Identity Manager Gateway du Notes de version de Sun Identity Manager 8.1). Gateway s'installe comme un service sous Windows et communique avec Identity Manager en utilisant le port TCP 9278. La communication est engagée depuis Identity Manager en utilisant un protocole chiffré propriétaire. Gateway s'interface ensuite avec les ressources gérées en utilisant les protocoles natifs de ces dernières.
Du point de vue de l'installation, il existe deux types d'adaptateurs et connecteurs : les adaptateurs et connecteurs Identity Manager et les adaptateurs et connecteurs personnalisés. Les adaptateurs et connecteurs Identity Manager sont préinstallés dans Identity Manager. Les adaptateurs et connecteurs personnalisés doivent quant à eux être copiés dans un répertoire désigné dans le répertoire d'installation d'Identity Manager qui se trouve sur le serveur d'application.
Les adaptateurs personnalisés sont faciles à créer en utilisant le kit Resource Extension Facility (REF) d'Identity Manager. Le REF fournit l'API et un certain nombre de modèles d'adaptateurs utilisables par les entreprises pour accélérer le processus de développement. Une fonctionnalité de ressource simple peut être obtenue en implémentant huit méthodes Java seulement.
Le niveau utilisateur se compose des administrateurs et utilisateurs finaux qui interagissent avec Identity Manager au travers de l'une des interfaces utilisateur. La principale interface utilisateur du produit est un navigateur Web qui communique avec Identity Manager via HTTPS. Les deux IU basées sur un navigateur, l'interface utilisateur administrateur et l'interface utilisateur final, sont principalement composées de pages HTML même si certaines fonctions peuvent utiliser des applets Java.
Pour des raisons de clarté, seule l'interface utilisateur administrateur et l'interface utilisateur final sont illustrées à la Figure 2–1. Le niveau utilisateur contient toutefois d'autres interfaces utilisateur. Par exemple : l'interface téléphonique IVR, l'IDE d'Identity Manager, l'interface de services Web SPML et la console d'Identity Manager.
Cette section contient les directives de base précisant quels composants d'Identity Manager doivent s'exécuter sur tel ou tel serveur. Elle contient également les recommandations relatives aux composants qui doivent être installés à proximité les uns des autres pour minimiser les problèmes de performance susceptibles de se poser suite à la latence et à l'engorgement du réseau.
Seules les directives de base sont indiquées. Pour toute information sur la conception d'une architecture Identity Manager haute disponibilité, reportez-vous au Chapitre3Clustering et haute disponibilité.
Dans un environnement de développement, le serveur d'application et la base de données peuvent être sur la même machine. Dans les environnements de test et de production toutefois, chaque instance d'Identity Manager doit être installée sur son propre serveur dédié. La base de données relationnelle a également besoin d'un serveur dédié.
Identity Manager Gateway, si requis, doit être installé sur une ou plusieurs machines Windows. La passerelle est un composant léger qui ne nécessite donc pas de serveur dédié. Tous les domaines Windows gérés par un Gateway doivent faire partie de la même forêt. La gestion de domaines à travers les limites d'une forêt n'est pas prise en charge. Si vous avez plusieurs forêts, installez au moins un Gateway dans chacune. Dans le cadre de la production, la passerelle doit être rendue hautement disponible. Pour de plus amples détails, reportez-vous à Rendre la passerelle hautement disponible.
Dans un environnement de production, le gros du trafic réseau a lieu entre les serveurs de base de données et d'application. Ces deux environnements doivent être sur le même LAN avec la plus courte connexion réseau directe possible. Les instances de Gateway, de même que les ressources gérées, n'ont pas besoin d'être sur le même réseau qu'Identity Manager.
Si Identity Manager sera utilisé pour les utilisateurs externes dans une configuration Service Provider, un ensemble de serveurs Web doit être installé dans une DMZ. Pour de plus amples détails, reportez-vous à Comprendre l'architecture HA recommandée de Service Provider .
SPML (Service Provisioning Markup Language) et les services Web d'Identity Manager peuvent être utilisés pour implémenter un front-end pour Identity Manager. Identity Manager envoie et reçoit des messages et des réponses SPML en utilisant le protocole HTTPS.
Pour plus d'informations sur SPML et les services Web, reportez-vous à la section Sun Identity Manager 8.1 Web Services.
Si la fonctionnalité Identity Manager Service Provider est implémentée, un cinquième niveau est requis. Ce niveau, qui s'appelle le niveau Web, se compose de un ou plusieurs serveurs situés dans une DMZ. Aucun composant d'Identity Manager n'est installé dans le niveau Web. À la place, les serveurs Web de la DMZ prennent en charge un ou plusieurs serveurs d'application du niveau d'application en répondant aux demandes de pages Web. Ajouter un ou plusieurs serveurs Web au niveau Web améliore l'évolutivité tandis que mettre les serveurs Web dans une DMZ renforce la sécurité du réseau.
La fonctionnalité Service Provider requiert également un référentiel LDAP. Ce référentiel réside dans le niveau base de données. Le référentiel LDAP pouvant être une ressource gérée, le serveur LDAP peut être compris comme résidant également dans le niveau ressources gérées.
Dans une implémentation fournisseur de services uniquement, un référentiel Identity Manager est recommandé en plus du référentiel LDAP mais n'est pas obligatoire. Si aucun référentiel Identity Manager n'est déployé, certaines fonctionnalités, notamment certaines capacités de génération de rapports, ne seront pas disponibles.