Attribut memberOf d'Active Directory

CA Directory permet d’émuler la capacité d’Active Directory de renseigner automatiquement l’attribut memberOf lorsqu’il renvoie ou recherche des entrées utilisateur. L’attribut memberOf contient tous les noms uniques de groupes dont l’entrée est membre.
cad140fr
CA Directory permet d’émuler la capacité d’Active Directory de renseigner automatiquement l’attribut memberOf lorsqu’il renvoie ou recherche des entrées utilisateur. L’attribut memberOf contient tous les noms uniques de groupes dont l’entrée est membre.
CA Directory met à jour l’attribut memberOf d’une entrée chaque fois que le nom unique de l'entrée est inclus dans un groupe ou supprimée de celui-ci.
Exemple : affichage des informations memberOf d'un groupe
L’exemple suivant renvoie les groupes dont 
jsmith01
est membre. Si une entrée appartient au groupe des administrateurs et au groupe des opérateurs de sauvegarde, le renvoi de l’entrée
cn=jsmith01
inclut le groupe dont
jsmith01
est membre :
dn: cn=Administrators,ou=Groups,o=CA,c=AU member: cn=jsmith01,ou=Users,o=CA,c=AU member: ... dn: cn=Backup Operators,ou=Groups,o=CA,c=AU member: cn=jsmith01,ou=Users,o=CA,c=AU member: ... dn: cn=jsmith01,ou=Users,o=CA,c=AU memberOf: cn=Administrators,ou=Groups,o=CA,c=AU memberOf: cn=Backup Operators,ou=Groups,o=CA,c=AU
Remarques sur l’implémentation de memberOf
Lorsqu’un nouvel utilisateur est provisionné, ajoutez l’entrée utilisateur avant de l'affecter à un groupe.
L’intégrité référentielle ne peut pas être garantie. Si un groupe est ajouté lorsqu'un groupe est supprimé, l’utilisateur peut appartenir à un groupe qui n’existe plus. Pour éviter d'ajouter des utilisateurs à un groupe qui n’existe pas, traitez les mises à jour des groupes avec une seule application.
Nous vous recommandons de renommer les groupes en effectuant une opération de suppression, puis d'ajout. Dans le cas contraire, le nom modifié n’est pas reflété dans l’attribut memberOf. Si cette erreur se produit, une alarme d’avertissement est émise.
Activation de l'attribut memberOf
Pour afficher les groupes auxquels une entrée appartient, vous pouvez activer la fonction memberOf.
Procédez comme suit :
  1. Ajouter un ou plusieurs noms uniques dans les conteneurs de groupes et d'utilisateurs memberOf. Saisissez les paramètres suivants :
    set memberof-user-containers = <DN>, ...; set memberof-group-containers = <DN>, ...;
     Ces deux éléments doivent être définis. Dans le cas contraire, le DSA génère une alarme critique et s'arrête.
  2. Enregistrez les modifications et la configuration.
    La fonctionnalité memberOf est activée. Pour afficher les valeurs configurées, vous pouvez utiliser la commande de console get assoc.
