Identity Manager permite controlar qué usuarios quedan dentro del ámbito de control de un usuario final.
Use la ficha Ámbito de control (Figura 6–4) para especificar las organizaciones que pueden administrar los afiliados a esta organización, o la regla determinante de las organizaciones que deben administrar los usuarios con rol de administrador, así como para seleccionar el formulario de usuario para el rol de administrador.
Organizaciones controladas. En la lista Organizaciones disponibles, seleccione las organizaciones que este rol de administrador tiene derecho a gestionar.
Regla de organizaciones controladas. Seleccione una regla que, al iniciar la sesión, evaluará las organizaciones que deben ser controladas por el usuario al que se le asigne este rol de administrador. La regla seleccionada debe tener el tipo de autenticación ControlledOrganizationsRule. De manera predeterminada no se selecciona ninguna regla de organización controlada.
Puede aplicar la regla EndUserControlledOrganizations para establecer la lógica necesaria para asegurar que el conjunto adecuado de usuarios esté disponible para delegar, de acuerdo con sus necesidades organizativas.
Si prefiere que la lista de usuarios del ámbito sea igual para los administradores, ya utilicen la interfaz de administración o de usuario final, debe cambiar la regla EndUserControlledOrganizations.
Modifique la regla para comprobar primero si el usuario autenticador es un administrador y después configure lo siguiente:
Si el usuario no es un administrador, devolver el conjunto de organizaciones que debe controlar un usuario final, como su propia organización (por ejemplo, waveset.organization).
Si el usuario es un administrador, no devolver ninguna organización, de manera que el usuario sólo controle las organizaciones que se le asignen por ser administrador.
Por ejemplo:
<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 el usuario o administrador pertenecen a una organización dinámica, no se devuelven en los resultados de búsqueda.
Sin embargo, es posible crear una regla para devolver usuarios en organizaciones dinámicas. Cambie la regla de ejemplo siguiente añadiendo un atributo nuevo a la definición de esquema de usuario de Identity Manager incluida en el objeto Idm Schema Configuration, importe dicho objeto y después reinicie el servidor de 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> |
A continuación, inicie la sesión en la interfaz de usuario final de Identity Manager como emp1 , que se halla al norte del país. Seleccione Delegaciones -> Nuevo. Cambie el criterio de búsqueda a Comienza con y el valor a emp, después elija Buscar. Con este método se debería devolver emp2 en la lista de usuarios disponibles.
Formulario de usuario de organizaciones controladas. Seleccione el formulario de usuario que utilizará un usuario que tenga asignado este rol de administrador cuando cree o edite usuarios afiliados a estas organizaciones controladas del rol de administrador. De manera predeterminada no se selecciona ningún formulario de usuario regla de organizaciones controladas.
Un formulario de usuario asignado mediante un rol de administrador sustituye a cualquier formulario de usuario heredado de la organización a la que pertenece el administrador. No sustituye a los formularios de usuario asignados directamente al administrador.