Synchronisation des utilisateurs et des groupes de Active Directory

Introduction

Les organisations qui utilisent un annuaire LDAP (ou Active Directory pour conserver les identités des utilisateurs ont besoin de synchroniser ces identités et les appartenances à des groupes depuis l'annuaire hébergé vers IBM Security Verify 's Cloud Directory. Cela peut être souhaitable pour diverses raisons. Quelques-uns des plus courants sont énumérés ici :

  • Segmentez la population d'utilisateurs autorisés à s'authentifier auprès d' IBM Security Verify à l'aide d'une source d'identité LDAP externe.
  • Poursuivre la gestion des membres des groupes sur l'annuaire de l'entreprise.
  • Fait partie d'une stratégie de migration visant à faire de Cloud Directory le registre des utilisateurs.

IBM Security Verify Bridge for Directory Sync offre cette possibilité et propage les modifications apportées à l'annuaire LDAP hébergé dans Verify.

Les objectifs de cet article sont les suivants :

  • Synchroniser les utilisateurs et les membres des groupes d'une instance Active Directory hébergée avec IBM Security Verify afin d'authentifier les utilisateurs directement avec cet Active Directory à partir de Verify.
  • Démontrer les mises à jour delta.

Installation et configuration

  1. Suivez les instructions de téléchargement et d'installation pour installer le site Directory Sync utility sur un système d'exploitation Windows Server.

  2. Une fois l'installation réussie, la structure du fichier est la suivante :

    896
  3. Copiez le fichier "IcbLdapSyncjson.ad-sample " et nommez la copie "IcbLdapSync.json". Ensuite, passez aux étapes suivantes pour modifier ce fichier.

Obtenir les détails du locataire Verify

  1. Se connecter à Verify tenant en tant qu'utilisateur admin
  2. Aller dans Sécurité > Accès API
  3. Créer un nouveau client API avec les droits : Manage users and standard groups et Synchronize users and groups
  4. Copier le site Client ID sur Client secret du client API nouvellement créé

Configurer le fichier IcbLdapSync.json

  1. Utilisez l'outil d'obscurcissement d' IBM pour crypter le secret du client afin d'éviter toute exposition.

    C:\Program Files\IBM\DirectorySync> IcbLdapSync.exe -obf apisecret
    OfFE5gNch3u5cJbeTj10Mm2Mbd1yS4eQjzqihj0lz7jGIG9fK7vNqTS90EmebtaU
    
  2. Remplissez le nom d'hôte du locataire de vérification, l'ID du client et le secret du client obscurci dans l'objet JSON "ibm-auth-api" du fichier.

    "ibm-auth-api":{
        "timeout":100,
        "client-id":"96a1e9c0-a2a8-4fbf-8092-67caa02c6507",
        "obf-client-secret":"obfuscated_client_secret",
        "protocol":"https",
        "host":"abc.verify.ibm.com",
        "port":443,
        "max-handles":16
    },
    
  3. Configurer l'objet cloud-bridge json où les détails du serveur LDAP, le nom de base et les paramètres du filtre de recherche doivent être spécifiés.

    "cloud-bridge":{
        "max-ops": 512,
        "trace-file":"C:/Program Files/IBM/DirectorySync/logs/cloudbridge.log",
        "enable-op-log":true,
        "op-log-rollover": 2097152,
        "do-not-sync-delete":  false,
        "ldap-search-filter":"(&(|(objectClass=user)(objectClass=group))(|(cn=User90*)(cn=Sync*))(!(isCriticalSystemObject=*)))",
        "ldap-is-deleted-attr":"isDeleted",
        "ldap-poll-time":4,
        "log-stats-interval": 30,
        "ldap-base-dn": "OU=DirSyncRoot,DC=security,DC=com",
        "ldap":{
            "host":"AD_host",
            "port":389,
            "user":"cn=Administrator,cn=Users,dc=abc,dc=com",
            "obf-password":"obfuscated_password",
            "use-tls":false,
            "start-tls":false
        },
    
  4. Définir les userCategory et realm dans l'objet "user". Le site userCategory peut être "normal" ou "fédéré", selon que l'utilisateur doit être autorisé ou non à utiliser l'authentification par mot de passe.
    a. Si un utilisateur "normal" doit être créé, définissez realm comme "cloudIdentityRealm" Lorsque les utilisateurs sont intégrés à Verify, ils reçoivent un courrier électronique contenant un mot de passe temporaire généré de manière aléatoire. Si vous ne souhaitez pas recevoir de notification, attribuez la valeur "NONE" à l'attribut notifyType dans la section urn:ietf:params:scim:schemas:extension:ibm:2.0:Notification.

    "user":{
        "ldap-object-classes": [ "user" ],
        "scim-external-id-attr":"externalId",
        "scim-outline":{
            "urn:ietf:params:scim:schemas:extension:ibm:2.0:User":{
                "realm":"cloudIdentityRealm",
                "userCategory":"regular"
            },
            "urn:ietf:params:scim:schemas:extension:ibm:2.0:Notification": {
                "notifyType": "NONE"
            },
            "schemas":[
                "urn:ietf:params:scim:schemas:core:2.0:User",
                "urn:ietf:params:scim:schemas:extension:ibm:2.0:User",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
                "urn:ietf:params:scim:schemas:extension:ibm:2.0:Notification"
            ]
        },
    

    b. Si un utilisateur "fédéré" doit être créé, utilisez le site realm basé sur le fournisseur d'identité créé sur Verify. L'authentification par mot de passe n'est pas autorisée pour les utilisateurs fédérés.

  5. Faites correspondre les attributs Active Directory aux attributs Cloud Directory dans la section "ldap-to-scim". Il est traité à la fois pour la création et la mise à jour d'un utilisateur. Chaque entrée du tableau définit la manière de mapper un attribut Active Directory.

    "ldap-to-scim": [
        {
            "ldap":"sAMAccountName",
            "tweaks":{
                "append":""
            },
            "new-attr":{
                "scim":{"userName":"{{value}}"}
            },
            "mod-attr":{
                "scim":{
                    "add":{"op":"add","path":"userName","value":"{{value}}"},
                    "remove":{"op":"remove","path":"userName"},
                    "replace":{"op":"replace","path":"userName","value":"{{value}}"}
                }
            }
        },
    
  6. Configurez l'objet group json pour définir comment les utilisateurs doivent être ajoutés ou supprimés des groupes. L'attribut member doit être élaboré correctement afin de maintenir l'appartenance correcte au groupe lors de la synchronisation des groupes.

    "group": {
        "ldap-object-classes": [ "group" ],
        "scim-external-id-attr":"externalId",
        "scim-outline": {
            "urn:ietf:params:scim:schemas:extension:ibm:2.0:Notification": {
                "notifyType": "NONE"
            },
            "schemas":[
                "urn:ietf:params:scim:schemas:core:2.0:Group",
                "urn:ietf:params:scim:schemas:extension:ibm:2.0:Group",
                "urn:ietf:params:scim:schemas:extension:ibm:2.0:Notification"
            ]
        },
        "ldap-to-scim": [
            {
                "ldap":"member",
                "is-dn":true,
                "is-multi-value":true,
                "new-attr":{
                    "scim":{"members":[{"type":"{{type}}","value":"{{value}}"}]}
                },
                "mod-attr":{
                    "scim":{
                        "add":{"op":"add","path":"members","value":[{"type":"{{type}}","value":"{{value}}"}]},
                        "remove":{"op":"remove","path":"members[value eq {{jq_value}}]"},
                        "remove-all":{"op":"remove","path":"members"},
                        "replace":{"op":"replace","path":"members","value":[{"type":"{{type}}","value":"{{value}}"}]}
                    }
                }
            },
    

📘

Note

Utilisez l'attribut tweaks pour traiter et transformer les valeurs. Reportez-vous à la référence des Tweaks pour plus de détails.

De plus, la version actuelle de Verify Bridge for Directory Sync ne synchronise que les utilisateurs et les groupes du "ldap-base-dn". Si l'utilisateur ou le groupe est déplacé hors de l'arborescence, il ne sera plus géré.

Démarrer le service

Une fois le fichier IcbLdapSync.json correctement configuré, démarrez le service IBM Security Verify Bridge for Directory Sync" à partir de la liste des services Windows.

1768

La validation dans la vérification

  1. Connectez-vous à la console d'administration Verify pour vérifier si les utilisateurs et les membres des groupes sont correctement synchronisés.

  2. Maintenant, effectuez une opération de mise à jour ou de suppression d'un utilisateur ou modifiez l'appartenance à un groupe dans Active Directory. La modification correspondante devrait se refléter dans Verify. Toutes ces opérations effectuées par les utilisateurs et les groupes sont vérifiées et visibles dans le rapport "Activité de l'administrateur" de la console d'administration de Verify.

    1008

Traitement des incidents

  1. Les erreurs peuvent être enregistrées dans le journal des événements de Windows. Utilisez d'abord cette méthode pour déterminer les problèmes.
  2. Surveillez les journaux de synchronisation de l'annuaire pour détecter d'éventuelles erreurs. L'emplacement des journaux est spécifié dans le fichier "IcbLdapSync.json".