• Aucun résultat trouvé

Gestionnaire d’utilisateurs (Alphablox 8.4)

Dans le document IBM DB2 Alphablox. d administration GC (Page 111-120)

Le schémaci-dessousreprésentel’architecturedugestionnaired’utilisateurs etdu moteur depersonnalisationassocié, ExtensibleUserManager:

Notez quesurleschéma:

v lesinformationsrelativesauxutilisateurs,auxgroupesetauxpropriétés correspondantessontaccessiblespar programmationà l’aidede l’APIcôté serveurviaRepositoryBlox.

v Pourlasécuritéetlapersonnalisation,DB2Alphabloxfournitdeuxsolutions prêtesà l’emploide gestiond’utilisateursbasésur référentielDB2Alphabloxou surLDAP:DB2AlphabloxRepository-basedUserManageretLDAP-basedUser Manager.

v Legestionnaired’utilisateurs basésurréférentielpardéfautlitetécritdes donnéesdansleréférentielDB2Alphablox.

v Legestionnaired’utilisateurs basésurLDAPprêtà l’emploin’effectuequedes opérationsdeLECTUREsurleserveurLDAP.

v L’APIExtensibleUserManagerpermetd’utiliserunautreréférentielexterne, par exempleNTLMou unEJBexistant(EnterpriseJavaBeans).

v Quelquesoitleréférentielutilisé (DB2Alphablox, LDAPouuneautresource externe),vouspouvezaccéder auxpropriétésutilisateurvial’API

RepositoryBlox.

Extensible User Manager

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

Le moteurdepersonnalisation ExtensibleUserManagersetrouve aucoeurdeDB2 Alphablox. Ilpermet de:

v personnaliserlesfonctionsprêtes àl’emploid’authentificationet/ou d’autorisationdesutilisateurs,

v rattacherungestionnaire d’utilisateursexternepouraccéderauxinformations relativesaux utilisateursetauxgroupesprovenantd’autressourcessituéeshors duréférentielDB2Alphablox,ou

v utiliserd’autresparamètresdesécuritéqueceuxdel’API desécuritéJ2EE Le fonctionnementdesdeuximplémentationsdesécuritéetdepersonnalisation prêtes àl’emploiDB2Alphablox(DB2AlphabloxRepository-basedUser Manager etLDAP-basedUserManager) reposesurcemoteur.Pourutiliser legestionnaire d’utilisateurs basésurLDAP, uneprocéduredeconfigurationestnécessaire.Cette procédureestdécrite dans«LDAP-BasedUser Manager»,àlapage99.Pour implémenter lasécuritépersonnaliséeoupourpersonnaliserl’unedesdeux implémentationsde sécuritéprêtes àl’emploi,vouspouvezdévelopperExtensible UserManager.Voustrouverezdesinformations détailléessurledéveloppementde l’interfaceExtensibleUserManager dans«InterfacesExtensibleUserManager», à lapage103.

LDAP-Based User Manager

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

DB2Alphabloxfournituneimplémentationprêteà l’emploid’ExtensibleUser Manager permettantd’utiliserunserveurd’annuaireLDAPpourreconnaîtreles utilisateurs,lesgroupesetlespropriétéspersonnalisées deDB2Alphablox: v DB2AlphabloxeffectueuniquementdesopérationsdeLECTUREsur leserveur

LDAP.

v Lesadministrateurspeuvent uniquementcréerdesutilisateursoudesgroupes DB2AlphabloxquisontdéjàdéfinissurleserveurLDAP.

v Lesadministrateursnepeuvent pasrenommernimodifierlesmembressur l’ongletAdministrationde lapaged’accueilDB2Alphablox.

v Lasuppressiond’utilisateurs oudegroupesvial’ongletAdministrationdela paged’accueildeDB2Alphabloxnesupprimepaslesélémentsduréférentiel sous-jacentetn’affectepasleserveurLDAP.

v L’utilisateur“admin”n’estplusdisponiblepar défautsaufs’ils’agitd’un utilisateurLDAP.

v L’utilisateur“guest”etlegroupe“public”sontdisponiblesmêmes’ilsn’existent pasdansLDAP.

