Ajout d'attributs personnalisés
ServiceNow prend en charge des zones personnalisées pour l'objet utilisateur. Les adaptateurs prennent uniquement en charge l'ensemble standard d'attributs mais vous pouvez personnaliser l'adaptateur pour prendre en charge des attributs personnalisés.
Procédure
- Copiez le fichier JAR du profil d'adaptateur et extrayez les fichiers.
- Téléchargez le package d'adaptateur à partir du site Web Passport Advantage.
- Copiez le fichier ServiceNowProfile.jar , qui est inclus dans le paquetage de l'adaptateur, dans un répertoire temporaire.
- Exécutez la commande suivante pour extraire le contenu du fichier ServiceNowProfile.jar :
cd c:\temp jar -xvf ServiceNowProfile.jarLa commande jar crée le répertoire c:\temp\ServiceNowProfile.
Le fichier JAR contient un dossier ServiceNowProfile avec les fichiers suivants :- CustomLabels.properties
- erServiceNowAccount.xml
- erServiceNowService.xml
- schema.dsml
- service.def
- servicenowAL.xml
- Mettre à jour le fichier schema.dsml , qui identifie tous les attributs du compte utilisateur standard. Modifiez-le pour identifier de nouveaux attributs personnalisés.
- Ouvrez schema.dsml dans un éditeur de texte.
- Ajoutez l'attribut personnalisé à la fin des attributs.Exemple :
<attribute-type single-value="true"> <name>erServiceNowCustomAttribute</name> <object-identifier>1.3.6.1.4.1.6054.3.177.2.1001</object-identifier> <syntax>1.3.6.1.4.1.1466.115.121.1.15</syntax> </attribute-type>Remarque :- Dans attribute-type, utilisez single-value pour indiquer si l'attribut est un attribut à valeur unique ou à valeurs multiples.
- Le nom de l'attribut doit commencer par un préfixe erServiceNow afin d'identifier facilement les attributs utilisés avec IBM Security Verify Governance Identity Manager.
- L'identificateur d'objet (OID) est augmenté de 1. Commencer une nouvelle plage de numéros pour l'attribut personnalisé afin d'éviter les conflits d'OID avec les futures versions d'adaptateurs. Par exemple, l'identificateur d'objet de l'attribut peut être défini à partir de la valeur 1.3.6.1.4.1.6054.3.177.2.1000. Le premier identificateur d'objet de l'attribut est donc 1.3.6.1.4.1.6054.3.177.2.1001. Un message d'erreur s'affiche en cas de conflit dans l'identificateur d'objet.
- Si la zone personnalisée fait référence à une autre table, définissez la zone en tant que données de support.Vérifiez l'URL de la page pour déterminer à quoi la zone personnalisée fait référence à partir de l'interface utilisateur ServiceNow. Par exemple, https://XXX.service-now.com/cmn_department_list.do?sysparm_target=sys_user.department&sysparm_target_value=1231342432&sysparm_nameofstack=reflist&sysparm_clear_stack=true&sysparm_element=department&sysparm_reference=cmn_department&sysparm_view=sys_ref_list&sysparm_additional_qual=&sysparm_dependent=&sysparm_domain_restore=falseRemarque :
La table référencée est indiquée sous la forme
sysparm_reference=cmn_department. La valeur dedepartmentfait référence àSYSIDdanscmn_department, et afficheNameà partir decmn_department.Il doit y avoir un attributerServiceNowDepartmentdans la classe d'objeterServiceNowAccountpour représenter la zone Department sur ServiceNow. L'adaptateur a également besoin d'une classe d'objet pour stocker les valeursSYSIDetNamedans LDAP. Par exemple, la classe d'objet définie pour "department supporting data" dans l'adaptateur :<class superior="top"> <name>erServiceNowDepartmentClass</name> <description>Department supporting data</description> <object-identifier>1.3.6.1.4.1.6054.3.177.1.5</object-identifier> <attribute ref="erServiceNowDepartmentSysID" required="true"/> <attribute ref="erServiceNowDepartmentName" required="false"/> </class>Les adresses
erServiceNowDepartmentSysIDeterServiceNowDepartmentNamerenvoient à la tablecmn_department.L'identificateur d'objet de la classe d'objet personnalisée doit être défini à partir d'une nouvelle plage de valeurs, de préférence à partir de la plage 1.3.6.1.4.1.6054.3.177.1.100.
- Ajoutez l'attribut et son libellé dans le fichier CustomLabels.properties pour afficher le libellé correct sur le formulaire de compte d'adaptateur.Utilisez le format
attribute=label.Note : Le nom de l'attribut doit être en minuscules. Exemple :erservicenowcustomattribute=Custom Field One - Modifiez les chaînes d'assemblage afin d'ajouter de nouveaux mappages pour les attributs personnalisés. Les lignes d'assemblage de servicenowAl.xml contiennent des instructions de mappage de IBM Security Verify Governance Identity Manager request à ServiceNow.
- Lancez l'éditeur de configuration Security Directory Integrator.
- Sélectionnez Fichier > Ouvrir le fichier de configuration Security Directory Integrator pour ouvrir le servicenowAL.xml.
- Sélectionnez snAdd > addUser, qui contient le mappage pour l'opération Ajouter un utilisateur.
- Dans OutputMap, ajoutez le nom du champ personnalisé exactement comme le nom de l'API sur ServiceNow.
- Modifiez la valeur par défaut de
work.[custom field name]enwork.[custom attribute name]. Par exemple.work.u_custom_fieldà l'adressework.erServiceNowCustomAttribute. - Ajoutez l'attribut à snModify > Output Map.
- Ajouter l'attribut à snRecon. Sélectionnez searchUser et ajoutez l'attribut personnalisé.
- Dans la carte d'entrée, définissez l' attribut de travail comme étant
erServiceNowCustomAttributeet l' affectation comme étantconn.u_custom_field. - Sauvegarder et exporter vers servicenowAL.xml.
- Créez un fichier JAR et installez le nouveau profil d'adaptateur.
- Créez un fichier JAR en utilisant les fichiers du répertoire \temp . Exécutez les commandes suivantes :
cd c:\temp jar -cvf ServiceNowProfile.jar ServiceNowProfile - Importer le fichier ServiceNowProfile.jar dans le serveur d'identité.
- Redémarrez le répartiteur.Remarque : si le chargement du profil pose problème, consultez les journaux LDAP et les journaux de suivi.
- Créez un fichier JAR en utilisant les fichiers du répertoire \temp . Exécutez les commandes suivantes :
- Modifiez le formulaire de l'adaptateur pour afficher ou éditer le nouvel attribut personnalisé. Sinon, l'attribut ne s'affiche pas même si les chaînes d'assemblage fonctionnent.
Vous pouvez définir le type de valeur de l'attribut en fonction du type de zone sur ServiceNow.
Pour l'attribut avec des données de support, définissez le type en lui affectant la valeur Zone déroulante. Le filtre doit avoir l'entréeAttributepourNameouLabeldans les données de support.Sourcecorrespond à la valeur deSYSIDetFiltercorrespond à une entrée objectclass égale à la classe d'objet des données de support. Exemple :Attribute: erservicenowdepartmentname Source Attribute: erservicenowdepartmentsysid Filter:(objectclass=erservicenowdepartmentclass)Pour plus d'informations sur la modification du formulaire de compte, voir la documentation du produit IBM Security Verify Governance Identity Manager.