Remarque :
Le schéma de l’attribut memberOf est obligatoire, mais vous n’avez pas besoin de l’inclure dans l’objectClass de l’entrée. Marquez cet attribut no-user-modification dans le schéma, car les mises à jour directes de memberOf peuvent entraîner des problèmes d’intégrité des données. Pour plus d’informations, reportez-vous au fichier DXHOME/config/schema/sunone.dxc.
Contrôles d&apos;accès
La mise à jour du groupe est effectuée avec les informations d’identification de l’utilisateur de la liaison. Le DSA déclenche la mise à jour de memberOf et contourne les contrôles d'accès ainsi que la vérification de schéma.
Si un DSA distinct est utilisé pour la sous-arborescence de l’utilisateur, le DSA qui gère la mise à jour du groupe nécessite l’indicateur d'approbation trust-dsa-triggered-operations.
Activation de la fonctionnalité memberOf dans un environnement existant
Pour activer la fonctionnalité memberOf dans un déploiement existant, remplissez les données memberOf via un vidage, puis rechargez toutes les entrées de groupe via le serveur frontal. En raison de la charge générée, il est recommandé d'effectuer cette opération pendant les heures creuses ou lorsque les applications n'accèdent pas à l'annuaire.
Pour activer memberOf dans un environnement existant
  1. Exécutez la commande suivante pour vous assurer que les entrées ne contiennent pas d’attribut memberOf.
    dxsearch - h{host} - p{port} -b "ou=Users,o=CA,C=AU" "(memberOf=*)" memberOf
    Les entrées qui contiennent l’attribut memberOf sont renvoyées. Supprimez l'attribut memberOf de toutes les entrées renvoyées.
  2. Récupérez et stockez les groupes.
    dxsearch -h{host} -p{port} -b "ou=Groups,o=CA,C=AU" "(member=*)" member objectClass > groups.ldif dxsearch -h{host} -p{port} -b "ou=Groups,o=CA,C=AU" "(uniqueMember=*)" uniqueMember objectClass >> groups.ldif
  3. Mettez à jour le fichier groups.ldif pour supprimer le résumé de la recherche.
  4. Supprimez les groupes (vérifiez que memberOf n’est pas configuré).
    cat groups.ldif | grep "dn: " | awk '{print $2}' | dxdelete -h{host} -p{port}
  5. Activez la fonctionnalité memberOf, puis réinitialisez ou redémarrez le DSA.
  6. Ajoutez des groupes.
    cat groups.ldif | dxmodify -h{host} -p{port} - a
Exemple : migration
Cet exemple de migration indique comment exporter des conteneurs de groupes et d'utilisateurs :
set memberof-group-containers = <c AU><o CA><ou Groups>; set memberof-user-containers = <c AU><o CA><ou Users>;
Déclenchement des mises à jour memberOf
Lorsqu’une entrée ou un membre de groupe est mis à jour, CA Directory peut déclencher une mise à jour memberOf. Dans la description suivante, l'entrée de groupe est groupOfNames ou groupOfUniqueNames, et un membre inclut l'attribut uniqueMember.
Les types de mises à jour qui peuvent déclencher une mise à jour membreOf sont les suivantes :
  • Modification de l’ajout d’un ou de plusieurs noms uniques pour l'attribut de membre de l’entrée de groupe
  • Modification de la suppression d’un ou de plusieurs noms uniques de l’attribut de membre de l’entrée de groupe
  • Ajout de l’entrée de groupe contenant un ou plusieurs attributs de membre de nom unique
  • Suppression de l’entrée de groupe contenant un ou plusieurs attributs de membre de nom unique
Lorsqu’un DSA de données reçoit une demande de modification, les événements suivants se produisent :
  1. CA Directory inspecte son contenu afin de déterminer si toutes les conditions suivantes sont remplies :
    • L'attribut baseObject de la mise à jour est subordonné à un nom unique dans la liste des memberof-group-containers configurés.
    • L'attribut baseObject existe pour une demande de modification ou de suppression, et l'attribut baseObject n’existe pas pour une demande d’ajout.
    • La mise à jour s’applique localement.
    • L’utilisateur qui effectue la mise à jour dispose de l’AC approprié pour effectuer l’opération.
  2. Pour chaque attribut de membre subordonné à un nom unique dans la liste des memberof-user-containers configurés :
    1. La demande est effectuée sur l’entrée utilisateur, et le nom unique du groupe est ajouté à l'attribut memberOf ou supprimé, et une modification de rétablissement est créée.
    2. Si la demande aboutit, une modification de rétablissement est insérée dans la liste des rétablissements. Si une erreur se produit, un rétablissement est effectué.
  3. Si les attributs memberOf ont été mis à jour pour toutes les entrées utilisateur, les événements suivants se produisent :
    1. Une mise à jour du groupe est effectuée.
    2. Si une erreur se produit, les mises à jour memberOf sont rétablies.
Réplication à écriture multiple
Les mises à jour de l’appartenance au groupe reçues par écriture multiple ne déclenchent pas de mises à jour memberOf. Le DSA qui effectue le remplissage memberOf gère la réplication.