Guide to installing and evaluating ForgeRock® Identity Management software. This software offers flexible services for automating management of the identity life cycle.
ForgeRock Identity Platform™ is the only offering for access management, identity management, user-managed access, directory services, and an identity gateway, designed and built as a single, unified platform.
The platform includes the following components that extend what is available in open source projects to provide fully featured, enterprise-ready software:
ForgeRock Access Management (AM)
ForgeRock Identity Management (IDM)
ForgeRock Directory Services (DS)
ForgeRock Identity Gateway (IG)
ForgeRock Identity Message Broker (IMB)
1. About This Guide
This guide shows you how to install and get started with ForgeRock Identity Management software.
This guide is written for identity management developers and administrators who build, deploy, and maintain ForgeRock Identity Management services for their organizations. This guide covers the tasks you need to quickly get ForgeRock Identity Management software running on your system.
As you read this guide, you will see how ForgeRock Identity Management software reconciles customer identity data to ensure accurate information across disparate resources within an organization.
You will also read about what ForgeRock Identity Management software can do in the areas of provisioning, self-service workflows, and password management. You will see how ForgeRock Identity Management software can connect to a variety of remote data stores, with links to detailed documentation.
For example, engineers might access their systems through Active Directory accounts. Those same engineers might need to update their information in a Human Resources database, stored in a separate LDAP directory. With ForgeRock Identity Management software, you can keep those user identities synchronized, so each engineer only has to update their data once.
2. Accessing Documentation Online
ForgeRock publishes comprehensive documentation online:
The ForgeRock Knowledge Base offers a large and increasing number of up-to-date, practical articles that help you deploy and manage ForgeRock software.
While many articles are visible to community members, ForgeRock customers have access to much more, including advanced information for customers using ForgeRock software in a mission-critical capacity.
ForgeRock product documentation, such as this document, aims to be technically accurate and complete with respect to the software documented. It is visible to everyone and covers all product features and examples of how to use them.
3. Using the ForgeRock.org Site
The ForgeRock.org site has links to source code for ForgeRock open source software, as well as links to the ForgeRock forums and technical blogs.
If you are a ForgeRock customer, raise a support ticket instead of using the forums. ForgeRock support professionals will get in touch to help you.
Chapter 1. Getting Started With IDM
Whenever you need access to important information, administrators need to know who you are. They need to know your identity, which may be distributed in multiple accounts.
As a user, you might have several accounts even within your own company, for functions such as:
Engineering, Support, Accounting, and other functions
Each of these accounts may be stored in different resources, such as DS, Active Directory, OpenLDAP, and more. Keeping track of user identities in each of these resources (also known as data stores) can get complex. IDM simplifies the process, as it reconciles differences between resources.
With situational policies, IDM can handle discrepancies such as a missing or updated address for a specific user. The server includes default but configurable policies to handle such conditions. In this way, consistency and predictability is ensured, in an otherwise chaotic resource environment.
IDM can make it easier to track user identities across these resources. IDM has a highly scalable, modular, readily deployable architecture that can help you manage workflows and user information.
1.1. What Can You Do With IDM?
This software allows you to simplify the management of identity, as it can help you synchronize data across multiple resources. Each organization can maintain control of accounts within their respective domains.
IDM works equally well with user, group, and device identities.
You can also configure workflows to help users manage how they sign up for accounts, as part of how IDM manages the life cycle of users and their accounts.
You can manage employee identities as they move from job to job. You will make their lives easier as their user accounts can be registered on different systems automatically. Later, IDM can increase productivity when it reconciles information from different accounts, saving users the hassle of entering the same information on different systems.
1.2. What You Will See In This Document
In this guide, you will see how IDM reconciles user data between two data stores. We will look at a department that is adding a third engineer, Jane Sanchez.
Your Human Resources department has updated their data store with Jane Sanchez's information. You want to use IDM to update the internal Engineering data store. But first, you have to start IDM.
1.3. What You Need Before Starting
This section covers what you need to have on your system before running IDM:
Operating System: Windows or UNIX/Linux.
Java: Java Runtime Environment (JRE) Standard Edition (Java SE) 8. Alternatively, you can use the same version of the Java Development Kit (JDK). On Linux, you may also install the OpenJDK package native to your updated Linux distribution.
At least 10 GB of free disk space.
At least 1 GB of free RAM.
If your operating system includes a firewall, make sure that it allows traffic through (default) ports 8080 and 8443.
Note that this Getting Started document is provided for demonstration purposes only.
The aim of this document is to make it as easy as possible to set up a demonstration of IDM software. To that end, the document has been written for installations on a desktop operating system not supported by ForgeRock, Microsoft Windows 7.
For a list of software that ForgeRock supports in production, see Chapter 2, "Before You Install" in the Release Notes. The details in the Release Notes supersede any information shown in this guide.
1.3.1. Java Environment
On Windows systems, after installing Java, set the
JAVA_HOME environment variable. To do so on Windows 7,
take the following steps:
Locate your JRE or JDK installation directory. For a default installation of Java 8 on Windows 7, you should find the directory here:
Select Start > Control Panel > System and Security > Advanced System Settings to open a System Properties window.
Select Advanced > Environment Variables.
Set the value of
JAVA_HOMEto match the JRE or JDK installation directory.
These changes are applied the next time you log in or open a new command line console such as PowerShell.
1.4. Downloading and Starting the Server
This procedure assumes that you are starting IDM as a regular
(not administrative) user named
Download IDM from the ForgeRock BackStage site. The ForgeRock BackStage site provides access to ForgeRock releases. These releases are thoroughly validated for ForgeRock customers who run the software in production deployments, and for those who want to try or test a given release.
Extract the contents of the IDM binary file to your user's
Downloadsdirectory. The process should unpack the contents to the
Navigate to the
In Microsoft Windows, use Windows Explorer to navigate to the
getting-started(.bat)file. Do not select the
getting-started.shfile, as that is intended for use on UNIX/Linux systems.
In Linux/UNIX, open a command-line interface and run the following commands:
$ cd /home/user/Downloads/openidm $ ./getting-started.sh
You should see the following message:
-> OpenIDM ready
When the server is ready, you can administer it from a web browser. To do so,
https://localhost:8443/admin. If you have
installed the server on a remote system, substitute that hostname or IP
In production, you should connect to IDM via the default secure port, 8443, and import a signed certificate into the truststore, as discussed in Section 21.1, "Accessing IDM Keys and Certificates" in the Integrator's Guide.
Until you install that certificate, you will see a warning in your browser at least the first time you access IDM over a secure port.
The default username and password for the IDM Administrator is
When you log into IDM at a URL with the
/admin endpoint, you are logging into the Administrative
User Interface, also known as the Admin UI.
The default password for the administrative user,
To protect your deployment in production, change this password.
All users, including
openidm-admin, can change their
password through the Self-Service UI, at
https://localhost:8443/. Once logged in, click
Profile > Password.
1.5. The Getting Started Data Files
In a production deployment, you can have any number of external data stores, such as Active Directory and ForgeRock Directory Services (DS). For illustration purposes, this guide uses two simple static files as external data stores:
hr.csvrepresents the Human Resources data store. It is in CSV format, commonly used to share data between spreadsheet applications.
engineering.csvrepresents the Engineering data store. It is also in CSV format.
You can find these files in the binary package that you downloaded earlier,
in the following subdirectory:
Chapter 2. Reconciling Identity Data
Now that you have installed IDM with a "Getting Started" configuration, you will learn how information is reconciled between two data stores.
While the reconciliation demonstrated in this guide uses two simplified data files, you can set up the same operations at an enterprise level on a variety of resources.
Return to the situation described earlier, where you have Jane Sanchez joining the engineering department. The following illustration depicts what must be done to reconcile the differences.
2.1. Reconciling Information Between Data Stores
A central feature of IDM is reconciliation - comparing the contents of two data stores and deciding what to do, depending on the differences.
This scenario is based on two data files:
hr.csv, which represents the Human Resources data store
engineering.csv, which represents the Engineering data store
Reconciliation modifies the Engineering data store by adding the newly hired Jane Sanchez. As suggested by the following illustration, it will also address detailed differences between Jane's Human Resources account and the Engineering data store.
This sample includes configuration files that map detailed information from
the Human Resources data store to the Engineering data store. For example,
the configuration maps the
firstName entry in Human
Resources to the
firstname entry in Engineering.
Mapping between data stores may require additional configuration. You should
provisioner.openicf-*.json files in the
subdirectory. The provisioner files configure connections to external
resources, such as Active Directory, ForgeRock Directory Services (DS)
or even the
files used in this guide. For more information, see Chapter 15, "Connecting to External Resources" in the Integrator's Guide.
In the Admin UI, you can see how the different categories are reconciled for
user Jane Sanchez. Log in to the Admin UI at
https://localhost:8443/admin. The default username is
openidm-admin and default password is
Select Configure > Mappings >
HumanResources_Engineering > Edit.
In the Sample source preview text box, enter
Sanchez. You should see a drop-down entry for Jane Sanchez
that you can select. You should now see how IDM would reconcile
Jane Sanchez's entry from the (source) Human Resources data store into the
(target) Engineering data store.
Scroll back up the same page. Select Reconcile.
When you reconcile the two data stores, IDM makes the change to the Engineering data store.
For those of you who prefer the command-line interface, you can see how
the mapping works in the
sync.json file, in the
2.2. Reconciling Identity Data After One Update
Now that you have used IDM to reconcile two data stores, try something else. Assume the Engineering organization wants to overwrite all user telephone numbers in its employee data store with one central telephone number.
For this purpose, you can set up a default telephone number for the next reconciliation:
On the HumanResources_Engineering mapping page, select the Properties tab and expand the Attributes Grid.
In the TARGET column, select the row that contains the
Select the Default Values tab and enter a default number:
When you select Update, and Save, IDM changes the
sync.json configuration file. The next time you run a
reconciliation from Human Resources to Engineering, the default telephone
number will be included for all employees in the Engineering group.
Chapter 3. Where To Go From Here
IDM can do much more than reconcile data between two different sources. In this chapter, you will read about the key product features, with links to additional information about each feature.
3.1. Integrating Business Processes and Workflows
A business process begins with an objective and includes a well-defined sequence of tasks to meet that objective. IDM allows you to configure many of these tasks as self-service workflows, such as self-registration, new user onboarding, and account certification.
You can also automate many of these tasks as a workflow.
Once you configure the right workflows, a newly hired engineer can log into IDM and request access to manufacturing information.
That request is sent to the appropriate manager for approval. Once approved, IDM provisions the new engineer with access to manufacturing.
3.2. Managing Passwords
You can manage passwords from the Self-Service User Interface, also known as the Self-Service UI. From the Admin UI, select the icon in the upper-right corner. In the menu that appears, choose Self-Service:
You should now be in the Self-Service UI. In the Dashboard, select Change Password. You can now change your password, subject to the following minimum number of characters:
Length ≥ 8
Capital letters ≥ 1
Numbers ≥ 1
IDM supports robust password policies. You can modify policies such as the following:
Elements that should not be a part of a password, such as a family name
Password expiration dates
Password histories, to prevent password reuse
For more information, including details on how you can configure these policies, see Chapter 19, "Managing Passwords" in the Integrator's Guide.
3.3. Managing User Roles
Some users need accounts on multiple systems. For example, insurance agents may also have insurance policies with the company that they work for. In that situation, the insurance agent is also a customer of the company.
Alternatively, a salesperson may also test customer engineering scenarios. That salesperson may also need access to engineering systems.
Each of these user scenarios is known as a role. You can set up a consolidated set of attributes associated with each role. To do so, you would configure custom roles to assign to selected users. For example, you may assign both insured and agent roles to an agent, while assigning the insured role to all customers.
In a similar fashion, you can assign both sales and engineering roles to the sales engineer.
You can then synchronize users with those roles into appropriate data stores.
For more information, see Chapter 11, "Working With Managed Roles" in the Integrator's Guide. For a sample of how you can configure external roles, see Chapter 16, "Provisioning With Roles" in the Samples Guide.
3.4. Connecting to Remote Data Stores
IDM can connect to a substantial variety of user and device data stores, on premise and in the cloud. A number of specific connectors are provided, allowing you to connect to those dedicated data stores. In addition, you can connect to many more data stores using a scripted connector framework.
Connectors are provided for a number of external resources, including:
Google Web Applications (see Chapter 12, "Google Apps Connector" in the Connector Reference).
Salesforce (see Chapter 14, "Salesforce Connector" in the Connector Reference).
CSV Files (see Chapter 3, "CSV File Connector" in the Connector Reference).
Database Tables (see Chapter 4, "Database Table Connector" in the Connector Reference).
For a full list, see Section 1.1, "Connectors Supported With IDM 6.0.0" in the Connector Reference.
If the resource that you need is not on the list, you should be able to use one of the scripted connector frameworks to connect to that resource:
For connectors associated with Microsoft Windows, IDM includes a PowerShell Connector Toolkit that you can use to provision a variety of Microsoft services, including but not limited to Active Directory, SQL Server, Microsoft Exchange, SharePoint, Azure Active Directory, and Office 365. For more information, see Chapter 5, "PowerShell Connector Toolkit" in the Connector Reference. IDM includes sample PowerShell Connector configurations, described in Chapter 20, "Connecting to Active Directory With the PowerShell Connector" in the Samples Guide and in Chapter 21, "Connecting to Azure AD With the PowerShell Connector" in the Samples Guide.
For other external resources, IDM includes a Groovy Connector Toolkit that allows you to run Groovy scripts to interact with any external resource. For more information, see Chapter 6, "Groovy Connector Toolkit" in the Connector Reference.
For sample implementations of the scripted Groovy connector, see Chapter 18, "Connecting to DS With ScriptedREST" in the Samples Guide and Chapter 19, "Connecting to DS With ScriptedCREST" in the Samples Guide.
IDM supports reconciliation between two data stores, as a source and a target.
In identity management, reconciliation compares the contents of objects in different data stores, and makes decisions based on configurable policies.
For example, if you have an application that maintains its own user store, IDM can ensure your canonical directory attributes are kept up to date by reconciling their values as they are changed.
For more information, see Chapter 16, "Synchronizing Data Between Resources" in the Integrator's Guide.
3.6. Available Authentication Modules
Several different authentication modules are supplied to help you protect your systems. For more information, see Section 20.1.2, "Supported Authentication and Session Modules" in the Integrator's Guide.
3.7. Finding Additional Use Cases
IDM is a lightweight and highly customizable identity management product.
The documentation includes a number of additional use cases. Most of these are known as Samples, and are described in Chapter 1, "Overview of the Samples" in the Samples Guide.
3.8. How ForgeRock Identity Management Can Help Your Organization
Now that you have seen how IDM can help you manage users, review the features that IDM can bring to your organization:
Web-Based Administrative User Interface
Configure IDM with the Web-Based Administrative User Interface. You can configure many major server components without ever touching a text configuration file.
User self-service features can streamline onboarding, account certification, new user registration, username recovery, and password reset. The self-service features are built upon a BPMN 2.0-compliant workflow engine.
Registration With Social Identities
Users can now register new accounts using information from social identity providers, including Google, Facebook, and LinkedIn. If you configure access through more than one social identity provider, users can select and manage the providers they use. You can also synchronize user information with marketing databases.
For more information, see Chapter 12, "Configuring Social Identity Providers" in the Integrator's Guide.
Create and manage users based on attributes such as organizational need, job function, and geographic location.
Choose the desired backend database for your deployment. IDM supports MySQL, Microsoft SQL Server, Oracle Database, IBM DB2, and PostgreSQL. For the supported versions of each database, see Chapter 2, "Before You Install" in the Release Notes.
Set up fine-grained control of passwords to ensure consistent password policies across all applications and data stores. Supports separate passwords per external resource.
Logging, Auditing, and Reporting
IDM logs all activity, internally and within connected systems. With such logs, you can track information for access, activity, authentication, configuration, reconciliation, and synchronization.
Access to External Resources
IDM can access a generic scripted connector that allows you to set up communications with many external data stores.
3.9. Stopping and Removing the Software
Follow these steps to stop and remove IDM.
To stop IDM, return to the console window where you saw the following message:
-> OpenIDM ready
Press Return, and enter the following command:
IDM is self-contained. After you shut down the server, you can choose to delete the files in the
/path/to/openidmdirectory. There are no artifacts in system registries or elsewhere.
We hope that you want to continue exploring IDM.
To do so, review the documentation available on ForgeRock's BackStage site.