Les Rôles admin définissent deux éléments : un ensemble de capacités et une étendue de contrôle (le terme étendue de contrôle fait référence à une ou plusieurs organisations gérées). Une fois définis, les rôles admin peuvent être assignés à un ou plusieurs administrateurs.
Ne confondez pas les rôles avec les rôles admin. Les rôles sont utilisés pour gérer l'accès des utilisateurs finaux aux ressources externes tandis que les rôles admin sont principalement utilisés pour gérer l'accès des administrateurs Identity Manager à des objets Identity Manager.
Les informations présentées dans cette section sont limitées aux rôles admin. Pour plus d'informations sur les rôles, voir Comprendre et gérer les rôles.
Vous pouvez assigner plusieurs rôles admin à un même administrateur. Cela permet à un administrateur d'avoir un ensemble de capacités donné dans une étendue de contrôle, et un ensemble de capacités différent dans une autre étendue de contrôle. Par exemple, un rôle admin peut accorder à l'administrateur le droit de créer et d'éditer des utilisateurs pour les organisations contrôlées spécifiées dans ce rôle admin. Un second rôle admin assigné au même administrateur, cependant, pourra n'accorder que le droit « change users’ passwords » (Changer les mots de passe des utilisateurs) dans un ensemble distinct d'organisation contrôlées tel que défini dans ce rôle admin.
Les rôles admin permettent de réutiliser les associations de capacités et d'étendue de contrôle. Les rôles admin simplifient également la gestion des privilèges d'administrateur avec un grand nombre d'utilisateurs. Au lieu d'assigner directement des capacités et des organisations contrôlées aux utilisateurs individuels, il convient d'utiliser les rôles admin pour accorder des privilèges d'administrateur.
L'assignation de capacités ou d'organisations (ou de ces deux éléments) à un rôle admin peut être directe ou dynamique (indirecte).
Assignation directe. En utilisant cette méthode, les capacités et/ou les organisations contrôlées sont explicitement assignées au rôle admin. Par exemple, un rôle admin peut se voir assigner la capacité Administrateur de rapports d’utilisateur et l'organisation contrôlée Haut.
Assignation dynamique (indirecte). Cette méthode utilise des règles pour assigner des capacités et des organisations contrôlées. Les règles sont évaluées à chaque fois qu'un administrateur auquel le rôle admin est assigné se connecte. Une fois que l'administrateur a été authentifié, les règles déterminent de manière dynamique l'ensemble de capacités et/ou organisations contrôlées qui est assigné.
Par exemple, lorsqu'un utilisateur se connecte :
Si son titre d'utilisateur Active Directory (AD) est manager (responsable), la règle de capacités pourra retourner Administrateur de comptes pour la capacité à assigner.
Si son service utilisateur Active Directory (AD) est marketing, la règle d'organisations contrôlées pourra retourner Marketing pour l'organisation contrôlée à assigner.
L'assignation dynamique des rôles admin aux utilisateurs peut être activée ou désactivée pour chaque interface de connexion (par exemple, pour l'interface utilisateur ou l'interface administrateur). Pour cela, définissez l'attribut de configuration système suivant sur true ou false:
security.authz.checkDynamicallyAssignedAdminRolesAtLoginTo.logininterface
La valeur par défaut pour toutes les interfaces est false.
Pour les instructions à suivre pour éditer un objet Configuration système, voir Édition des objets Configuration Identity Manager.
Identity Manager fournit des exemples de règles pouvant être utilisés pour les rôles admin. Ces règles sont disponibles dans le répertoire d'installation d'Identity Manager dans sample/adminRoleRules.xml.
Le Tableau 6–1 indique les noms de ces règles et l'authType à spécifier pour chacune.
Tableau 6–1 Exemples de règles de rôle admin
Nom de la règle |
authType |
---|---|
Règle d’organisations contrôlées |
ControlledOrganizationsRule |
Règle de capacités |
CapabilitiesRule |
Règle du rôle admin d’assignation d’utilisateur |
UserIsAssignedAdminRoleRule |
Pour toute information sur les exemples de règles fournis pour les rôles admin de fournisseur de services, voir Administration déléguée pour les utilisateurs de Service Provider au Chapitre 17Administration de Service Provider.
Identity Manager inclut un rôle admin intégré, nommé User Admin Role (Rôle admin utilisateur). Par défaut, ce rôle n'a ni capacités ni organisations contrôlées assignées. Il ne peut pas être supprimé. Ce rôle admin est implicitement assigné à tous les utilisateurs (utilisateurs finaux et administrateurs) au moment de la connexion, quelle que soit l'interface depuis laquelle ils se connectent (par exemple, l'interface utilisateur ou administrateur, la console ou encore Identity Manager IDE).
Pour toute information sur la création d'un rôle admin pour les utilisateurs de fournisseur de service, voir Administration déléguée pour les utilisateurs de Service Provider au Chapitre 17Administration de Service Provider.
Vous pouvez éditer le User Admin Role par le biais de l'interface administrateur (sélectionnez Sécurité puis Rôles admin).
Étant donné que les capacités ou les organisations contrôlées qui sont assignées de manière statique à travers ce rôle admin sont assignées à tous les utilisateurs, il est recommandé d'effectuer l'assignation des capacités et organisations contrôlées au moyen de règles. Avec cette solution des utilisateurs différents auront des capacités différentes ou n'en auront aucune. Par ailleurs, l'étendue des assignations sera calculée en fonction de facteurs variés, notamment les postes occupés par les utilisateurs, les services dans lesquels ils travaillent, leur titre, qui peuvent être déterminés par le biais d'interrogations dans le contexte des règles.
Le rôle admin utilisateur ne désapprouve pas ni ne remplace l'utilisation de l'indicateur authorized=true utilisé dans les flux de travaux. Cet indicateur reste approprié dans les cas où l'utilisateur ne doit pas avoir accès aux objets auxquels le flux de travail accède, sauf pendant l'exécution du flux de travail. Essentiellement, ceci permet à l'utilisateur de passer dans un mode exécuter en tant que superutilisateur.
Il peut cependant y avoir des cas dans lesquels un utilisateur doit avoir un accès spécifique à un ou plusieurs objets à l'extérieur (et potentiellement dans les) des flux de travaux. Dans de tels cas, l'utilisation de règles pour assigner dynamiquement les capacités et les organisations contrôlées permet de préciser les autorisations concernant ces objets.
Pour créer ou éditer un rôle admin, la capacité Administrateur de rôles admin doit vous être assignée.
Pour accéder aux rôles admin dans l'interface administrateur, cliquez sur Sécurité puis sur l'onglet Rôles admin. La page de liste Rôles admin vous permet de créer, éditer et supprimer des rôles admin pour les utilisateurs Identity Manager et pour les utilisateurs de fournisseur de services.
Pour éditer un rôle admin existant, cliquez sur un nom dans la liste. Cliquez sur Nouveau pour créer un rôle admin. Identity Manager affiche les options Créer un rôle Admin (illustrées à la Figure 6–3). La vue Créer un rôle Admin présente quatre onglets qui permettent de spécifier les attributs généraux, les capacités et l'étendue du nouveau rôle admin, ainsi que les assignations de rôle aux utilisateurs.
L'onglet Général de la vue Créer un rôle Admin ou Éditer un rôle Admin permet de spécifier les caractéristiques de base suivantes pour le rôle admin :
Nom. Nom unique de ce rôle admin.
Par exemple, vous pouvez créer le Rôle admin Finance pour les utilisateurs qui auront des capacités administratives pour les utilisateurs dans le service (ou l'organisation) Finance.
Type. Sélectionnez au choix Objets Identity ou Utilisateurs de Service Provider pour le type. Ce champ est obligatoire.
Sélectionnez Objets Identity si vous créez un rôle admin pour des utilisateurs (ou objets) Identity Manager. Sélectionnez Utilisateurs de Service Provider si vous créez ce rôle admin pour accorder l'accès aux utilisateurs de fournisseur de services.
Pour toute information sur la création d'un rôle admin pour accorder l'accès aux utilisateurs Service Provider, voir Administration déléguée pour les utilisateurs de Service Provider au Chapitre 17Administration de Service Provider.
Assignataires. Sélectionnez ou recherchez les utilisateurs qui seront autorisés à assigner ce rôle admin à d'autres utilisateurs. L'ensemble d'utilisateurs à partir duquel vous pouvez effectuer des sélections comprend les personnes auxquelles la capacité d'assignation a été assignée.
Si aucun utilisateur n’est sélectionné, le seul utilisateur en mesure d’assigner ce rôle admin sera celui l’aura créé. Si l'utilisateur qui a créé le rôle admin ne dispose pas de la capacité d’assignation de capacité utilisateur, vous devez sélectionner un ou plusieurs utilisateurs en tant qu'assignataires pour assurer qu'au moins l’un d’eux puisse assigner le rôle admin à un autre utilisateur.
Organisations. Sélectionnez une ou plusieurs organisations pour lesquelles ce rôle admin sera disponible. Ce champ est obligatoire.
L’administrateur peut gérer des objets dans l’organisation assignée et dans n’importe quelle organisation située sous cette organisation dans la hiérarchie.
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.
Les capacités assignées au rôle admin déterminent les droits administratifs dont disposent les utilisateurs auxquels le rôle admin est assigné. Par exemple, un rôle admin pourrait être limité à la création d'utilisateurs pour les seules organisations contrôlées de ce rôle admin. Dans ce cas, vous assigneriez la capacité Créer un utilisateur.
Sélectionnez les options suivantes dans l'onglet Capacités :
Capacités. Capacités spécifiques (droits administratifs) que les utilisateurs du rôle admin auront pour leurs organisations contrôlées. Sélectionnez une ou plusieurs capacités dans la liste des capacités disponibles et amenez-les dans la liste Capacités assignées.
Règle de capacités. Sélectionnez une règle qui, évaluée à la connexion de l'utilisateur, déterminera la liste de zéro capacités ou plus conférée aux utilisateurs auxquels ce rôle est assigné. L'authType de la règle sélectionnée doit être CapabilitiesRule.
Vous pouvez spécifier un formulaire utilisateur pour les membres d'un rôle admin. L'onglet Assigner aux utilisateurs de la vue Créer un rôle Admin ou Éditer un rôle Admin permet de spécifier les assignations.
L'administrateur auquel le rôle admin est assigné utilisera ce formulaire utilisateur pour créer ou éditer des utilisateurs dans les organisations contrôlées par ce rôle admin. 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.
Le formulaire utilisateur qui est utilisé lors de l'édition d'un utilisateur est déterminé dans l'ordre de priorité suivant :
Si un formulaire utilisateur est assigné directement à l'administrateur, ce formulaire est utilisé.
Si aucun formulaire utilisateur n'est assigné directement à l'administrateur, mais que ce dernier s'est vu assigner un rôle admin qui contrôle l'organisation dont l'utilisateur en cours de création ou d'édition sera ou est membre et spécifie un formulaire utilisateur, ce formulaire utilisateur est utilisé.
Si aucun formulaire utilisateur n'est assigné directement à l'administrateur, ni indirectement par le biais d'un rôle admin, le formulaire utilisateur assigné aux organisations dont cet administrateur est membre (en commençant par l'organisation dont l'administrateur est membre et en remontant jusque sous Haut) est utilisé.
Si aucune des organisations dont l'administrateur est membre n'a de formulaire utilisateur assigné, le formulaire utilisateur par défaut est utilisé.
Si un administrateur se voit assigner plusieurs rôles admin contrôlant la même organisation mais spécifiant des formulaires utilisateur différents, une erreur s'affiche lorsqu'il tente de créer ou d'éditer un utilisateur dans cette organisation. Si un administrateur tente d'assigner deux rôles admin ou plus contrôlant la même organisation mais spécifiant des formulaires utilisateur différents, une erreur s'affiche. Les changements ne peuvent pas être enregistrés tant que le conflit n'est pas résolu.