IDENTITY MIGRATION APPARATUS AND METHOD
An identity migration program provides interfaces for a user to manage operations for migrating locally-managed identities to centrally-managed identities. The provided interfaces include a project management interface, an identity selection interface, a migration rule editor interface, and a project scheduling interface. In certain embodiments, the identity migration program includes a communication module that provides interfaces for managing communication between the identity migration program and locally-managed and centrally-managed servers. Interfaces may also be provided to manage identity group migration and migration error resolution. A migration process management interface enables the user to halt, roll back, or resume a migration project.
This application claims priority to U.S. Provisional Patent Application No. 60/863,569 entitled “Identity Migration System Apparatus and Method” filed on 30 Oct. 2006 for Nikolay Vanyukhin, Alexey Korotich, and Oleg Shevnin. The aforementioned application is incorporated herein by reference.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to migrating network identities. Specifically, the invention relates to computer program products and methods for migrating network identities to a centralized management server.
2. Description of the Related Art
A single organization may have multiple computer networks. For example, a business may have a separate network for the Human Resources department, the Accounting department, and the Sales department. For a single user to log on to each network, the user must have a user identity registered with each network. As the number of network identities increases, so does the difficulty of managing the identities and the difficulty for each employee to remember their user identification information. Consequently, consolidating identities from multiple networks into a single management system is beneficial.
SUMMARY OF THE INVENTIONThe present invention has been developed in response to the present state of the art, and in particular, in response to the problems and needs in the art that have not yet been fully solved by currently available identity migration solutions. Accordingly, the present invention has been developed to provide an apparatus and a method to centralize identity management that overcome many or all of the above-discussed shortcomings in the art.
In one aspect of the present invention, a method to centralize identity management includes the operations of providing one or more interface controls, and receiving and validating data to enable a user to create a migration project, specify locally-managed identities to be migrated to centrally-managed identities, specify migration rules for the migration project, and specify a schedule for the migration project. The method also includes migrating the selected identities according to the specified rules and schedule. The method may also include the operation of providing a interface controls to modify the migration rules to resolve identity migration errors.
In certain embodiments, the method may include the operation of providing interface controls to enable a user to communicate an identity map to at least one server, specify accounts to be included in an account group, manually correct identity migration errors, and to halt, roll back, and resume a migration process.
In another aspect of the present invention, an apparatus to centralize identity management is presented. In certain embodiments, the apparatus includes a project management module that provides one or more interface controls that enable a user to create a migration project, and an identity selection module that provides one or more interface controls that enable a user to specify locally-managed identities to be migrated to centrally-managed identities. The apparatus also includes a migration rule editor control that provides interfaces to enable a user to specify migration rules for the project that specify how the locally-managed identities are to be migrated to centrally-managed identities. The migration rule editor may also enable the user to modify existing migration rules to resolve identity migration errors. The apparatus may also include a scheduling module that provides one or more interface controls that enable a user to schedule the migration project.
In certain embodiments, the apparatus includes a communication module that retrieves locally-managed identities from at least one server. The communication module may also provide an interface control that enables a user to communicate an identity map to one or more servers, and communicate the identity map to the specified server(s). The apparatus may also include a group management module that provides one or more interface controls that enable a user to specify accounts to be included in an account group, and an account mapping module that provides one or more interface controls that enable a user to manually correct identity migration errors. The apparatus may also include a migration process management module that provides interface controls that enables a user to halt a migration process, roll back a migration process, or resume a migration process.
It should be noted that reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present invention should be or are in any single embodiment of the invention. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, discussion of the features and advantages, and similar language, throughout this specification may, but do not necessarily, refer to the same embodiment.
Furthermore, the described features, advantages, and characteristics of the invention may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize that the invention can be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the invention.
In order that the advantages of the invention will be readily understood, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments that are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings, in which:
It will be readily understood that the components of the present invention, as generally described and illustrated in the Figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the apparatus and method of the present invention, as represented in the attached Figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention.
Many of the functional units described in this specification have been labeled as modules, in order to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like.
Modules may also be implemented in software for execution by various types of processors. An identified module of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the module and achieve the stated purpose for the module.
Indeed, a module of executable code could be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Similarly, operational data may be identified and illustrated herein within modules, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, merely as electronic signals on a system or network.
In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
The features, structures, or characteristics of the invention described throughout this specification may be combined in any suitable manner in one or more embodiments. For example, reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” or similar language throughout this specification do not necessarily all refer to the same embodiment and the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Turning now to the figures,
The project datastore 105 is the repository for data related to migration projects. In the depicted embodiment, the project datastore 105 is a database. In one embodiment, the project datastore 105 receives data from the communication module 140 that was received by the various modules of the identity migration program 100, whether entered by users or gathered from locally-managed or centrally-managed servers. In one embodiment, the project datastore 105 archives copies of identity migration maps distributed to locally-managed or centrally-managed servers.
The project management module 110 accepts input, validates the received data, and stores data associated with managing identity migration projects. In various embodiments, data collected by the project management module 110 includes a project name, a project description, and credentials for authenticating to source and target systems. The project management module 110 may receive project-related data from other modules of the identity migration program 100 to be stored in a project data store 105 or the like.
The identity selection module 120 facilitates selecting locally-managed identities to be migrated to centrally-managed identities. In one embodiment, the identity selection module 120 provides interface controls, and receives and validates input from the user directing the identity migration program 100 to search for locally-managed computers on a network and extract identity information from the computers. The identity selection module 120 may utilize the communication module 140 to fulfill the user requests, display identity data retrieved by the communication module 140, and accept input from the user to select identities to be migrated.
The scheduling module 130 facilitates scheduling of identity migration projects. In one embodiment, the scheduling module 130 provides interface controls to run an identity migration project immediately, at a specified time in the future, or on a periodic schedule. In one embodiment, the scheduling module 130 utilizes features of the host operating system to schedule the migration project. In another embodiment, the scheduling module 130 registers the project with a background (“daemon”) process that directs the execution module 180 to executes the scheduled migration project.
The communication module 140 manages communication between modules of the identity migration program 100 and various external entities. In one embodiment, the communication module 140 receives requests from the identity selection module 120 to retrieve identities from locally-managed computers specified by a user. In one embodiment, the communication module 140 receives identities from migration agents located on locally-managed systems. The communication module 140 may communicate an identity map to a server. In one embodiment, the communication module 140 displays an interface control that enables the user to select a server to which the identity map is to be communicated. In various embodiments, the communication module 140 retrieves data required by the various modules of the identity migration program 100, such as group membership data, identity attributes, resources associated with an identity, or the like. In various embodiments, the communication module 140 may communicate identity maps to migration agents on locally-managed or centrally-managed servers. The communication module 140 may also communicate with an external database configured to store migration project data.
The group management module 150 provides an interface control that enables the user to specify locally-managed accounts to be migrated to centrally-managed account groups. In one embodiment, the group management module 150 migrates locally-managed account groups to centrally-managed account groups in an automated process not requiring direct user input. One skilled in the art, however, will recognize that identity groups are conceptually different in various identity management and directory services systems, and identity group migration is best accomplished with user input. For example, Active Directory groups are hierarchical and different permissions can be granted at different nesting levels. UNIX groups cannot be nested. Active Directory groups have security identities (SID) that are guaranteed to be unique across an enterprise. The UNIX group ID (GID) is an integer that can easily coincide with the IDs of groups in other source repositories.
The account mapping module 160 provides an interface control to manually correct identity migration errors. Application of identity migration rules may result in multiple accounts belonging to the same person with different IDs, or identities belonging to multiple users may be migrated to the same account. When many of these identity migration errors occur, the most efficient approach may be to modify identity migration rules to produce fewer migration errors. When few migration errors occur, the most efficient approach may be to manually correct the errors and map locally-managed identities to the correct centrally-managed identities. In one embodiment, the account mapping module 160 displays a list of locally-managed identities and the centrally-managed identities to which they are mapped. The account mapping module 160 may also provide interface controls to unmap a locally-managed identity from a centrally-managed identity and remap it to a different identity or to create a new identity to which to map it.
The migration process management module 170 provides interface controls that enable the user to monitor and control the status of migration projects. In one embodiment, the migration process management module 170 provides a control to enable the user to specify conditions that cause the migration process to be interrupted. The user may then check the progress of the migration project and execute other programs to perform necessary operations not performed by the identity migration program 100. The migration process management module 170 then provides a control to resume the migration project. In one embodiment, the migration process management module 170 provides controls to verify, commit, or roll back a migration project.
The execution module 180 executes the migration project according to the migration rules and schedule specified for the project. In one embodiment, the execution module comprises processes distributed among various computing components within an enterprise, such as locally-managed servers, a migration server, and centrally-managed servers.
In various embodiments, the identity migration project management interface 200 is implemented as a wizard or a single dialog with controls such as drop-down menus, text boxes, radio buttons, check boxes, combo boxes, or the like. In the embodiment depicted in
In the embodiment depicted in
In the embodiment depicted in
In the embodiment of the identity migration scheduling interface 500 depicted in
The depicted embodiment of the identity migration process control 600 enables the user to monitor and control the progress of a migration project. The migration map verification status control 610 displays the status of identities being migrated. The halt migration condition control 620 enables the user to specify conditions that cause the migration process to be interrupted. The user may then check the progress of the migration project and execute other programs to perform necessary operations not performed by the identity migration program 100. The user may then use the resume migration control 630 to resume execution of the migration project. The depicted embodiment includes a migration map verification control 640, a commit migration map control 650, and a migration rollback control 660 to respectively verify, commit, or roll back operation of the migration project.
In the depicted embodiment, the user may utilize the group selection control 710 to map locally-managed UNIX groups to centrally-managed Active Directory groups. When the group mappings have been specified, the user may activate the group migration rule execution control 720 to apply the specified rule set.
In the depicted embodiment, the rule list control 820 displays the migration rules included in the migration project, in the order in which they are to be executed. The user may select rules from the list and change the order in which they are to be executed using the rule execution order control 810. When the rules are in the desired order, the user may execute the migration rules by activating the rule execution control 830. By modifying the order in which rules are applied, the migration project can be adjusted to yield fewer identity migration errors.
The user may utilize the depicted embodiment of the manual identity mapping interface to manually correct identity migration errors in an identity migration project. The user may search for locally-managed identities using the identity selection control 910. Discovered identities are displayed in the identity list control 920. Group membership may be preserved by selecting options in the identity group control 940. When the identity mapping is complete, the user may add the specified identity mappings by activating the identity map completion control 930.
In the depicted embodiment of the identity migration method 1000, the specified controls are displayed to gather the associated parameters for the identity migration project. Although the operation of the identity migration method 1000 are displayed in a sequential order, the user may enter the required information in any order, so long as all the required parameters are entered before the migrate identities operation 1050 is executed by the execution module 180 or the like.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims
1. A computer readable medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform operations to migrate locally-managed identities to centrally-managed identities, the operations comprising:
- providing at least one interface control that enables a user to create a migration project;
- providing at least one interface control that enables a user to specify locally-managed identities to be migrated to centrally-managed identities;
- providing at least one interface control that enables a user to specify a plurality of migration rules for the migration project;
- providing at least one interface control that enables a user to specify a migration schedule for the migration project; and
- executing the migration rules according to the migration schedule.
2. The invention of claim 1, further comprising providing at least one interface control that enables a user to communicate an identity map to at least one server.
3. The invention of claim 1, further comprising providing at least one interface control that enables a user to specify accounts to be included in an account group.
4. The invention of claim 1, further comprising providing at least one interface control that enables a user to modify a migration rule to resolve identity migration errors.
5. The invention of claim 1, further comprising providing at least one interface control that enables a user to manually correct an identity migration error.
6. The invention of claim 1, further comprising providing at least one interface control that enables a user to halt a migration process specified by the migration project.
7. The invention of claim 1, further comprising providing at least one interface control that enables a user to roll back a migration process specified by the migration project.
8. The invention of claim 1, further comprising providing at least one interface control that enables a user to resume a migration process specified by the migration project.
9. An apparatus to centralize identity management, the apparatus comprising:
- a project management module configured to provide at least one interface control that enables a user to create a migration project;
- an identity selection module configured to provide at least one interface control that enables a user to specify locally-managed identities to be migrated to centrally-managed identities and associate the locally-managed identities with the migration project;
- a migration rule editor configured to provide at least one interface control that enables a user to specify a plurality of migration rules for the migration project;
- a scheduling module configure to provide at least one interface control that enables a user to specify a migration schedule and associate the migration schedule with the migration project; and
- an execution module configured to execute the migration schedule according to the plurality of migration rules and the migration schedule.
10. The invention of claim 9, further comprising a communication module configured to:
- retrieve locally-managed identities from at least one server;
- provide at least one interface control that enables a user to communicate an identity map to at least one server; and
- communicate an identity map to at least one server in response to user activation of the at least one interface control.
11. The invention of claim 9, further comprising a group management module configured to provide at least one interface control that enables a user to specify accounts to be included in an account group.
12. The invention of claim 9, wherein the migration rule editor is further configured to provide at least one interface control that enables a user to modify a migration rule to resolve identity migration errors.
13. The invention of claim 9, further comprising an account mapping module configured to provide at least one interface control that enables a user to manually correct an identity migration error.
14. The invention of claim 9, further comprising a migration process management module configured to provide at least one interface control that enables a user to halt a migration process specified by the migration project.
15. The invention of claim 14, wherein the migration process management module is further configured to provide at least one interface control that enables a user to roll back a migration process specified by the migration project.
16. The invention of claim 14, wherein the migration process management module is further configured to provide at least one interface control that enables a user to resume a migration process specified by the migration project.
17. A method to migrate locally-managed identities to centrally-managed identities, the method comprising:
- providing at least one interface control that enables a user to create a migration project;
- providing at least one interface control that enables a user to specify locally-managed identities to be migrated to centrally-managed identities;
- providing at least one interface control that enables a user to specify a plurality of migration rules for the migration project;
- providing at least one interface control that enables a user to specify a migration schedule for the migration project; and
- executing the migration rules according to the migration schedule.
Type: Application
Filed: Oct 30, 2007
Publication Date: May 1, 2008
Patent Grant number: 8086710
Inventors: NIKOLAY VANYUKHIN (St.-Petersburg), Oleg Shevnin (St.-Petersburg), Alexey Korotich (St.-Petersburg)
Application Number: 11/928,887
International Classification: G06F 15/173 (20060101);