SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
Novell Identity Manager
                 ®


Tips, Tricks and Best Practices


Glen Knutti
Consultant
TriVir LLC

David Wagstaff
Consultant
Novell
Tips and Tricks

    •   Use the Power of Regex
    •   Differentiate JDBC Driver Triggers
    •   Keep the JDBC Event Log Clean
    •   New Trace File Job
    •   Jobs: To Scope or Not to Scope?
    •   Disable Old Accounts Job
    •   Password Expiration Job
    •   Reciprocal Attribute Mapping



2   © Novell, Inc. All rights reserved.
Tips and Tricks

    •   Queries
    •   ECMAScript Errors Can Hang IDM 3.5.1
    •   Merge Cleaner
    •   Replace Rather Than Remove
    •   LDAP Credentials Auto-config
    •   Using dxcmd for Initial Migration
    •   Active Directory Driver – Line Feed
    •   Active Directory Driver – lockoutTime



3   © Novell, Inc. All rights reserved.
Scoping too much

                                          Quiz
    •   Subscriber Event Transformation
    •   You want to limit the operations on the subscriber
        channel—block deletes, perhaps




    •   This will block everything other than add and modify!

4   © Novell, Inc. All rights reserved.
Use the Power of Regex

    •   Challenge
          –   Some policy conditions can be quite lengthly




5   © Novell, Inc. All rights reserved.
Use the Power of Regex

    •   Solution
          –   Use regex to shorten the policy




6   © Novell, Inc. All rights reserved.
Differentiate JDBC Driver Triggers

    •   Challenge
          –   Simplify JDBC driver troubleshooting
          –   You've got multiple tables with triggers that feed the event
              log table, but some entries in the event log table are
              inserted improperly—from where is the problem coming?




7   © Novell, Inc. All rights reserved.
Differentiate JDBC Driver Triggers

    •   Solution
          –   Use different case in your table_key column to show from
              which trigger an insert came

                 INSERT INTO cop.event_log           INSERT INTO cop.event_log
                       (                                   (
                    record_id,                          record_id,
                    table_key,                          table_key,
                    event_type ,                        event_type ,
                    event_time ,                        event_time ,
                    table_name                          table_name
                       )                                   )
                       VALUES                              VALUES
                       (                                   (
                    cop.seq_log_record_idnextval,
                                         .              cop.seq_log_record_idnextval,
                                                                             .
                    'pk_EMPLOYEE=' |:old.employee
                                  |              ,      'pk_employee=' |:old.employee
                                                                      |              ,
                    6,                                  6,
                    sysdate,                            sysdate,
                    'cop.idv'                           'cop.idv'
                       );                                  );



8   © Novell, Inc. All rights reserved.
Differentiate JDBC Driver Triggers

    •   Solution
          –   Use different case in your table_key column to show from
              which trigger an insert came




9   © Novell, Inc. All rights reserved.
Event Transformation Policies

                                           Quiz
     •   Event transformation policies that attempt to operate on
         add events




     •   Unassociated modifies pass by & then turn into an add
     •   Watch those <sync> events that turn into adds later...

10   © Novell, Inc. All rights reserved.
Keeping the JDBC Event Log Clean

     •   Challenge

          –   JDBC event log is filling up with rows that have a
              status of warning
          –   These rows represent valid vetoes of events that
              didn't meet the create requirements

     •   Solution

          –   It's common to use a veto-if-operational-attribute
              'not available' action in a create or matching rule
          –   Review adds before the matching and create
              policies and veto events that don't meet criteria
11   © Novell, Inc. All rights reserved.
New Trace File Job

     •   Challenge
          –   For security, troubleshooting or audit purposes you want to
              maintain driver trace file contents for a long time (months)

     •   Solution
          –   Create a nightly job that triggers an update to the driver trace
              attribute value every night

          –   Be careful with your disk space!

          –   Extra Credit: Incorporate automated zipping of your trace files
              at the end of each week or month as part of the job/driver

12   © Novell, Inc. All rights reserved.
New Trace File Job




                                           ADDriver-2010-03-20.txt
                                           ADDriver-2010-03-21.txt
                                           ADDriver-2010-03-22.txt

13   © Novell, Inc. All rights reserved.
Jobs: To Scope or Not to Scope?
     •   Scoped job
          –   Trigger event for every object in scope
          –   Filter options are object classes for containers
          –   Driver must have trustee assignment to the scoped
              containers; can't use the Security Equals setting of driver
          –   Use in hierarchical structures
          –   Use to check all objects in a container
     •   Unscoped job
          –   Single trigger event—does nothing by itself
          –   Scope is configured in the ldapSearch ECMAScript
          –   An LDAP filter provides much more control
          –   Use in flat structures or for narrow result sets

14   © Novell, Inc. All rights reserved.
Disable Old Accounts Job

     •   Challenge
          –   If users haven't logged in for more than 180 days, you want
              to disable their accounts

     •   Solution
          –   Create a nightly job to search for users who haven't logged
              in for more than 180 days

          –   Disable or delete the account

          –   Optional: Send the user an email to inform them the
              account has been disabled

15   © Novell, Inc. All rights reserved.
Password Expiration Job

     •   Challenge

          –   Rather than rely on grace logins, you want users to change
              their password before the password expires

     •   Solution

          –   Create a nightly job to search for users whose passwords
              will expire in a specific number of days (30, 15, 7, 3, 1)

          –   Send an email notification




16   © Novell, Inc. All rights reserved.
Users, Groups and Referential Integrity

                                           Quiz
     •   You have policies to sync and manage both users and
         groups on a driver
     •   Delete a user
     •   eDirectory™ removes the user from a group
     •   The group modify event (remove member) may trigger
         code to update user and remove group membership
     •   But the user is gone and an error is thrown!


