Configuration de SCIM pour la gestion d'utilisateurs et de membres de groupe
Vous pouvez configurer la fonction scim-1.0 dans le fichier server.xml afin d'activer la gestions des utilisateurs et des membres de groupe. SCIM (System for Cross-domain Identity Management) définit des API REST pour créer, extraire, mettre à jour et supprimer des utilisateurs et des groupes. Les appels sont effectués via un bundle d'applications Web (WAB) REST de gestion de systèmes. Les appels locaux s'effectuent par HTTP via un système hôte local (localhost) ; pas d'API Java pour les appels locaux.
Procédure
L'ajout de la fonction scim-1.0 dans le fichier server.xml
active les fonctions SCIM. Cependant, pour terminer la configuration, vous devez également effectuer
la procédure de configuration suivante :
- Configuration SSL : Les services REST sont protégés et accessibles uniquement sur le port HTTPS. Pour plus d'informations sur l'exécution de la configuration SSL, voir Activation de la communication SSL dans Liberty.
- Configuration du registre de fédération : Les fonctions SCIM sont uniquement prises en charge par le registre de fédération. Pour rapidement définir un registre de fédération à l'aide de LDAP, voir Configuration de registres d'utilisateurs LDAP dans Liberty.
- Configuration d'un rôle administrateur : : Les services REST sont accessibles uniquement à un administrateur ;
un utilisateur doit donc être configuré avec un rôle administrateur. Pour plus d'informations sur le mappage
du rôle administrateur à Liberty, voir Mappage du rôle d'administrateur pour Liberty.Remarque : Pour la configuration du rôle administrateur pour SCIM, vous ne pouvez pas utiliser le registre de démarrage rapide.
- Configuration de port HTTPS (facultatif) : Le noeud final HTTP doit être configuré. Pour plus d'informations sur la configuration de l'élément de fonction httpEndpoint, voir la section httpEndpoint dans Admin Center.
<server description="server1">
<!-- Enable features -->
<featureManager>
<feature>appSecurity-2.0</feature>
<feature>servlet-3.0</feature>
<feature>ldapRegistry-3.0</feature>
<feature>scim-1.0</feature>
<feature>ssl-1.0</feature>
</featureManager>
<httpEndpoint id="defaultHttpEndpoint" httpPort="9080" httpsPort="9090">
<tcpOptions soReuseAddr="true" />
</httpEndpoint>
<ldapRegistry id="LDAP1" realm="SampleLdapIDSRealm" host="9.127.1.90" port="1389" ignoreCase="true"
baseDN="o=ibm,c=us" ldapType="IBM Tivoli Directory Server" searchTimeout="8m" recursiveSearch="true"
bindDN="cn=xxxx" bindPassword="xxxxxx">
<ldapEntityType name="PersonAccount">
<rdnProperty name="uid" objectClass="inetOrgPerson"/>
<objectClass>inetOrgPerson</objectClass>
</ldapEntityType>
<ldapEntityType name="Group">
<objectClass>groupofnames</objectClass>
<objectClass>ibm-nestedGroup</objectClass>
<rdnProperty name="cn" objectClass="groupofnames"/>
</ldapEntityType>
<attributeConfiguration>
<attribute name="title" propertyName="honorificPrefix" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="initials" propertyName="middleName" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="st" propertyName="honorificSuffix" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="l" propertyName="homeStateOrProvinceName" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="street" propertyName="homeStreet" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="postalAddress" propertyName="homeCity" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="postalCode" propertyName="homePostalCode" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="postOfficeBox" propertyName="homeCountryName" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="departmentNumber" propertyName="photoURLThumbnail" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="description" propertyName="photoURL" syntax="String" entityType="PersonAccount">
</attribute>
</attributeConfiguration>
<groupProperties>
<memberAttribute name="member" dummyMember="uid=dummy" objectClass="groupOfNames" scope="direct"/>
<memberAttribute name="ibm-memberGroup" objectClass="ibm-nestedGroup" scope="direct"/>
</groupProperties>
</ldapRegistry>
<ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore" />
<keyStore id="defaultKeyStore" password="Liberty"/>
<administrator-role>
<user>wasadmin</user>
</administrator-role>
<federatedRepository>
<primaryRealm name="WIMRegistry">
<participatingBaseEntry name="o=ibm,c=us"/>
</primaryRealm>
</federatedRepository>
</server>