Configuration de DB2 Alphablox de façon à utiliser LDAP-based User Manager

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

LDAP-basedUserManager peutêtreutilisé aveclesserveursd’applications WebSphere, WebLogicetTomcat.Pour configurerDB2Alphabloxdefaçonà tirer profitde l’intégrationprêteà l’emploiavecvosserveurs d’annuaireLDAP, procédez commesuit :

1. Al’aidedelacommandede consoleTelnetExtUserManager,configurezle serveurdefaçonà cequ’ilutiliseLDAP, commedécritdans«Configurationdes propriétésdeLDAP-basedUserManager»,à lapage100.

2. Veillezà cequelavaleurde lapropriété deserveurautoCreateUserssoittrue à l’aidede lacommandedeconsoleTelnetsuivante:

set server autoCreateUsers true

Remarque: Lavaleur pardéfautdeautoCreateUsersest false.PourqueDB2 Alphabloxcréeautomatiquementlesutilisateursaprèsleur authentificationauprèsdu serveurLDAP,attribuezlavaleurtrue àlapropriété.

Remarque: Pourlegestionnaire d’utilisateursexterne, legroupe“public”et l’utilisateur“guest”doiventêtredéfinis (ilpeuts’agird’instances factices).

Spécifications supplémentairespourlesconfigurationsApacheTomcat 1. Créez legroupeAlphabloxAdministratorsurleserveurd’annuaireLDAP.

2. Ajoutezaumoinsunutilisateuraugroupe AlphabloxAdministratorouajoutez ungroupeexistantcontenantaumoinsunutilisateuraugroupe

AlphabloxAdministratordesorte qu’ilenconstitueunsous-groupe.

Configuration des propriétés de LDAP-based User Manager

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

1. Etablissezuneconnexionde laconsoleTelnetsurDB2Alphablox.

Remarque: SivousaccédezàlaconsoleTelnetvial’ongletAdministrationde lapaged’accueilDB2Alphablox, redémarrezDB2Alphabloxafin quelesmodificationssoientprisesencharge.Suruneconsole Telnetstandard,iln’estpasnécessairede redémarrerDB2 Alphablox.

2. Entrezlacommandesuivante: ExtUserManager setToDefaults ldap

“<ldapProps>”

où<ldapProps> sontlespairespropriété-valeurséparéesparunpoint-virgule.

Par exemple:

“host:localhost;port:389:admin:cn=DirectoryManager;

password:password;debug:false;base:dc=alphablox,dc=com”

Remarque:Lesvaleursci-dessusdoiventêtresaisiessur uneseuleligne,sans retouràlaligne.

UnefoislacommandeExtUserManagerexécutée,DB2Alphabloxpassedu gestionnaire d’utilisateursDB2AlphabloxRepository-basedUserManager au gestionnaire d’utilisateursLDAP-basedUserManager.

Remarque:Cechangemententraîneladéconnexionde touslesutilisateurs connectés.

Le tableausuivant répertorietoutes lespropriétésobligatoiresetfacultativesqui peuvent êtredéfiniesdanslachaîne<ldapProps> :

Propriété Description Exemple

host Hôteduserveurd’annuaireLDAP host:localhost port Portduserveurd’annuaireLDAP port:389 admin Nomdel’utilisateuradministrateur

duserveurd’annuaireLDAP

admin:cn=Directory Manager

password Motdepassedel’administrateurdu serveurd’annuaireLDAP

password:MonMotDePasse

base Basederechercheduserveur d’annuaireLDAP

base:o=MonEntreprise.com

debug [Facultatif]Paramètredumodede débogage,lavaleurpardéfautétant false

debug:true

Conseil: Labase derechercheLDAP permetdedéfinirlepointde départde la recherche.Ellepointeverslenomdistinctifd’une entréedelahiérarchie d’annuaireafind’améliorerlesperformancesde larecherche.

Accès aux propriétés utilisateur personnalisées

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

Vouspouvezdéfinirdespropriétésutilisateurpersonnaliséespourpersonnaliser davantage vosapplications.Après avoirdéfiniunepropriété utilisateur