17   © Novell, Inc. All rights reserved.
Reciprocal Attribute Mapping

     •   Challenge
          –   Both the Group Membership attribute on users and
              the Member attribute on groups are sync'd
          –   You're processing everything twice!
          –   You may end up with referential integrity errors
     •   Solution
          –   Sync users or groups and use reciprocal attribute
              mappings so IDM can handle the referential integrity
              for you!


18   © Novell, Inc. All rights reserved.
Best Practices
Best Practices

     •   First write policies that work—then make them efficient,
          elegant, clever, etc.
     •   Use Designer
     •   Review the trace file
     •   Use consistent policy and variable naming
     •   Document your policy with a description
     •   Refine your methodology



20   © Novell, Inc. All rights reserved.
Identity Management Methodology

     •   Requirements Assessment
     •   Development
     •   Testing
     •   Deployment




21   © Novell, Inc. All rights reserved.
Requirements Assessment

     •   Create an Acceptance Criteria (AC) document
     •   Document each process as a single, testable unit
     •   Break down to unit/feature functionality
     •   Take the time to fill in all the details
     •   Keep your document up to date




22   © Novell, Inc. All rights reserved.
Acceptance Criteria Document

     1.1 New Employee is Hired
     A new employee is hired in the HR system.
     Preconditions
     The employee does not exist in the HR system.
     The employee does not exist in the Identity Vault.
     Action
     The employee is hired in the HR system.
     Results
     The employee is created in the Identity Vault.

23   © Novell, Inc. All rights reserved.
Development

     •   Create engineering estimates based on the AC doc
     •   Group the estimated work into iterations
     •   Create automated tests for each unit of functionality
          that you code
     •   Deliver iterations on regular basis to show progress,
          allow for manual testing and request feedback




24   © Novell, Inc. All rights reserved.
Testing

     •   Test initial migration process first!
     •   Automated testing will save you countless hours
     •   Write positive tests first and add relevant negative tests
          as appropriate
     •   Manual testing is still required to validate your
          automated tests




25   © Novell, Inc. All rights reserved.
Deployment

     •   Test your deployment process
     •   Retest your deployment process
     •   Test your deployment process again unless it was
          flawless last time
     •   Add tests for bugs found post-deployment so they will
          be avoided going forward




26   © Novell, Inc. All rights reserved.
Tips and Tricks

     •   Queries
     •   ECMAScript Errors Can Hang IDM 3.5.1
     •   Merge Cleaner
     •   Replace Rather Than Remove
     •   LDAP Credentials Auto-config
     •   Using dxcmd for Initial Migration
     •   Active Directory Driver – Line Feed
     •   Active Directory Driver – lockoutTime



27   © Novell, Inc. All rights reserved.
Queries

     •   Challenge
          –   Why does it take so long to process an event?

     •   Solution
          –   Check query times in the trace file

          –   Create indexes for attributes you query

          –   Avoid unnecessary queries
               >   Use Attribute instead of Source Attribute

               >   Query once for all the attributes you'll need in a policy

               >   Check for required create attributes before matching

28   © Novell, Inc. All rights reserved.
ECMAScript Hangs in IDM 3.5.1
     •   Challenge
          –   You've got a beautiful ECMAScript which simply hangs when
              you run it.
          –   The trace file shows that the function was called, but nothing
              happens after that.
     •   Solution
          –   There seems to be a bug in IDM 3.5.1 where exceptions are not
              handled properly—fixed in IDM 3.6.1
                                           function testExceptionWithTryCatch() {
                                              try {
                                               functionThatCausesAnException();
                                              } catch (e) {
                                                return e;
                                              }
                                              return "SUCCESS";
                                           }

29   © Novell, Inc. All rights reserved.
Adding and Modifying Associations

                                           Quiz
     •   You have a DTF, SOAP, Manual or Writeback driver
         and you're setting association values with policies
     •   An associated object ends up with another association
         via <add-association>
     •   You end up with two associations on that object which
         will produce two events when touched again
     •   Check for existing associations and use <modify-
         association> instead to replace the existing association

30   © Novell, Inc. All rights reserved.
Merge Cleaner

     •   Challenge
          –   During a merge on your Active Directory driver, a single
              error on an attribute will error out the whole event

     •   Solution
          –   Use a stylesheet to break up the merge event into discrete
              modify events




31   © Novell, Inc. All rights reserved.
Replace Rather than Remove

     •   Challenge
          –   When sending a modify to Active Directory, you attempt to
              remove an old value and add a new value, but the old
              value doesn't exist in Active Directory and the event errors
              out

     •   Solution
          –   Convert those <remove-value> <add-value> pairs into
              <remove-all-values> <add-value>
          –   Use a list GCV to make it easy to add and remove
              attributes as needed
          –   Works for single valued attributes ONLY!


32   © Novell, Inc. All rights reserved.
Replace Rather than Remove




33   © Novell, Inc. All rights reserved.
Driver Variable in a Stylesheet

                                           Quiz
     •   You've defined driver variable (as opposed to a policy
         variable) and want to reference it later in a stylesheet
     •   The stylesheet reference is right... $variableName
           <xsl:choose>
                 <xsl:when test=“$userDisabled = 'false'”>
     •   Code (-9061) Error processing XSLT policy: top-level
         variable 'userDisabled' was referenced but not defined
               <xsl:param name=“userDisabled”/>


34   © Novell, Inc. All rights reserved.
LDAP Credentials Auto-config

     •   Challenge
           –   You don't want to store LDAP credentials in your driver

     •   Solution
           –   Found on Novell Cool Solutions
                                           ®




           –   You could use named passwords, but you have to set
               those values each time the driver is imported or each time
               you move to a new environment or when the account
               password is updated

           –   Automagically leverage the credentials the driver is using
               to perform the operation; the assumption is the driver will
               have rights to any objects you want to read/modify/delete

