Identity Manager permet de contrôler les utilisateurs qui rentrent dans la portée ou étendue de contrôle d'un utilisateur final.
Utilisez l'onglet Portée du contrôle (illustré à la Figure 6–4) pour spécifier les organisations que les membres de cette organisation peuvent gérer, ou spécifier la règle qui détermine les organisations qui seront gérées par les utilisateurs du rôle admin et pour sélectionner le formulaire utilisateur pour le rôle admin.
Organisations contrôlées. Sélectionnez dans la liste Organisations disponibles les organisations que ce rôle admin a le droit de gérer.
Règle d’organisations contrôlées. Sélectionnez une règle qui sera évaluée, à la connexion de l'utilisateur, pour que zéro ou plusieurs organisations soient contrôlées par un utilisateur auquel ce rôle admin aura été assigné. La règle sélectionnée doit être du type authType ControlledOrganizationsRule. Par défaut, aucune règle d'organisation contrôlée n'est sélectionnée.
Vous pouvez utiliser la règle EndUserControlledOrganizations pour définir la logique nécessaire pour assurer que le bon ensemble d'utilisateurs soit disponible pour la délégation, en fonction de vos besoins organisationnels.
Si vous voulez que la liste d'étendue d'utilisateurs soit la même pour les administrateurs, que ceux-ci soient connectés à l'interface administrateur ou à l'interface utilisateur final, vous devez changer la règle EndUserControlledOrganizations.
Modifiez la règle pour d'abord contrôler si l'utilisateur s'authentifiant est un administrateur puis configurez ce qui suit :
Si l'utilisateur n'est pas un administrateur, la règle doit retourner l'ensemble d'organisations qui devrait être contrôlé par un utilisateur final, par exemple sa propre organisation (par exemple, waveset.organization).
Si l'utilisateur est un administrateur, la règle ne doit retourner aucune organisation de sorte que l'utilisateur contrôle uniquement les organisations qui lui sont assignées en sa qualité d'administrateur.
Par exemple :
<Rule protectedFromDelete=’true’ authType=’EndUserControlledOrganizationsRule’ id=’#ID#End User Controlled Organizations’ name=’End User Controlled Organizations’> <Comments> If the user logging in is not an Idm administrator, then return the organization that they are a member of. Otherwise, return null. </Comments> <cond> <and> <isnull><ref>waveset.adminRoles</ref></isnull> <isnull><ref>waveset.capabilities</ref></isnull> <isnull><ref>waveset.controlledOrganizations</ref></isnull> </and> <ref>waveset.organization</ref> </cond> <MemberObjectGroups> <ObjectRef type=’ObjectGroup’ id=’#ID#Top’ name=’Top’/> </MemberObjectGroups> </Rule> |
Si l'utilisateur ou l'administrateur appartient à une organisation dynamique, ils ne sont pas retournés dans les résultats de recherche.
Vous pouvez cependant créer une règle qui retourne les utilisateurs d'organisations dynamiques. Modifiez l'exemple de règle suivant en ajoutant un nouvel attribut à la définition du schéma utilisateur Identity Manager qui est défini dans l'objet Idm Schema Configuration (Configuration du schéma IDM), importez cet objet puis redémarrez le serveur Identity Manager.
<IDMAttributeConfigurations> ... <IDMAttributeConfiguration name='region' syntax='STRING' description='region of the country'/> </IDMAttributeConfigurations> <IDMObjectClassConfigurations> ... <IDMObjectClassConfiguration name='User' extends='Principal' description='User description'> ... <IDMObjectClassAttributeConfiguration name='region' queryable='true'/> </IDMObjectClassConfiguration> </IDMObjectClassConfigurations> Next, import the following Identity Manager objects: <!-- User member rule that will include all users whose region attribute matches the region organization display name --> <Rule name="Region User Member Rule" authType="UserMembersRule"> <Description>User Member Rule</Description> <list> <new class='com.waveset.object.AttributeCondition'> <s>region</s> <s>equals</s> <ref>userMemberRuleOrganizationDisplayName</ref> </new> </list> <MemberObjectGroups> <ObjectRef type="ObjectGroup" id="#ID#All" name="All"/> </MemberObjectGroups> </Rule> <!-- North & South Region organizations with user member rule assigned --> <ObjectGroup id='#ID#North Region' name='North Region' displayName='North Region'> <UserMembersRule cacheTimeout='3600000'> <ObjectRef type='Rule' name='Region User Member Rule'/> </UserMembersRule> <MemberObjectGroups> <ObjectRef type='ObjectGroup' name='Top' id='#ID#Top'/> </MemberObjectGroups> </ObjectGroup> <ObjectGroup id='#ID#South Region' name='South Region' displayName='South Region'> <UserMembersRule cacheTimeout='3600000'> <ObjectRef type='Rule' name='Region User Member Rule'/> </UserMembersRule> <MemberObjectGroups> <ObjectRef type='ObjectGroup' name='Top' id='#ID#Top'/> </MemberObjectGroups> </ObjectGroup> <!-- Organization containing all employees --> <ObjectGroup id='#ID#Employees' name='Employees' displayName='Employees'> <MemberObjectGroups> <ObjectRef type='ObjectGroup' name='Top' id='#ID#Top'/> </MemberObjectGroups> </ObjectGroup> <!-- End user controlled organization rule that give each user control of the regional organization they are a member of --> <Rule protectedFromDelete='true' authType='EndUserControlledOrganizationsRule' id='#ID#End User Controlled Organizations' name='End User Controlled Organizations' primaryObjectClass='Rule'> <switch> <ref>waveset.attributes.region</ref> <case> <s>North Region</s> <s>North Region</s> </case> <case> <s>South Region</s> <s>South Region</s> </case> <case> <s>East Region</s> <s>East Region</s> </case> <case> <s>West Region</s> <s>West Region</s> </case> </switch> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/> </MemberObjectGroups> </Rule> <!-- 4 employees (2 in North and 2 in South region) --> <User name='emp1' primaryObjectClass='User' asciipassword='1111'> <Attribute name='firstname' type='string' value='Employee'/> <Attribute name='fullname' type='string' value='Employee One'/> <Attribute name='lastname' type='string' value='One'/> <Attribute name='region' type='string' value='North Region'/> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Employees' name='Employees' displayName='Employees'/> </MemberObjectGroups> </User> <User name='emp2' primaryObjectClass='User' asciipassword='1111'> <Attribute name='firstname' type='string' value='Employee'/> <Attribute name='fullname' type='string' value='Employee Two'/> <Attribute name='lastname' type='string' value='Two'/> <Attribute name='region' type='string' value='North Region'/> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Employees' name='Employees' displayName='Employees'/> </MemberObjectGroups> </User> <User name='emp4' primaryObjectClass='User' asciipassword='1111'> <Attribute name='firstname' type='string' value='Employee'/> <Attribute name='fullname' type='string' value='Employee Four'/> <Attribute name='lastname' type='string' value='Four'/> <Attribute name='region' type='string' value='South Region'/> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Employees' name='Employees' displayName='Employees'/> </MemberObjectGroups> </User> <User name='emp5' primaryObjectClass='User' asciipassword='1111'> <Attribute name='firstname' type='string' value='Employee'/> <Attribute name='fullname' type='string' value='Employee Five'/> <Attribute name='lastname' type='string' value='Five'/> <Attribute name='region' type='string' value='South Region'/> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Employees' name='Employees' displayName='Employees'/> </MemberObjectGroups> </User> |
Connectez-vous ensuite via l'interface utilisateur final d'Identity Manager en tant qu'emp1, basé dans la région Nord. Sélectionnez Délégations -> Nouvelle. Remplacez les critères de Recherche -> par commence par, remplacez la valeur par emp et choisissez Rechercher. Cette sélection devrait retourner emp2 dans la liste des utilisateurs disponibles.
Formulaire utilisateur Organisations contrôlées. Sélectionnez le formulaire utilisateur qui sera employé par un utilisateur auquel ce rôle admin aura été assigné, pour créer ou modifier des utilisateurs appartenant aux organisations contrôlées de ce rôle admin. Par défaut, aucun Formulaire utilisateur Organisations contrôlées n'est sélectionné.
Un formulaire utilisateur assigné par le biais d'un rôle admin remplace tout formulaire utilisateur hérité de l'organisation dont l'administrateur est membre. Il ne remplace pas un formulaire utilisateur qui serait directement assigné à l'administrateur.