personnalisée,vouspouvezluiattribuerunevaleurdifférentepourchaque utilisateur, puisaccéderparprogrammationauxvaleursdecettepropriétéàl’aide de l’APIdeRepositoryBlox.AvecLDAP-basedUser Managerouungestionnaire d’utilisateurs externe,DB2Alphabloxchargeuniquementlespropriétésutilisateur personnalisées marquéescommepropriétésexternes.

Vouspouvezdéfinirlespropriétésutilisateurpersonnaliséessur l’onglet

Administrationdelapaged’accueildeDB2Alphablox.Surlapagededéfinition despropriétéspersonnalisées,vérifiezquel’optionExternalPropertyest cochée.

Pour connaîtrelaprocédureendétail,voir«Définitionsdespropriétés personnalisées», àlapage82.Aprèsavoir marquélapropriété utilisateur

personnaliséecomme propriétéexterne,lorsque lesinformationssurlavaleurde la propriété utilisateurpersonnaliséesontdemandées(parunappel

RepositoryBlox.getUserProperty("maPropUtilisateurExterne"),parexemple),le gestionnaire d’utilisateursdeDB2Alphabloxrécupèrelavaleur danslasource externe.

Fonctionnement durant la phase d’exécution

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

LDAP-basedUserManager fonctionnedelamanièresuivantedurantl’exécution : v DB2Alphabloxnecréepasautomatiquementlesgroupesdurantl’exécution.Les

administrateursdoiventenregistrerexplicitementlegroupeLDAP vial’onglet Administrationdelapaged’accueilde DB2Alphablox.

v DB2Alphabloxcréeautomatiquementlesutilisateurssiceux-ciontété correctementauthentifiésauprèsduserveurLDAPetsilavaleurtrueest attribuéeàlapropriétéde serveurautoCreateUsersviaunecommandeTelnet (voir«ConfigurationdeDB2Alphabloxde façonàutiliserLDAP-basedUser Manager»,à lapage99).

v DB2AlphabloxchargeuniquementlespropriétésutilisateuretgroupeLDAP définiescommepropriétéspersonnaliséesexternes.

Commande de console Telnet pour Extensible User Manager

LacommandeExtUserManagersurlaconsoleTelnetpermet d’indiqueràDB2 Alphabloxd’utiliseruneautreclassepourgérer lesutilisateurs etlesgroupesou d’utiliserun

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

référentielexterne.

LasyntaxegénéraledelacommandeExtUserManagerestlasuivante: ExtUserManager <Propriété> <Valeur>

où Propriétépeutêtre:

Propriété Description Valeur

umclassname Nomdelaclassedegestionnaire

d’utilisateurs

Lavaleurdoitêtreunnomdeclasse validedisponibledanslecheminde classesquiimplémentel’interface IUserManager,sinonuneerreurse produit.Voir«Implémentations personnaliséespourlasécurité»,àla page104pourplusd’informations.

userclassname Nomdelaclassed’utilisateur Lavaleurdoitêtreunnomdeclasse validedisponibledanslecheminde classesquiimplémentel’interfaceIUser, sinonuneerreurseproduit.Voir

«Implémentationspersonnaliséespourla sécurité»,àlapage104pourplus d’informations.

groupclassname Nomdelaclassedegroupe Lavaleurdoitêtreunnomdeclasse validedisponibledanslecheminde classesquiimplémentel’interface IGroup,sinonuneerreurseproduit.Voir

«Implémentationspersonnaliséespourla sécurité»,àlapage104pourplus d’informations.

customstartupproperty Propriétéd’initialisation

personnaliséequelesdéveloppeurs peuventinsérerdanslecodepour lireunevaleurlorsdudémarrage dugestionnaired’utilisateurs.

Lavaleurdecettepropriété.

setToDefaults Référentielàutiliserpardéfaut Voirlasectionsuivanteintitulée

«Configurationduréférentielpar défaut»,àlapage103.

Remarque: Aprèsavoirdéfiniunenouvellepropriété d’initialisation,arrêtezpuis redémarrezDB2Alphablox.