35   © Novell, Inc. All rights reserved.
Using dxcmd for Initial Migration

     •   Challenge
          –   When 'connecting' existing objects as part of an initial
              migration, you want to minimize the churn of
              processing all application objects when only subset is
              needed
     •   Solution
           –   Use dxcmd and a query XSD to specify exactly
               which objects you want to migrate




36   © Novell, Inc. All rights reserved.
Using dxcmd for Initial Migration
     •   Query XDS
                       <nds dtdversion="3.5" ndsversion="8.x">
                        <input>
                         <query class-name="User" dest-dn="DC=abc,DC=edu" scope="subtree">
                           <search-class class-name="user"/>
                           <search-attr attr-name="extensionAttribute4"/>
                               <value>no</value>
                           </search-attr>
                           <search-attr attr-name="extensionAttribute8"/>
                               <value>no</value>
                           </search-attr>
                         </query>
                        </input>
                       </nds>

     •   Batch file
              dxcmd -user cn=admin,o=services -host localhost -password xxx -migrateapp
              “cn=NonEmployees,cn=Driver Set,ou=idm,o=services” file.txt



37   © Novell, Inc. All rights reserved.
One Change Breaks Something Else

                                           Quiz
     •   Everything is running great, but one more required
         change or update ends up breaking existing
         functionality in a totally unexpected way
     •   Use automated testing
           –   Allows you to define all the test cases

           –   Allows you to run and rerun test cases quickly and thoroughly

           –   IdMUnit at IdMUnit.org



38   © Novell, Inc. All rights reserved.
Active Directory Driver – Line feed
         Output - Street Address: Convert LF to CR-LF
     •   Bad




     •   “Suite 10n123 Elm Street” becomes “Suite 1n123 Elm Street”
     •   Sending rn doesn't work in Active Directory anyway
39   © Novell, Inc. All rights reserved.
Active Directory Driver – Line feed
         Output - Street Address: Convert LF to CR-LF
     •   Good




40   © Novell, Inc. All rights reserved.
Active Directory Driver – Line feed
         Input - streetAddress: Convert CR-LF to LF
     •   Bad




     •   The line feed is being removed, not the carriage return




41   © Novell, Inc. All rights reserved.
Active Directory Driver – Line feed
         Input - streetAddress: Convert CR-LF to LF
     •   Good




     •   Remove the carriage return, not the line feed




42   © Novell, Inc. All rights reserved.
Active Directory Driver - lockoutTime
         Can't set lockoutTime in AD
     •   Bad




     •   Can't set lockoutTime in AD, even with the proper time
          syntax



43   © Novell, Inc. All rights reserved.
Active Directory Driver - lockoutTime
         Can't set lockoutTime in AD
     •   Good




     •   Must lockout the AD user 'manually'




44   © Novell, Inc. All rights reserved.
Trends and Observations

     •   Using more null drivers
     •   Using more than one driver to the same application
          –   Different objects classes with different requirements
          –   Password Sync driver
     •   Increased need for automated testing
     •   IDM implementations are maturing
          –   More roles, governance and compliance starting
          –   More User Application
          –   More workflow

45   © Novell, Inc. All rights reserved.
Unpublished Work of Novell, Inc. All Rights Reserved.
This work is an unpublished work and contains confidential, proprietary, and trade secret information of Novell, Inc.
Access to this work is restricted to Novell employees who have a need to know to perform tasks within the scope
of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified,
translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of Novell, Inc.
Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.


General Disclaimer
This document is not to be construed as a promise by any participating company to develop, deliver, or market a
product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in
making purchasing decisions. Novell, Inc. makes no representations or warranties with respect to the contents
of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any
particular purpose. The development, release, and timing of features or functionality described for Novell products
remains at the sole discretion of Novell. Further, Novell, Inc. reserves the right to revise this document and to
make changes to its content, at any time, without obligation to notify any person or entity of such revisions or
changes. All Novell marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc.
in the United States and other countries. All third-party trademarks are the property of their respective owners.

Weitere ähnliche Inhalte

Was ist angesagt?

What's New with Linux on System z
What's New with Linux on System zWhat's New with Linux on System z
What's New with Linux on System zNovell
 
Integrating Novell Teaming within Your Existing Infrastructure
Integrating Novell Teaming within Your Existing InfrastructureIntegrating Novell Teaming within Your Existing Infrastructure
Integrating Novell Teaming within Your Existing InfrastructureNovell
 
My sql 5.6_replwebinar_may12
My sql 5.6_replwebinar_may12My sql 5.6_replwebinar_may12
My sql 5.6_replwebinar_may12Mat Keep
 
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2Jeroen Burgers
 
How Partners Are Helping Customers with Novell Teaming
How Partners Are Helping Customers with Novell TeamingHow Partners Are Helping Customers with Novell Teaming
How Partners Are Helping Customers with Novell TeamingNovell
 
Securing Your Endpoints Using Novell ZENworks Endpoint Security Management
Securing Your Endpoints Using Novell ZENworks Endpoint Security ManagementSecuring Your Endpoints Using Novell ZENworks Endpoint Security Management
Securing Your Endpoints Using Novell ZENworks Endpoint Security ManagementNovell
 
Building a Service-driven Enterprise Cloud
Building a Service-driven Enterprise CloudBuilding a Service-driven Enterprise Cloud
Building a Service-driven Enterprise CloudNovell
 
Integrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell TechnologiesIntegrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell TechnologiesNovell
 
Consolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization InitiativeConsolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization InitiativeNovell
 
The Very Very Latest in Database Development - Oracle Open World 2012
The Very Very Latest in Database Development - Oracle Open World 2012The Very Very Latest in Database Development - Oracle Open World 2012
The Very Very Latest in Database Development - Oracle Open World 2012Lucas Jellema
 
