IBM Verify

IBM Verify

Join this online user group to communicate across Security product users and IBM experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only

The best practice of all for SDS replica for ISIM environment blogs

  • 1.  The best practice of all for SDS replica for ISIM environment blogs

    Posted Fri October 04, 2019 01:35 AM

    Some customers in questions regarding the fault tolerance, might have confused as there wasn't a lot of statements releases the SDS Typologies for IBM Security Identity Manager fault tolerance recently in 2019 since there are not much changes this area, and in term of Topology has to be involved with the complex  service work has to be done with unique business requirements. As with many customers, I have been on a steep learning curve to understand the capabilities this brings for many years. As an interesting exercise, I thought I'd try a short simple SDS identity blog and look at in the various layers of the SDS could be managed as what the best recommended method, specially for IBM Security Directory server with ISIM environment..

    This article provides an overview of the SDS/Identity and the aspects of it. The article(s) does provide a detailed explanation of SDS/Identity. Where appropriate I will highlight where IBM Security capabilities apply on SDS however, some are not relevant to the IBM Security Identity Manager.

    The simple topology for the ISIM on SDS is "Master to Replica Technology" only a way to support due to a number of reasons behind this, one of the most part transaction data intensive applications on WAS, might cause the data integrity issue which might want to prevent from when the SDS replica configuration concerns.

    We have older documents for the developer workers like Tivoli, SDS Typologies has not changed in terms of how the SDS runs, and recover from data.

    ISIM typologies with SDS

    Master to replica only

    Master → Replica

    The master to replica topology is one of the most common typologies. It is the most basic topology and is easy to set up. It has one read-write server and one read-only server. 


    Peer to Peer Topology sync each other 

    Peer 1 ←→ Peer 2 ---( This part could be potential data integrity issue when Peer 2 sync'ed back to Peer 1, but the request sent to some stage, never completed.)

    The peer to peer topology is the second most common topology used. It is mostly used in high availability applications as it has two read-write servers. 


    The Master forwarder replica Topology

    Master → Forwarder → Replica

    Though not used frequently, we included this topology as the Forwarder is a special type of server. It is a read-only server which acts as a "router" to a set of replicas under it. 


    Second article is greater detail on how the ISIM 6. And 7 are supported regarding HA and DR setup.  Only highlight is important part of configuration is 

    Summary :

    Only one server can be active at a time.  The other must be in a failover-only mode. 


    I would say this below article might be the best practice of all for SDS replica for ISIM environment.

    Below is pasted from Welcome to Wikis

    Ibm remove preview
    Welcome to Wikis
    developerWorks wikis allow groups of people to jointly create and maintain content through contribution and collaboration. Wikis apply the wisdom of crowds to generating information for users interested in a particular subject. You can search all wikis, start a wiki, and view the wikis you own, the wikis you interact with as an editor or reader, and the wikis you follow.
    View this on Ibm >





    Set up IBM Security Directory Server (ISDS) Replication

    IBM Security Directory Server stores users, accounts, and organizational data. To provide failover capability, install it as a cluster using a IBM Security Directory server on each of two separate systems. Data is synched between the two servers. 

    Only one server can be active at a time.  The other must be in a failover-only mode. It must be running but not accessed by ISIM. Use a failover-only load balancer between ISIM and the IBM Security Directory Server nodes. The load balancer routes traffic to one directory server until that server fails. The load balancer then routes the traffic to the other active node. 


    Only one back-end directory server should be active at  a time. Upon failover the load balancer should terminate any other active connections to the failed server.


    The following steps illustrate how to set up a peer-to-peer replication.  In the example, the server host names are hadrsds1 and hadrsds2. The LDAP suffix declaration is dc=com. You must run the ISIM middleware configuration utility tool for each server. It creates the instances to use the same user password, LDAP suffix and encryption seed. 


    For details on running middleware configuration utility, see Running the middleware configuration utility in the IBM Knowledge Center for IBM Security Identity Manager 6.0.0.6.


       
    Edit the /home/itimldap/idsslapd-itimldap/etc/ibmslapd.conf file on both ISDS servers.  Find ibm-slapdServerId: and set it as in the following example. 


    On hadrsds1:

    ibm-slapdServerId: peer1


    On hadrsds2:

    ibm-slapdServerId: peer2


    1.    

       
    Start both ISDS servers


    1. /opt/IBM/ldap/V6.3.1/sbin/ibmslapd -I itimldap
         

         
    2.    
      On each server, create file /temp/rep1.ldif with the following content:
         
          dn: cn=Master Server, cn=configuration
          objectclass: ibm-slapdReplication
          cn: Master Server
          ibm-slapdMasterDN: cn=any
          ibm-slapdMasterPW: secret
         

         

       
    On each server, add the entries into ibmslapd.conf


    /opt/IBM/ldap/V6.3.1/bin/idsldapadd -D cn=root -w <password> -i /temp/rep1.ldif


    1.    

       
    Stop the ISDS servers


    /opt/IBM/ldap/V6.3.1/sbin/ibmslapd -I itimldap -k


    1.    

       
    On each server, create the following in a file called  /temp/rep2.ldif


    dn: cn=replication,cn=IBMpolicies

    objectclass: container

    dn: cn=simple,cn=replication,cn=IBMpolicies

    objectclass:ibm-replicationCredentialsSimple

    cn:simple 

    replicaBindDN:cn=any

    replicaCredentials:secret

    description:Bind method of the peer master (hadrsds1) to the peer master(hadrsds2)


    1.    

       
    On each server, add the entries. Ignore the error message about one of the entries already in existence.


    /opt/IBM/ldap/V6.3.1/sbin/idsldif2db -r no -i /temp/rep2.ldif -I itimldap


    1.    

       
    Restart the servers.


    1.    

       
    Create the following in a file called /temp/dccom.ldif 


    dn: dc=com

    objectclass: top

    objectclass: domain

    dc: com


    Add the dc=com suffix object.


    /opt/IBM/ldap/V6.4/bin/ldapadd -h localhost -p 389 -D cn=root -w <password> -c -v -f /temp/dccom.ldif


    1.    

       
    Use the ISDS Web Admin tool to connect to each ISDS server. Log in as an administrative user.


    1.    
      1.        
        Select Directory management > Manage entries
               
      2.        
        Click the dc=com check-box and select Action > Edit ACL
               
      3.        
        Select Non-filtered ACLs > Add
               
      4.        
        Subject DN> Enter cn=root
               
      5.        
        Click Grant all
               
      6.        
        Click Ok
               
      7.        
        Click Owners
               
      8.        
        Subject DN> Enter cn=root
               
      9.        
        Click Add
               
      10.        
        Click Ok
               

           
    Click Logout


      1.        
    1.    

       
    On each server, create the following in file /temp/dccontext.ldif


    dn: dc=com

    changetype: modify

    add: objectclass

    objectclass: ibm-replicationcontext


    1.    
    2.    
      On each server, add the context to dc=com.
         
          /opt/IBM/ldap/V6.3.1/bin/idsldapmodify -D cn=root -w <password> -i /temp/dccontext.ldif
         
         

       
    Stop the ISDS servers.


    /opt/IBM/ldap/V6.3.1/sbin/ibmslapd -I itimldap -k


    1.    
    2.    
      On each server, create the following content in file /temp/rep3.ldif
         

    dn: ibm-replicaGroup=default,dc=com

    objectclass: top

    objectclass: ibm-replicaGroup

    ibm-replicaGroup: default


    dn: ibm-replicaServerId=peer1,ibm-replicaGroup=default,dc=com

    objectclass: top

    objectclass: ibm-replicaSubentry

    ibm-replicaServerId: peer1

    ibm-replicationServerIsMaster: true

    cn: peer1

    description: peer1 (peer master) ibm-replicaSubentry


    dn: ibm-replicaServerId=peer2,ibm-replicaGroup=default,dc=com

    objectclass: top

    objectclass: ibm-replicaSubentry

    ibm-replicaServerId: peer2

    ibm-replicationServerIsMaster: true

    cn: peer2

    description: peer2 (peer master) ibm-replicaSubentry


    #peer1 to peer2 agreement

    dn: cn=peer2,ibm-replicaServerId=peer1, ibm-replicaGroup=default,dc=com

    objectclass: top

    objectclass: ibm-replicationAgreement

    cn: peer2

    ibm-replicaConsumerId: peer2

    ibm-replicaUrl: ldap://hadrsds2:389

    ibm-replicaCredentialsDN: cn=simple,cn=replication,cn=IBMpolicies

    description: peer1(master) to peer2(master) agreement


    #peer2 to peer1 agreement

    dn: cn=peer1,ibm-replicaServerId=peer2, ibm-replicaGroup=default,dc=com

    objectclass: top

    objectclass: ibm-replicationAgreement

    cn: peer1

    ibm-replicaConsumerId: peer1

    ibm-replicaUrl: ldap://hadrsds1:389

    ibm-replicaCredentialsDN: cn=simple,cn=replication,cn=IBMpolicies

    description: peer2(master) to peer1(master) agreement


    cn=ibmpolicies

    dn: ibm-replicaGroup=default,cn=ibmpolicies

    objectclass: top

    objectclass: ibm-replicaGroup

    ibm-replicaGroup: default


    dn: ibm-replicaServerId=peer1,ibm-replicaGroup=default,cn=ibmpolicies

    objectclass: top

    objectclass: ibm-replicaSubentry

    ibm-replicaServerId: peer1

    ibm-replicationServerIsMaster: true

    cn: peer1

    description: peer1 (peer master) ibm-replicaSubentry


    dn: ibm-replicaServerId=peer2,ibm-replicaGroup=default,cn=ibmpolicies

    objectclass: top

    objectclass: ibm-replicaSubentry

    ibm-replicaServerId: peer2

    ibm-replicationServerIsMaster: true

    cn: peer2

    description: peer2 (peer master) ibm-replicaSubentry


    #peer1 to peer2 agreement

    dn: cn=peer2,ibm-replicaServerId=peer1, ibm-replicaGroup=default,cn=ibmpolicies

    objectclass: top

    objectclass: ibm-replicationAgreement

    cn: peer2

    ibm-replicaConsumerId: peer2

    ibm-replicaUrl: ldap://hadrsds2:389

    ibm-replicaCredentialsDN: cn=simple,cn=replication,cn=IBMpolicies

    description: peer1(master) to peer2(master) agreement


    #peer2 to peer1 agreement

    dn: cn=peer1,ibm-replicaServerId=peer2, ibm-replicaGroup=default,cn=ibmpolicies

    objectclass: top

    objectclass: ibm-replicationAgreement

    cn: peer1

    ibm-replicaConsumerId: peer1

    ibm-replicaUrl: ldap://hadrsds1:389

    ibm-replicaCredentialsDN: cn=simple,cn=replication,cn=IBMpolicies

    description: peer2(master) to peer1(master) agreement


       
    On each server, add the replica agreement entries


    /opt/IBM/ldap/V6.3.1/sbin/idsldif2db -r no -i /temp/rep3.ldif -I itimldap


    1.    

       
    Start the ISDS servers


    /opt/IBM/ldap/V6.3.1/sbin/ibmslapd -I itimldap


    1.    
    2.    
      Install ISIM and point to either ISDS server as the target. Give the peer ISDS server a few minutes after the ISIM install completes to catch up on all the replication entries.
         

    If you have existing data under suffix dc=com before the replication is set up, you need to export it. 


    /opt/IBM/ldap/V6.3.1/sbin/idsdb2ldif -I <INSTANCE_NAME> -o <OUTPUT FILE>


    Transfer the exported  ldif file to the destination server and import it into the ISDS instance.


    /opt/IBM/ldap/V6.3.1/sbin/idsldif2db -I <INSTANCE_NAME> -i <INPUT_FILE>



    ------------------------------
    Masa Imokawa
    Software Engineer
    IBM
    ------------------------------