Configuration du référentiel par défaut

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

Pour configurertoutes lespropriétésde façonàutiliser legestionnaire d’utilisateurs LDAPpardéfaut, entrezlacommandeTelnetsuivante : ExtUserManager setToDefaults ldap <ldapProps>

où ldapPropsestunepropriétécontenant touteslesinformationsnécessaires àla connexion àLDAP.Il n’estpasnécessairederedémarrer DB2Alphablox, maistous lesutilisateursconnectés serontdéconnectés.Pourconnaîtrelaprocéduredétaillée de laconfigurationrequisepourutiliser ungestionnaired’utilisateursLDAPainsi quelasyntaxede lapropriétéldapprops,voir«LDAP-BasedUserManager»,à la page99.

Pour réinitialisertouteslespropriétésdefaçonà utiliserlegestionnaire

d’utilisateurs DB2AlphabloxRepository-basedUserManagerpar défaut,entrezla commandeTelnetsuivante.

ExtUserManager setToDefaults repository

Cettecommandeindiqueaugestionnaire d’utilisateursdes’arrêterpuisde redémarrer afinde récupérerlesinformationsutilisateurlesplusrécentessurle référentielDB2Alphablox.Iln’est pasnécessairede redémarrerDB2Alphablox, mais touslesutilisateursconnectés serontdéconnectés.

Suppression d’utilisateurs et de groupes ne se trouvant plus dans le référentiel d’utilisateurs externe

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

Lacommandesuivanteindiqueà ExtensibleUserManagerdesupprimerdu référentiellesutilisateursetlesgroupesquinesetrouventplusdansles référentielsd’utilisateurs externes(parexempleLDAPouNTLM): ExtUserManager clean

Interfaces Extensible User Manager

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

L’infrastructure d’ExtensibleUserManagercomportetrois interfacesprincipales : IUserManager,IUser etIGroup.Le tableauci-dessousrépertorielafonctionetles méthodesde chaqueinterface.Ilrépertorieégalementlaclasse quiimplémente chaque interfaceparticulière.

Interface Description Classed’implémentation IUserManager Personnechargéedelacréationetde

larecherchedesutilisateursetdes groupesdurantl’exécution.

AbstractUserManager

IUser Miseenplaced’unevueenlecture seulepourunutilisateurdu référentielsous-jacentdestinéeà l’authentification,l’autorisationetaux propriétésutilisateur.

AbstractUser

IGroup Miseenplaced’unevueenlecture seuledestinéeauxinformations relativesauxmembresetaux propriétésdegroupeduréférentiel sous-jacent

AbstractGroup

Lesinterfacesetlesclassesd’implémentationsetrouventdanslemodule

com.alphablox.personalization.LadocumentationJavadoc relativeà cemodule est disponibledanslerépertoiresuivant :

<db2alphablox_dir>/system/documentation/javadoc/blox/index.html

où <db2alphablox_dir>est lerépertoire danslequel estinstalléDB2Alphablox.

Implémentations personnalisées pour la sécurité

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

Extensible UserManagercomportetroispropriétésDB2Alphabloxpermettant d’identifier l’utilisateur,legroupe etlaclasse degestionnaired’utilisateurs à utiliser pourl’authentificationetl’autorisation :

v umclassname

Lavaleur pardéfautpourlegestionnaire d’utilisateursDB2Alphablox Repository-basedUserManager est

com.alphablox.personalization.repository.RepUserManager.Lavaleur par défautpourlegestionnaired’utilisateurs LDAP-basedUser Managerest com.alphablox.personalization.ldap.LDAPUserManager .

v userclassname

Lavaleur pardéfautdecettepropriétépourlegestionnaired’utilisateursDB2 AlphabloxRepository-basedUserManagerest

com.alphablox.personalization.repository.RepUser.Lavaleurpar défautpour legestionnaired’utilisateurs LDAP-basedUserManagerest

com.alphablox.personalization.ldap.LDAPUser.

v groupclassname

Lavaleur pardéfautdecettepropriétépourlegestionnaired’utilisateursDB2 AlphabloxRepository-basedUserManagerest