Migrate from Red Hat to SUSE Linux Enterprise Server
Migrate from Red Hat to SUSE Linux Enterprise ServerMigrate from Red Hat to SUSE Linux Enterprise Server
Migrate from Red Hat to SUSE Linux Enterprise ServerNovell
 
Conference tutorial: MySQL Cluster as NoSQL
Conference tutorial: MySQL Cluster as NoSQLConference tutorial: MySQL Cluster as NoSQL
Conference tutorial: MySQL Cluster as NoSQLSeveralnines
 
Migrating P2V: SUSE Linux Enterprise Server with Xen
Migrating P2V: SUSE Linux Enterprise Server with XenMigrating P2V: SUSE Linux Enterprise Server with Xen
Migrating P2V: SUSE Linux Enterprise Server with XenNovell
 
Virtualizing Mission-critical Workloads: The PlateSpin Story
Virtualizing Mission-critical Workloads: The PlateSpin StoryVirtualizing Mission-critical Workloads: The PlateSpin Story
Virtualizing Mission-critical Workloads: The PlateSpin StoryNovell
 
Installing and Configuring Novell Conferencing
Installing and Configuring Novell ConferencingInstalling and Configuring Novell Conferencing
Installing and Configuring Novell ConferencingNovell
 
Whd master deck_final
Whd master deck_final Whd master deck_final
Whd master deck_final Juergen Domnik
 
Archiving and e-Discovery for Novell GroupWise
Archiving and e-Discovery for Novell GroupWiseArchiving and e-Discovery for Novell GroupWise
Archiving and e-Discovery for Novell GroupWiseNovell
 
How LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scale
How LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scaleHow LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scale
How LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scaleLinkedIn
 
Novell Teaming: Automating Business Processes with Forms and Workflows
Novell Teaming: Automating Business Processes with Forms and WorkflowsNovell Teaming: Automating Business Processes with Forms and Workflows
Novell Teaming: Automating Business Processes with Forms and WorkflowsNovell
 

Was ist angesagt? (20)

What's New with Linux on System z
What's New with Linux on System zWhat's New with Linux on System z
What's New with Linux on System z
 
Integrating Novell Teaming within Your Existing Infrastructure
Integrating Novell Teaming within Your Existing InfrastructureIntegrating Novell Teaming within Your Existing Infrastructure
Integrating Novell Teaming within Your Existing Infrastructure
 
My sql 5.6_replwebinar_may12
My sql 5.6_replwebinar_may12My sql 5.6_replwebinar_may12
My sql 5.6_replwebinar_may12
 
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
 
How Partners Are Helping Customers with Novell Teaming
How Partners Are Helping Customers with Novell TeamingHow Partners Are Helping Customers with Novell Teaming
How Partners Are Helping Customers with Novell Teaming
 
Securing Your Endpoints Using Novell ZENworks Endpoint Security Management
Securing Your Endpoints Using Novell ZENworks Endpoint Security ManagementSecuring Your Endpoints Using Novell ZENworks Endpoint Security Management
Securing Your Endpoints Using Novell ZENworks Endpoint Security Management
 
Building a Service-driven Enterprise Cloud
Building a Service-driven Enterprise CloudBuilding a Service-driven Enterprise Cloud
Building a Service-driven Enterprise Cloud
 
Integrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell TechnologiesIntegrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell Technologies
 
Consolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization InitiativeConsolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization Initiative
 
The Very Very Latest in Database Development - Oracle Open World 2012
The Very Very Latest in Database Development - Oracle Open World 2012The Very Very Latest in Database Development - Oracle Open World 2012
The Very Very Latest in Database Development - Oracle Open World 2012
 
Migrate from Red Hat to SUSE Linux Enterprise Server
Migrate from Red Hat to SUSE Linux Enterprise ServerMigrate from Red Hat to SUSE Linux Enterprise Server
Migrate from Red Hat to SUSE Linux Enterprise Server
 
Conference tutorial: MySQL Cluster as NoSQL
Conference tutorial: MySQL Cluster as NoSQLConference tutorial: MySQL Cluster as NoSQL
Conference tutorial: MySQL Cluster as NoSQL
 
Migrating P2V: SUSE Linux Enterprise Server with Xen
Migrating P2V: SUSE Linux Enterprise Server with XenMigrating P2V: SUSE Linux Enterprise Server with Xen
Migrating P2V: SUSE Linux Enterprise Server with Xen
 
Virtualizing Mission-critical Workloads: The PlateSpin Story
Virtualizing Mission-critical Workloads: The PlateSpin StoryVirtualizing Mission-critical Workloads: The PlateSpin Story
Virtualizing Mission-critical Workloads: The PlateSpin Story
 
Installing and Configuring Novell Conferencing
Installing and Configuring Novell ConferencingInstalling and Configuring Novell Conferencing
Installing and Configuring Novell Conferencing
 
Whd master deck_final
Whd master deck_final Whd master deck_final
Whd master deck_final
 
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas JellemaAMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
 
Archiving and e-Discovery for Novell GroupWise
Archiving and e-Discovery for Novell GroupWiseArchiving and e-Discovery for Novell GroupWise
Archiving and e-Discovery for Novell GroupWise
 
How LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scale
How LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scaleHow LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scale
How LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scale
 
Novell Teaming: Automating Business Processes with Forms and Workflows
Novell Teaming: Automating Business Processes with Forms and WorkflowsNovell Teaming: Automating Business Processes with Forms and Workflows
Novell Teaming: Automating Business Processes with Forms and Workflows
 

Ähnlich wie Novell Identity Manager Tips, Tricks and Best Practices

Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...
Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...
Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...DataWorks Summit
 
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMayank Prasad
 
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...Preeya Selvarajah
 
