Configuration de groupes dynamiques
Pour utiliser des groupes dynamiques, procédez comme suit :
cad126fr
Pour utiliser des groupes dynamiques, procédez comme suit :
- Ajoutez des membres au groupe dynamique.Vous pouvez ensuite effectuer l'une des actions suivantes (ou les deux) :
- Créez un rôle d’application.
- Configurez des rôles d’annuaire dynamiques.
Vous pouvez également exclure un membre d'un groupe dynamique.
Activation des groupes dynamiques
Les rôles dynamiques sont basés sur l’attribut
dxMemberURL
des classes d’objets suivantes :- dxDynamicGroupOfNames
- dxDynamicGroupOfUniqueNames
Vous pouvez ajouter ces attributs à une classe d’objets
groupOfNames
ou groupOfUniqueNames
respectivement pour pouvoir inclure dxMemberURL
.Remarque
: Il existe une idée reçue selon laquelle groupOfUniqueNames
est privilégié par rapport à groupOfNames
pour assurer que le caractère unique des valeurs des membres. Les classes d’objets groupOfNames
et groupOfUniqueNames
assurent toutes deux le caractère unique des valeurs des membres. Dans le cas de groupOfUniqueNames
, l’attribut uniqueMember
définit une syntaxe différente : nameAndOptionalUID
. Cette prise en charge est fournie pour aider les clients à passer d’un déploiement X.500 existant à CA Directory. Dans ce scénario, deux entrées peuvent exister dans l’arborescence des informations sur l'annuaire avec le même nom unique, mais ces entrées seront différenciées par un identificateur unique. Dans le cas de déploiements exclusivement LDAP dans lesquels la partie ID unique de la syntaxe nameAndOptionalUID
n’est pas utilisée, utilisez groupOfNames/member
, car en termes de fonctionnalité cela est identique.Procédez comme suit :
- Arrêtez le DSA.
- Ajoutez les commandes suivantes aux paramètres de DSA :clear dynamic-group; set dynamic-group [tag] = { subtree = DN object-class = objectClass url-attr = attribute member-attr = attribute };Exemple :clear dynamic-group; # to allow command to be reloaded on dxserver init set dynamic-group GROUP = { subtree = <c AU><o Democorp><ou Groups> objectclass = dxDynamicGroupOfNames url-attr = dxMemberURL member-attr = member };
- Démarrez le DSA.
- Vérifiez que l’arborescence DIT contient une sous-arborescence qui vous permet de stocker les entrées de groupe.Remarque: A l'aide du paramètre [subtree = DN], vous pouvez également spécifier la sous-arborescence de groupes dynamiques pour inspecter l'objet de base de chaque demande reçue par le DSA. Ce paramètre vous permet de réduire la recherche à cette sous-arborescence uniquement. Ce paramètre prend en charge les recherches d’appartenance de groupe dynamique et les demandes de comparaison sans que la commandeset use-dynamic-roles = true;ne soit nécessaire.ou=Groups,o=Democorp,c=AU
Création d'un groupe dynamique
Un groupe dynamique étant une entrée d'annuaire, vous pouvez créer un groupe dynamique sans arrêter le DSA.
Créez une sous-arborescence spécialement pour des entrées de groupe. Cette étape permet d’implémenter des contrôles d’accès et des rôles ultérieurement.
Procédez comme suit :
- (Facultatif) Si une sous-arborescence n’existe pas, créez-en une pour les entrées de groupe.
- Créez une entrée dans la sous-arborescence de groupes avec les informations suivantes :
- Classe d’objets :groupOfNames,dxDynamicGroupOfNames
- Filtre de recherche LDAP : incluez ce filtre dans l’attributdxMemberURL.
Exemple de création d’une entrée de groupe dynamique pour le rôle de
gestionnaires
Créez une sous-arborescence de groupes dynamiques et une entrée de groupe dynamique pour les utilisateurs disposant du rôle Gestionnaire.
dn: ou=Groups,o=Democorp,c=AUobjectClass: organizationalUnitdn: cn=Managers,ou=Groups,o=Democorp,c=AUobjectClass: groupOfNames # structural objectClass that contains memberobjectClass: dxDynamicGroupOfNames # auxiliary objectClass that contains dxMemberURLdxMemberURL: ldap://ou=Users,o=Democorp,c=AU??sub?(position=Manager)
Ajout d'un membre à un groupe dynamique
Pour ajouter un membre à un groupe dynamique, incluez des informations dans l’entrée de l’utilisateur pour que le filtre convienne à ce rôle.
Exemple : ajout d’un utilisateur
Craig Link
au groupe Gestionnaires
Vous avez créé un groupe dynamique qui utilise le filtre suivant :
ldap://ou=Users,o=Democorp,c=AU??sub?(position=Manager)
Pour affecter le groupe de gestionnaires à un utilisateur, procédez comme suit :
- Ajoutez l’attributpositionà l’entrée d'un utilisateur.
- Ajoutez la valeurGestionnaireà l’attribut position.
Lors de la prochaine évaluation du groupe de
gestionnaires
, cet utilisateur sera membre du groupe.dn: cn=Craig Link,ou=Users,o=Democorp,c=AUobjectClass: inetOrgPersonsurname: Linkposition: Manager
Exclusion d'un membre d’un groupe dynamique
Vous pouvez bloquer manuellement le remplissage de l’attribut member dans un groupe dynamique. Dans certains cas, l’attribut member d’un groupe dynamique est rempli avec des valeurs non requises. Ces données sous-jacentes entraînent la correspondance d'une entrée avec l’URL LDAP d'un groupe dymanique, qui ne peut pas être modifiée. Ces valeurs peuvent être exclues manuellement à l’aide de l’attribut
dxExcludeMember
de groupes dynamiques.Exemple : Exclusion de l’utilisateur
Joe Bloggs
du groupe Administrateurs
Par exemple, un utilisateur est un administrateur non inclus dans l'annuaire (title = Administrateur). Cet attribut a également des rôles d'annuaire pour lequel l’utilisateur ne doit pas disposer de droits d’administrateur.
Nous disposons du groupe dynamique suivant :
dn: cn=Administrators,ou=Groups,o=Democorp,c=AUobjectClass: groupOfNamesobjectClass: dxDynamicGroupOfNamesdxMemberURL: ldap:///ou=Users,o=Democorp,c=AU??sub?(title=Administrator)
Le groupe contient l’utilisateur suivant qui correspond à
dxMemberURL
:dn: cn=Joe Bloggs,ou=Users,o=Democorp,c=AUobjectClass: inetOrgPersonsurname: Bloggstitle: Administrator
Vous pouvez exclure l’utilisateur du groupe dynamique et conserver la valeur d’attribut title en apportant les modifications suivantes au groupe dynamique :
dn: cn=administrators,ou=Groups,o=Democorp,c=AUobjectClass: groupOfNamesobjectClass: dxDynamicGroupOfNamesdxMemberURL: ldap:///ou=Users,o=Democorp,c=AU??sub?(title=Administrator)dxExcludeMember: cn=Joe Bloggs,ou=Users,o=Democorp,c=AU
L'exclusion d’un membre d’un groupe dynamique a un impact sur les opérations suivantes impliquant le groupe dynamique :
- Recherches d’appartenance: si vous excluez un membre, la recherche dans la sous-arborescence de groupes dynamiques avec unfiltre contenant member=<DN>ne renverra aucun résultat.
- Recherches de rôle: si le membre est explicitement exclu, cela affecte le chargement de rôles lorsqu’un utilisateur est lié à un DSA. Les rôles desquels le membre est exclu ne sont plus chargés. La commandeset use-dynamic-roles = true;est requise.
- Expansion de groupes dynamiques: un groupe dynamique renvoyé à l’aide d’une recherche d’objet de base uniquement qui renvoie tous les attributs n’inclut pas le membre exclu dans la liste de valeurs des attributs member.
Remarques :
- Une restriction existe lors du renvoi d’un groupe dynamique à l’aide d’une recherche d’objet de base uniquement. Si une liste d’attributs de renvoi est spécifiée, elle doit contenir au moins une classe d'objets,dxMemberURLet égalementdxExcludeMemberpour remplir correctement l’attribut member.
- Si vous utilisezdxDynamicGroupOfUniqueNames, configurez le groupe dynamique pour utiliser l’attributdxExcludeUniqueMember.
- Si vous ajoutez un grand nombre de valeurs (> 100) àdxExcludeMember, vous devrez reconfigurer l’entrée de groupe dynamique. Cette fonctionnalité a été créée pour les exceptions, non la règle.
- Dans le cas de groupes hybrides (contenant des membres statiques et dynamiques), un membre statique est exclu s'il est utilisé avecdxExcludeMember. Dans l’idéal, la valeur de membre statique doit être explicitement supprimée.
- Dans ce cas de groupes statiques,dxExcludeMembern’est pas utilisé. Si la valeur de membre statique n’est plus requise, vous pouvez simplement la supprimer.
Affichage de la configuration d’un groupe dynamique
Pour afficher la configuration d'un groupe dynamique utilisée dans un DSA, utilisez la commande suivante à partir de la console DSA :
get dynamic-groups;
Cette commande génère une liste des groupes dynamiques en cours d’utilisation.
Exemple : sortie de la commande get dynamic-groups
************** GROUP ************** Group object class : dxDynamicGroupsOfNames Group Search URL : dxMemberURL Member to Append : member Member to Exclude : dxExcludeMember