com.alphablox.personalization.repository.RepGroup.Lavaleur pardéfaut pourlegestionnaire d’utilisateursLDAP-basedUserManagerest

com.alphablox.personalization.ldap.LDAPGroup.

Vouspouvezécrireuneclasse personnaliséed’utilisateur,degroupe oude gestionnaire d’utilisateurs,puisdéfinirlanouvellevaleur decespropriétésDB2

Alphabloxà l’aidede lacommandeTelnetExtUserManagerdefaçonà lesfaire pointer versvotre classed’utilisateur,degroupeou degestionnaired’utilisateurs.

Le tableausuivant indiquelaclasseàdévelopperpourpersonnaliserunepartieou l’ensembleduschémadesécuritéprêtàl’emploi.

Objectif Solution

Authentificationouautorisationavec legestionnaired’utilisateursDB2 AlphabloxRepository-basedUser Managerpardéfaut

ExtensiondelaclasseAlphabloxUser

Authentificationouautorisationavec legestionnaired’utilisateurs

LDAP-basedUserManager

ExtensiondelaclasseldapUser

Connexionunique ImplémentationdelaméthodegetPassword()dans laclasseAlphabloxUser

Lecturedespropriétés

utilisateurs/groupesdansunautre référentielqueDB2Alphabloxou LDAP

ExtensiondelaclasseAlphabloxUserou AlphabloxGroup

Lecturedesinformationsrelativesaux membresdegroupesdynamiques dansunautreréférentielqueDB2 AlphabloxouLDAP

ExtensiondelaclasseAlphabloxUserou AlphabloxGroup

PriseenchargeNTLM ImplémentationcomplètedesinterfacesExtensible UserManager

Remarque: AfinqueDB2Alphabloxutilisevosclasses,vousdevez ajouterle répertoirede cesclassesauchemindeclassesdeDB2Alphabloxdéfini danslefichierde traitementpar lotsde l’initialisation.Pourplusde détailssurlamanièrededéfinirlechemindeclasses, voir«Définition duchemindeclasses»,à lapage75.

Connexion unique

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

Pour implémenterlaconnexionuniquelorsquelessourcesdedonnées DB2

Alphabloxsontconfiguréespourutiliserlesnoms d’utilisateuretlesmotsde passe DB2Alphablox, vouspouvez utiliserlaméthode getPassword()danslaclasse AlphabloxUser pourobtenirlemotdepasse codéenbase64.Letableausuivant présente lessolutionsdeconnexion uniquedansdifférentessituations:

Gestionnaire d’utilisateurs

Sourcesde donnéesavec

LDAP? Méthoded’authentification LDAP-basedUser

Manager

Oui AuthentificationDB2Alphabloxstandard(au niveaudunavigateur):aucuneactionrequise LDAP-basedUser

Manager

Non UtilisezgetPassword()

Autreréférentiel Indifférent UtilisezgetPassword()

Exemples de sécurité personnalisée

Remarque: Cettesections’appliqueuniquementàDB2Alphablox8.4(pasde priseenchargedanslaversion8.4.1).

Voicitrois exemplesd’extensiond’Extensible UserManagerpourpersonnaliserla sécurité. Chacundesexemplesmontre:

v commentétendrelaclasse d’utilisateur,de groupeoudegestionnaire

d’utilisateurspardéfaututiliséeparlegestionnaired’utilisateursDB2Alphablox Repository-basedUserManager pardéfaut,puis

v définirlenomdelanouvelleclasse àl’aidedelacommandeTelnet ExtUserManager.

Pour obtenirunexempled’implémentationcomplèted’ungestionnaire

d’utilisateurs externe,voirl’exemple degestionnaired’utilisateurs (SimpleUser Manager) danslerépertoiresuivant :

<db2alphablox_dir>/system/documentation/admin/Examples/

Lesfichiers sourceJavasontfournis.

Exemple 1 : Configuration de DB2 Alphablox pour utiliser un

Dans le document IBM DB2 Alphablox. d administration GC (Page 111-120)