제3회난공불락 오픈소스 인프라세미나 - MySQL Performance
제3회난공불락 오픈소스 인프라세미나 - MySQL Performance제3회난공불락 오픈소스 인프라세미나 - MySQL Performance
제3회난공불락 오픈소스 인프라세미나 - MySQL PerformanceTommy Lee
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)Andrew Morgan
 
Ebs dba con4696_pdf_4696_0001
Ebs dba con4696_pdf_4696_0001Ebs dba con4696_pdf_4696_0001
Ebs dba con4696_pdf_4696_0001jucaab
 
Web Application Release
Web Application ReleaseWeb Application Release
Web Application ReleasePiyush Mattoo
 
Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3Drupalcon Paris
 
Database as a Service (DBaaS) on Kubernetes
Database as a Service (DBaaS) on KubernetesDatabase as a Service (DBaaS) on Kubernetes
Database as a Service (DBaaS) on KubernetesObjectRocket
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance TuningMark Swarbrick
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestRodolfo Kohn
 
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...OracleMySQL
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2SolarWinds
 
Google Developer Days Brazil 2009 - Java Appengine
Google Developer Days Brazil 2009 -  Java AppengineGoogle Developer Days Brazil 2009 -  Java Appengine
Google Developer Days Brazil 2009 - Java AppenginePatrick Chanezon
 
Jee performance tuning existing applications
Jee performance tuning existing applicationsJee performance tuning existing applications
Jee performance tuning existing applicationsShivnarayan Varma
 
Upgrading to my sql 8.0
Upgrading to my sql 8.0Upgrading to my sql 8.0
Upgrading to my sql 8.0Ståle Deraas
 
EM12c Monitoring, Metric Extensions and Performance Pages
EM12c Monitoring, Metric Extensions and Performance PagesEM12c Monitoring, Metric Extensions and Performance Pages
EM12c Monitoring, Metric Extensions and Performance PagesEnkitec
 

Ähnlich wie Novell Identity Manager Tips, Tricks and Best Practices (20)

Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...
Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...
Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...
 
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
 
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
 
제3회난공불락 오픈소스 인프라세미나 - MySQL Performance
제3회난공불락 오픈소스 인프라세미나 - MySQL Performance제3회난공불락 오픈소스 인프라세미나 - MySQL Performance
제3회난공불락 오픈소스 인프라세미나 - MySQL Performance
 
Ioug oow12 em12c
Ioug oow12 em12cIoug oow12 em12c
Ioug oow12 em12c
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
 
Ebs dba con4696_pdf_4696_0001
Ebs dba con4696_pdf_4696_0001Ebs dba con4696_pdf_4696_0001
Ebs dba con4696_pdf_4696_0001
 
Web Application Release
Web Application ReleaseWeb Application Release
Web Application Release
 
Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3
 
Database as a Service (DBaaS) on Kubernetes
Database as a Service (DBaaS) on KubernetesDatabase as a Service (DBaaS) on Kubernetes
Database as a Service (DBaaS) on Kubernetes
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance Tuning
 
Resume
ResumeResume
Resume
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
 
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2
 
Google Developer Days Brazil 2009 - Java Appengine
Google Developer Days Brazil 2009 -  Java AppengineGoogle Developer Days Brazil 2009 -  Java Appengine
Google Developer Days Brazil 2009 - Java Appengine
 
Jee performance tuning existing applications
Jee performance tuning existing applicationsJee performance tuning existing applications
Jee performance tuning existing applications
 
Upgrading to my sql 8.0
Upgrading to my sql 8.0Upgrading to my sql 8.0
Upgrading to my sql 8.0
 
EM12c Monitoring, Metric Extensions and Performance Pages
EM12c Monitoring, Metric Extensions and Performance PagesEM12c Monitoring, Metric Extensions and Performance Pages
EM12c Monitoring, Metric Extensions and Performance Pages
 

Mehr von Novell

Filr white paper
Filr white paperFilr white paper
Filr white paperNovell
 
Social media class 4 v2
Social media class 4 v2Social media class 4 v2
Social media class 4 v2Novell
 
Social media class 3
Social media class 3Social media class 3
Social media class 3Novell
 
Social media class 2
Social media class 2Social media class 2
Social media class 2Novell
 
Social media class 1
Social media class 1Social media class 1
Social media class 1Novell
 
Social media class 2 v2
Social media class 2 v2Social media class 2 v2
Social media class 2 v2Novell
 
LinkedIn training presentation
LinkedIn training presentationLinkedIn training presentation
LinkedIn training presentationNovell
 
Twitter training presentation
Twitter training presentationTwitter training presentation
Twitter training presentationNovell
 
Getting started with social media
Getting started with social mediaGetting started with social media
Getting started with social mediaNovell
 
Strategies for sharing and commenting in social media
Strategies for sharing and commenting in social mediaStrategies for sharing and commenting in social media
Strategies for sharing and commenting in social mediaNovell
 
Information Security & Compliance in Healthcare: Beyond HIPAA and HITECH
Information Security & Compliance in Healthcare: Beyond HIPAA and HITECHInformation Security & Compliance in Healthcare: Beyond HIPAA and HITECH
Information Security & Compliance in Healthcare: Beyond HIPAA and HITECHNovell
 
Workload iq final
Workload iq   finalWorkload iq   final
Workload iq finalNovell
 
The Identity-infused Enterprise
The Identity-infused EnterpriseThe Identity-infused Enterprise
The Identity-infused EnterpriseNovell
 
Shining the Enterprise Light on Shades of Social
Shining the Enterprise Light on Shades of SocialShining the Enterprise Light on Shades of Social
Shining the Enterprise Light on Shades of SocialNovell
 
The New Business Value of Today’s Collaboration Trends
The New Business Value of Today’s Collaboration TrendsThe New Business Value of Today’s Collaboration Trends
The New Business Value of Today’s Collaboration TrendsNovell
 
