La passerelle de registre d'utilisateurs est configurée comme tout autre adaptateur personnalisé. Le langage de script Jython ou Jacl et l'outil de scriptage wsadmin permettent de définir la passerelle de registre d'utilisateurs dans la configuration des référentiels fédérés.
Avant de commencer
Arrêtez WebSphere
Application Server et fermez la fenêtre de commande wsadmin.
Important : Si vous effectuez une migration à partir du registre des utilisateurs autonome situé sur le système d'exploitation local vers les référentiels fédérés situés sur ce même système, vous devez d'abord configurer le registre des utilisateurs actuels sous les référentiels fédérés.
Pour plus d'informations, reportez-vous à la rubrique Gestion du domaine dans une configuration de référentiel fédéré.
Des échecs d'autorisation peuvent survenir si des utilisateurs ou des groupes sont mappés à des rôles avant la migration et que vous utilisez ces utilisateurs ou ces groupes après la migration vers la passerelle de registre d'utilisateurs. Cette situation se produit car le mappage contient des informations spécifiques au registre.
Après la migration, mappez de nouveau les utilisateurs ou les groupes pour éviter les échecs d'autorisation.
Pourquoi et quand exécuter cette tâche
Pour plus d'informations sur les commandes à utiliser pour cette rubrique, voir Groupe de commandes IdMgrRepositoryConfig pour l'objet AdminTask.
Pour ajouter une passerelle de registre d'utilisateurs dans une configuration de référentiels fédérés et dans tout domaine défini dans la configuration, suivez les étapes ci-dessous.
Procédure
- Démarrez l'outil de scriptage wsadmin. Pour ce faire, vous pouvez utiliser la commande suivante :
wsadmin –conntype none
- Utilisez la commande createIdMgrCustomRepository afin d'ajouter une nouvelle configuration de référentiel pour la passerelle de registre d'utilisateurs.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
L'exemple suivant configure
un référentiel personnalisé pour utiliser la classe com.ibm.ws.wim.adapter.urbridge.URBridge
et définit urbcustom comme identificateur :
- En langage
Jython :
AdminTask.createIdMgrCustomRepository('-id urbcustom
-adapterClassName com.ibm.ws.wim.adapter.urbridge.URBridge')
- A l'aide de Jacl :
$AdminTask createIdMgrCustomRepository {-id urbcustom
-adapterClassName com.ibm.ws.wim.adapter.urbridge.URBridge}
![[z/OS]](../images/ngzos.gif)
L'exemple suivant configure
un référentiel personnalisé pour utiliser la classe com.ibm.ws.wim.adapter.urbridge.URBridge
et définit urbRACF comme identificateur :
- En langage
Jython :
AdminTask.createIdMgrCustomRepository('-id urbRACF
-adapterClassName com.ibm.ws.wim.adapter.urbridge.URBridge')
- A l'aide de Jacl :
$AdminTask createIdMgrCustomRepository {-id urbRACF
-adapterClassName com.ibm.ws.wim.adapter.urbridge.URBridge}
Eviter les incidents: La passerelle de registre d'utilisateurs gère les demandes vers un seul registre d'utilisateurs. Par conséquent, si vous définissez plusieurs référentiels, chaque implémentation de registre d'utilisateurs doit avoir une instance séparée de la passerelle de registre d'utilisateurs, et vous devez définir chaque implémentation en tant que ID de référentiel distinct.
RACF (Resource Access Control Facility) gère tous les attributs RACF. Par conséquent, vous n'avez pas besoin d'ajouter de propriétés personnalisées pour utiliser l'adaptateur de passerelle de registre avec RACF.
gotcha
- Facultatif :
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Ajoutez les propriétés propres au registre nécessaires en tant que propriétés personnalisées. Utilisez la commande setIdMgrCustomProperty à plusieurs reprises pour ajouter plusieurs propriétés. Utilisez cette commande une seule fois par propriété, afin d'ajouter plusieurs propriétés dans votre configuration. Vous devez utiliser les deux paramètres name et value afin d'ajouter la propriété personnalisée pour le référentiel indiqué. Par exemple, pour ajouter la propriété personnalisée uniqueUserIdProperty, entrez la commande suivante :- En langage
Jython :
AdminTask.setIdMgrCustomProperty('-id urbcustom
-name uniqueUserIdProperty -value "uniqueId"')
- A l'aide de Jacl :
$AdminTask setIdMgrCustomProperty {-id urbcustom
-name uniqueUserIdProperty -value "uniqueId"}
Pour configurer la passerelle de registre d'utilisateurs de sorte qu'elle utilise un registre d'utilisateurs personnalisé, vous devez ajouter la propriété registryImplClass et indiquer la classe d'implémentation de registre exacte. Par exemple, indiquez com.xyz.abc.MyCustomRegistry comme valeur pour la propriété.
Pour configurer la passerelle de registre d'utilisateurs de sorte qu'elle utilise le registre d'utilisateurs du système d'exploitation local, n'indiquez pas la propriété registryImplClass. La passerelle de registre d'utilisateurs identifie l'implémentation
de registre d'utilisateurs sous-jacente fournie par
WebSphere
Application Server pour le
système d'exploitation local.
Vous pouvez définir d'autres propriétés facultatives en tant que propriétés personnalisées pour définir le mappage entre les propriétés du référentiel fédéré et les propriétés du registre d'utilisateurs, telles que uniqueUserIdProperty, userSecurityNameProperty, userDisplayNameProperty, uniqueGroupIdProperty, groupSecurityNameProperty et groupDisplayNameProperty. Pour plus d'informations sur les propriétés personnalisées disponibles et leurs valeurs par défaut, voir Propriétés personnalisées de sécurité.
Pour supprimer l'une de ces propriétés au niveau du registre d'utilisateurs, configurez-la en tant que propriété personnalisée.
Eviter les incidents: Le mappage entre une propriété de référentiel fédéré et une propriété de registre d'utilisateurs est un mappage à un à un. Vous pouvez mapper une seule propriété de référentiel fédéré à une propriété de registre d'utilisateurs.
gotcha
- Ajoutez une entrée de base à la configuration de la passerelle de registre d'utilisateurs. La commande addIdMgrRepositoryBaseEntry permet de définir le nom de l'entrée de base pour le référentiel indiqué.
Exemple :
- En langage
Jython :
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
AdminTask.addIdMgrRepositoryBaseEntry('-id urbcustom
-name o=custom')
![[z/OS]](../images/ngzos.gif)
AdminTask.addIdMgrRepositoryBaseEntry('-id urbRACF
-name o=local')
- A l'aide de Jacl :
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
$AdminTask addIdMgrRepositoryBaseEntry {-id urbcustom
-name o=custom}
![[z/OS]](../images/ngzos.gif)
$AdminTask addIdMgrRepositoryBaseEntry {-id urbRACF
-name o=local}
- La commande addIdMgrRealmBaseEntry permet d'ajouter l'entrée de base au domaine, qui est ainsi lié au référentiel.
Remarque : Le nom de domaine par défaut est defaultWIMFileBasedRealm.
Si ce domaine a été renommé, utilisez le nouveau nom de domaine à la place de
defaultWIMFileBasedRealm. Par exemple, pour des raisons de cohérence, vous pouvez définir le nom de domaine de la configuration de référentiel fédéré de sorte qu'il soit identique au nom du registre d'utilisateurs du système d'exploitation local indiqué dans le fichier security.xml. Pour plus d'informations sur le mode de définition du nom de domaine, voir Paramètres de configuration de domaine.
- Sauvegardez les modifications. Entrez les commandes suivantes pour sauvegarder la nouvelle configuration et fermer l'outil de scriptage wsadmin :
- En langage
Jython :
AdminConfig.save()
quitter
- A l'aide de Jacl :
$AdminConfig save
quitter
Configurez le module de mappage SAF (System Authorization Facility) pour garantir la disponibilité de la propriété de l'autorisation SAF. Pour plus d'informations sur le mode de configuration d'un module de
mappage SAF, voir Installation et configuration d'un module de
mappage SAF (System Authorization Facility) personnalisé pour
WebSphere
Application Server, où un exemple de module de mappage
SAF est fourni, que vous pouvez installer et utiliser. Si vous souhaitez personnaliser
l'exemple de module de mappage SAF pour les référentiels fédérés, reportez-vous à la rubrique relative à la configuration d'un module de mappage SAF (System Authorization Facility) personnalisé pour les référentiels fédérés.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Remarque : Si vous utilisez la fonction de mappage d'identité
distribuée SAF il n'est pas nécessaire de configurer ce module de
mappage.
Remarque : Une procédure supplémentaire
peut être requise si RACF est configuré dans un domaine autre
que defaultWIMFileBasedRealm. Lors de la création d'un domaine,
certaines propriétés prennent des valeurs par défaut différentes de celles utilisées
par defaultWIMFileBasedRealm et ne sont pas appropriées pour une utilisation
avec un registre utilisateur RACF fédéré. Vous devez utiliser la commande setIdMgrRealmURAttrMapping
pour définir les valeurs suivantes :
- La valeur de la propriété userSecurityNameMapping,
le paramètre propertyForOutput doivent être
définis sur principalName.
- La valeur de la propriété groupSecurityNameMapping,
le paramètre propertyForOutput,
doivent être définis sur cn.
Pour plus d'informations sur la manière d'utiliser
la commande setIdMgrRealmURAttrMapping,
voir le groupe de commande IdMgrRealmConfig pour l'objet AdminTask.
- Redémarrez le serveur d'applications.
Résultats
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
Le code suivant est un exemple de configuration de base dans le fichier
wimconfig.xml pour une passerelle de registre d'utilisateurs accédant à un registre d'utilisateurs personnalisé :
<config:repositories adapterClassName="com.ibm.ws.wim.adapter.urbridge.URBridge" id="urbcustom">
<config:baseEntries name="o=custom"/>
<config:CustomProperties name="registryImplClass" value="com.ibm.registry.impl.FileRegistrySample"/>
<config:CustomProperties name="usersFile" value="${USER_PROPS}"/>
<config:CustomProperties name="groupsFile" value="${GROUP_PROPS}"/>
</config:repositories>
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Dans l'exemple précédent, les variables ${USER_PROPS} et ${GROUP_PROPS} sont utilisées pour définir les valeurs des propriétés personnalisées.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Vous pouvez utiliser ces variables pour définir des propriétés personnalisées.
Cependant, ces variables sont résolues uniquement dans le mode
connecté WebSphere
Application Server.
Pour plus d'informations sur la définition de variables d'environnement, voir Création, modification et suppression de variables WebSphere.
![[z/OS]](../images/ngzos.gif)
Le code suivant est un exemple d'un fichier wimconfig.xml
configuré pour une passerelle de registre utilisateur accédant au registre de système d'exploitation local à l'aide de RACF :
<config:repositories xsi:type="config:FileRepositoryType" adapterClassName="com.ibm.ws.wim.adapter.file.was.FileAdapter"
id="InternalFileRepository" supportPaging="false"
messageDigestAlgorithm="SHA-1">
<config:baseEntries name="o=defaultWIMFileBasedRealm"/>
</config:repositories>
<config:repositories adapterClassName="com.ibm.ws.wim.adapter.urbridge.URBridge"
id="urbRACF" supportPaging="false">
<config:baseEntries name="o=local"/>
</config:repositories>
<config:realmConfiguration defaultRealm="defaultWIMFileBasedRealm">
<config:realms delimiter="/" name="defaultWIMFileBasedRealm" securityUse="active">
<config:participatingBaseEntries name="o=defaultWIMFileBasedRealm"/>
<config:participatingBaseEntries name="o=local"/>
<config:uniqueUserIdMapping propertyForInput="uniqueName"
propertyForOutput="uniqueName"/>
<config:userSecurityNameMapping propertyForInput="principalName"
propertyForOutput="principalName"/>
<config:userDisplayNameMapping propertyForInput="principalName"
propertyForOutput="principalName"/>
<config:uniqueGroupIdMapping propertyForInput="uniqueName"
propertyForOutput="uniqueName"/>
<config:groupSecurityNameMapping propertyForInput="cn"
propertyForOutput="cn"/>
<config:groupDisplayNameMapping propertyForInput="cn" propertyForOutput="cn"/>
</config:realms>
</config:realmConfiguration>