Preventing The Next Data Breach Through Log Management
Preventing The Next Data Breach Through Log ManagementPreventing The Next Data Breach Through Log Management
Preventing The Next Data Breach Through Log ManagementNovell
 
Iaas for a demanding business
Iaas for a demanding businessIaas for a demanding business
Iaas for a demanding businessNovell
 
Workload IQ: A Differentiated Approach
Workload IQ: A Differentiated ApproachWorkload IQ: A Differentiated Approach
Workload IQ: A Differentiated ApproachNovell
 
Virtual Appliances: Simplifying Application Deployment and Accelerating Your ...
Virtual Appliances: Simplifying Application Deployment and Accelerating Your ...Virtual Appliances: Simplifying Application Deployment and Accelerating Your ...
Virtual Appliances: Simplifying Application Deployment and Accelerating Your ...Novell
 
IDC Says, Don't Move To The Cloud
IDC Says, Don't Move To The CloudIDC Says, Don't Move To The Cloud
IDC Says, Don't Move To The CloudNovell
 

Mehr von Novell (20)

Filr white paper
Filr white paperFilr white paper
Filr white paper
 
Social media class 4 v2
Social media class 4 v2Social media class 4 v2
Social media class 4 v2
 
Social media class 3
Social media class 3Social media class 3
Social media class 3
 
Social media class 2
Social media class 2Social media class 2
Social media class 2
 
Social media class 1
Social media class 1Social media class 1
Social media class 1
 
Social media class 2 v2
Social media class 2 v2Social media class 2 v2
Social media class 2 v2
 
LinkedIn training presentation
LinkedIn training presentationLinkedIn training presentation
LinkedIn training presentation
 
Twitter training presentation
Twitter training presentationTwitter training presentation
Twitter training presentation
 
Getting started with social media
Getting started with social mediaGetting started with social media
Getting started with social media
 
Strategies for sharing and commenting in social media
Strategies for sharing and commenting in social mediaStrategies for sharing and commenting in social media
Strategies for sharing and commenting in social media
 
Information Security & Compliance in Healthcare: Beyond HIPAA and HITECH
Information Security & Compliance in Healthcare: Beyond HIPAA and HITECHInformation Security & Compliance in Healthcare: Beyond HIPAA and HITECH
Information Security & Compliance in Healthcare: Beyond HIPAA and HITECH
 
Workload iq final
Workload iq   finalWorkload iq   final
Workload iq final
 
The Identity-infused Enterprise
The Identity-infused EnterpriseThe Identity-infused Enterprise
The Identity-infused Enterprise
 
Shining the Enterprise Light on Shades of Social
Shining the Enterprise Light on Shades of SocialShining the Enterprise Light on Shades of Social
Shining the Enterprise Light on Shades of Social
 
The New Business Value of Today’s Collaboration Trends
The New Business Value of Today’s Collaboration TrendsThe New Business Value of Today’s Collaboration Trends
The New Business Value of Today’s Collaboration Trends
 
Preventing The Next Data Breach Through Log Management
Preventing The Next Data Breach Through Log ManagementPreventing The Next Data Breach Through Log Management
Preventing The Next Data Breach Through Log Management
 
Iaas for a demanding business
Iaas for a demanding businessIaas for a demanding business
Iaas for a demanding business
 
Workload IQ: A Differentiated Approach
Workload IQ: A Differentiated ApproachWorkload IQ: A Differentiated Approach
Workload IQ: A Differentiated Approach
 
Virtual Appliances: Simplifying Application Deployment and Accelerating Your ...
Virtual Appliances: Simplifying Application Deployment and Accelerating Your ...Virtual Appliances: Simplifying Application Deployment and Accelerating Your ...
Virtual Appliances: Simplifying Application Deployment and Accelerating Your ...
 
IDC Says, Don't Move To The Cloud
IDC Says, Don't Move To The CloudIDC Says, Don't Move To The Cloud
IDC Says, Don't Move To The Cloud
 

Novell Identity Manager Tips, Tricks and Best Practices

  • 1. Novell Identity Manager ® Tips, Tricks and Best Practices Glen Knutti Consultant TriVir LLC David Wagstaff Consultant Novell
  • 2. Tips and Tricks • Use the Power of Regex • Differentiate JDBC Driver Triggers • Keep the JDBC Event Log Clean • New Trace File Job • Jobs: To Scope or Not to Scope? • Disable Old Accounts Job • Password Expiration Job • Reciprocal Attribute Mapping 2 © Novell, Inc. All rights reserved.
  • 3. Tips and Tricks • Queries • ECMAScript Errors Can Hang IDM 3.5.1 • Merge Cleaner • Replace Rather Than Remove • LDAP Credentials Auto-config • Using dxcmd for Initial Migration • Active Directory Driver – Line Feed • Active Directory Driver – lockoutTime 3 © Novell, Inc. All rights reserved.
  • 4. Scoping too much Quiz • Subscriber Event Transformation • You want to limit the operations on the subscriber channel—block deletes, perhaps • This will block everything other than add and modify! 4 © Novell, Inc. All rights reserved.
  • 5. Use the Power of Regex • Challenge – Some policy conditions can be quite lengthly 5 © Novell, Inc. All rights reserved.
  • 6. Use the Power of Regex • Solution – Use regex to shorten the policy 6 © Novell, Inc. All rights reserved.
  • 7. Differentiate JDBC Driver Triggers • Challenge – Simplify JDBC driver troubleshooting – You've got multiple tables with triggers that feed the event log table, but some entries in the event log table are inserted improperly—from where is the problem coming? 7 © Novell, Inc. All rights reserved.
  • 8. Differentiate JDBC Driver Triggers • Solution – Use different case in your table_key column to show from which trigger an insert came INSERT INTO cop.event_log INSERT INTO cop.event_log ( ( record_id, record_id, table_key, table_key, event_type , event_type , event_time , event_time , table_name table_name ) ) VALUES VALUES ( ( cop.seq_log_record_idnextval, . cop.seq_log_record_idnextval, . 'pk_EMPLOYEE=' |:old.employee | , 'pk_employee=' |:old.employee | , 6, 6, sysdate, sysdate, 'cop.idv' 'cop.idv' ); ); 8 © Novell, Inc. All rights reserved.
  • 9. Differentiate JDBC Driver Triggers • Solution – Use different case in your table_key column to show from which trigger an insert came 9 © Novell, Inc. All rights reserved.
  • 10. Event Transformation Policies Quiz • Event transformation policies that attempt to operate on add events • Unassociated modifies pass by & then turn into an add • Watch those <sync> events that turn into adds later... 10 © Novell, Inc. All rights reserved.
  • 11. Keeping the JDBC Event Log Clean • Challenge – JDBC event log is filling up with rows that have a status of warning – These rows represent valid vetoes of events that didn't meet the create requirements • Solution – It's common to use a veto-if-operational-attribute 'not available' action in a create or matching rule – Review adds before the matching and create policies and veto events that don't meet criteria 11 © Novell, Inc. All rights reserved.
  • 12. New Trace File Job • Challenge – For security, troubleshooting or audit purposes you want to maintain driver trace file contents for a long time (months) • Solution – Create a nightly job that triggers an update to the driver trace attribute value every night – Be careful with your disk space! – Extra Credit: Incorporate automated zipping of your trace files at the end of each week or month as part of the job/driver 12 © Novell, Inc. All rights reserved.
  • 13. New Trace File Job ADDriver-2010-03-20.txt ADDriver-2010-03-21.txt ADDriver-2010-03-22.txt 13 © Novell, Inc. All rights reserved.
  • 14. Jobs: To Scope or Not to Scope? • Scoped job – Trigger event for every object in scope – Filter options are object classes for containers – Driver must have trustee assignment to the scoped containers; can't use the Security Equals setting of driver – Use in hierarchical structures – Use to check all objects in a container • Unscoped job – Single trigger event—does nothing by itself – Scope is configured in the ldapSearch ECMAScript – An LDAP filter provides much more control – Use in flat structures or for narrow result sets 14 © Novell, Inc. All rights reserved.
  • 15. Disable Old Accounts Job • Challenge – If users haven't logged in for more than 180 days, you want to disable their accounts • Solution – Create a nightly job to search for users who haven't logged in for more than 180 days – Disable or delete the account – Optional: Send the user an email to inform them the account has been disabled 15 © Novell, Inc. All rights reserved.
  • 16. Password Expiration Job • Challenge – Rather than rely on grace logins, you want users to change their password before the password expires • Solution – Create a nightly job to search for users whose passwords will expire in a specific number of days (30, 15, 7, 3, 1) – Send an email notification 16 © Novell, Inc. All rights reserved.
  • 17. Users, Groups and Referential Integrity Quiz • You have policies to sync and manage both users and groups on a driver • Delete a user • eDirectory™ removes the user from a group • The group modify event (remove member) may trigger code to update user and remove group membership • But the user is gone and an error is thrown! 17 © Novell, Inc. All rights reserved.
  • 18. Reciprocal Attribute Mapping • Challenge – Both the Group Membership attribute on users and the Member attribute on groups are sync'd – You're processing everything twice! – You may end up with referential integrity errors • Solution – Sync users or groups and use reciprocal attribute mappings so IDM can handle the referential integrity for you! 18 © Novell, Inc. All rights reserved.
  • 20. Best Practices • First write policies that work—then make them efficient, elegant, clever, etc. • Use Designer • Review the trace file • Use consistent policy and variable naming • Document your policy with a description • Refine your methodology 20 © Novell, Inc. All rights reserved.
  • 21. Identity Management Methodology • Requirements Assessment • Development • Testing • Deployment 21 © Novell, Inc. All rights reserved.
  • 22. Requirements Assessment • Create an Acceptance Criteria (AC) document • Document each process as a single, testable unit • Break down to unit/feature functionality • Take the time to fill in all the details • Keep your document up to date 22 © Novell, Inc. All rights reserved.
  • 23. Acceptance Criteria Document 1.1 New Employee is Hired A new employee is hired in the HR system. Preconditions The employee does not exist in the HR system. The employee does not exist in the Identity Vault. Action The employee is hired in the HR system. Results The employee is created in the Identity Vault. 23 © Novell, Inc. All rights reserved.
  • 24. Development • Create engineering estimates based on the AC doc • Group the estimated work into iterations • Create automated tests for each unit of functionality that you code • Deliver iterations on regular basis to show progress, allow for manual testing and request feedback 24 © Novell, Inc. All rights reserved.
  • 25. Testing • Test initial migration process first! • Automated testing will save you countless hours • Write positive tests first and add relevant negative tests as appropriate • Manual testing is still required to validate your automated tests 25 © Novell, Inc. All rights reserved.
  • 26. Deployment • Test your deployment process • Retest your deployment process • Test your deployment process again unless it was flawless last time • Add tests for bugs found post-deployment so they will be avoided going forward 26 © Novell, Inc. All rights reserved.
  • 27. Tips and Tricks • Queries • ECMAScript Errors Can Hang IDM 3.5.1 • Merge Cleaner • Replace Rather Than Remove • LDAP Credentials Auto-config • Using dxcmd for Initial Migration • Active Directory Driver – Line Feed • Active Directory Driver – lockoutTime 27 © Novell, Inc. All rights reserved.
  • 28. Queries • Challenge – Why does it take so long to process an event? • Solution – Check query times in the trace file – Create indexes for attributes you query – Avoid unnecessary queries > Use Attribute instead of Source Attribute > Query once for all the attributes you'll need in a policy > Check for required create attributes before matching 28 © Novell, Inc. All rights reserved.
  • 29. ECMAScript Hangs in IDM 3.5.1 • Challenge – You've got a beautiful ECMAScript which simply hangs when you run it. – The trace file shows that the function was called, but nothing happens after that. • Solution – There seems to be a bug in IDM 3.5.1 where exceptions are not handled properly—fixed in IDM 3.6.1 function testExceptionWithTryCatch() { try { functionThatCausesAnException(); } catch (e) { return e; } return "SUCCESS"; } 29 © Novell, Inc. All rights reserved.
  • 30. Adding and Modifying Associations Quiz • You have a DTF, SOAP, Manual or Writeback driver and you're setting association values with policies • An associated object ends up with another association via <add-association> • You end up with two associations on that object which will produce two events when touched again • Check for existing associations and use <modify- association> instead to replace the existing association 30 © Novell, Inc. All rights reserved.
  • 31. Merge Cleaner • Challenge – During a merge on your Active Directory driver, a single error on an attribute will error out the whole event • Solution – Use a stylesheet to break up the merge event into discrete modify events 31 © Novell, Inc. All rights reserved.
  • 32. Replace Rather than Remove • Challenge – When sending a modify to Active Directory, you attempt to remove an old value and add a new value, but the old value doesn't exist in Active Directory and the event errors out • Solution – Convert those <remove-value> <add-value> pairs into <remove-all-values> <add-value> – Use a list GCV to make it easy to add and remove attributes as needed – Works for single valued attributes ONLY! 32 © Novell, Inc. All rights reserved.
  • 33. Replace Rather than Remove 33 © Novell, Inc. All rights reserved.
  • 34. Driver Variable in a Stylesheet Quiz • You've defined driver variable (as opposed to a policy variable) and want to reference it later in a stylesheet • The stylesheet reference is right... $variableName <xsl:choose> <xsl:when test=“$userDisabled = 'false'”> • Code (-9061) Error processing XSLT policy: top-level variable 'userDisabled' was referenced but not defined <xsl:param name=“userDisabled”/> 34 © Novell, Inc. All rights reserved.
  • 35. LDAP Credentials Auto-config • Challenge – You don't want to store LDAP credentials in your driver • Solution – Found on Novell Cool Solutions ® – You could use named passwords, but you have to set those values each time the driver is imported or each time you move to a new environment or when the account password is updated – Automagically leverage the credentials the driver is using to perform the operation; the assumption is the driver will have rights to any objects you want to read/modify/delete 35 © Novell, Inc. All rights reserved.
  • 36. Using dxcmd for Initial Migration • Challenge – When 'connecting' existing objects as part of an initial migration, you want to minimize the churn of processing all application objects when only subset is needed • Solution – Use dxcmd and a query XSD to specify exactly which objects you want to migrate 36 © Novell, Inc. All rights reserved.
  • 37. Using dxcmd for Initial Migration • Query XDS <nds dtdversion="3.5" ndsversion="8.x"> <input> <query class-name="User" dest-dn="DC=abc,DC=edu" scope="subtree"> <search-class class-name="user"/> <search-attr attr-name="extensionAttribute4"/> <value>no</value> </search-attr> <search-attr attr-name="extensionAttribute8"/> <value>no</value> </search-attr> </query> </input> </nds> • Batch file dxcmd -user cn=admin,o=services -host localhost -password xxx -migrateapp “cn=NonEmployees,cn=Driver Set,ou=idm,o=services” file.txt 37 © Novell, Inc. All rights reserved.
  • 38. One Change Breaks Something Else Quiz • Everything is running great, but one more required change or update ends up breaking existing functionality in a totally unexpected way • Use automated testing – Allows you to define all the test cases – Allows you to run and rerun test cases quickly and thoroughly – IdMUnit at IdMUnit.org 38 © Novell, Inc. All rights reserved.
  • 39. Active Directory Driver – Line feed Output - Street Address: Convert LF to CR-LF • Bad • “Suite 10n123 Elm Street” becomes “Suite 1n123 Elm Street” • Sending rn doesn't work in Active Directory anyway 39 © Novell, Inc. All rights reserved.
  • 40. Active Directory Driver – Line feed Output - Street Address: Convert LF to CR-LF • Good 40 © Novell, Inc. All rights reserved.
  • 41. Active Directory Driver – Line feed Input - streetAddress: Convert CR-LF to LF • Bad • The line feed is being removed, not the carriage return 41 © Novell, Inc. All rights reserved.
  • 42. Active Directory Driver – Line feed Input - streetAddress: Convert CR-LF to LF • Good • Remove the carriage return, not the line feed 42 © Novell, Inc. All rights reserved.
  • 43. Active Directory Driver - lockoutTime Can't set lockoutTime in AD • Bad • Can't set lockoutTime in AD, even with the proper time syntax 43 © Novell, Inc. All rights reserved.
  • 44. Active Directory Driver - lockoutTime Can't set lockoutTime in AD • Good • Must lockout the AD user 'manually' 44 © Novell, Inc. All rights reserved.
  • 45. Trends and Observations • Using more null drivers • Using more than one driver to the same application – Different objects classes with different requirements – Password Sync driver • Increased need for automated testing • IDM implementations are maturing – More roles, governance and compliance starting – More User Application – More workflow 45 © Novell, Inc. All rights reserved.
  • 46.
  • 47. Unpublished Work of Novell, Inc. All Rights Reserved. This work is an unpublished work and contains confidential, proprietary, and trade secret information of Novell, Inc. Access to this work is restricted to Novell employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of Novell, Inc. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability. General Disclaimer This document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. Novell, Inc. makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for Novell products remains at the sole discretion of Novell. Further, Novell, Inc. reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All Novell marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.