Red Hat Enterprise Linux 9 Migrating To Identity Management On Rhel 9
Red Hat Enterprise Linux 9 Migrating To Identity Management On Rhel 9
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons
Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is
available at
http://creativecommons.org/licenses/by-sa/3.0/
. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must
provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert,
Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift,
Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States
and other countries.
Linux ® is the registered trademark of Linus Torvalds in the United States and other countries.
XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States
and/or other countries.
MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and
other countries.
Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the
official Joyent Node.js open source or commercial project.
The OpenStack ® Word Mark and OpenStack logo are either registered trademarks/service marks
or trademarks/service marks of the OpenStack Foundation, in the United States and other
countries and are used with the OpenStack Foundation's permission. We are not affiliated with,
endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
Abstract
Red Hat only supports Identity Management (IdM) on Red Hat Enterprise Linux (RHEL). If you run
IdM on RHEL 8 or an LDAP directory, you can migrate these solutions to IdM on RHEL 9.
Table of Contents
Table of Contents
. . . . . . . . . .OPEN
MAKING . . . . . . SOURCE
. . . . . . . . . .MORE
. . . . . . .INCLUSIVE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . . . .
. . . . . . . . . . . . . FEEDBACK
PROVIDING . . . . . . . . . . . . ON
. . . .RED
. . . . .HAT
. . . . .DOCUMENTATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . . . . .
. . . . . . .I.. MIGRATING
PART . . . . . . . . . . . . . IDM
. . . . .FROM
. . . . . . .RHEL
. . . . . .8. .TO
. . . RHEL
......9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. . . . . . . . . . . . .
.CHAPTER
. . . . . . . . . . 1.. .MIGRATING
. . . . . . . . . . . . .YOUR
. . . . . . IDM
. . . . .ENVIRONMENT
. . . . . . . . . . . . . . . . .FROM
. . . . . . RHEL
. . . . . . .8. .SERVERS
. . . . . . . . . .TO
. . . RHEL
. . . . . . .9. SERVERS
. . . . . . . . . . . . . . . . . . . 6. . . . . . . . . . . . .
1.1. PREREQUISITES FOR MIGRATING IDM FROM RHEL 8 TO 9 7
1.2. INSTALLING THE RHEL 9 REPLICA 9
1.3. ASSIGNING THE CA RENEWAL SERVER ROLE TO THE RHEL 9 IDM SERVER 11
1.4. STOPPING CRL GENERATION ON A RHEL 8 IDM CA SERVER 12
1.5. STARTING CRL GENERATION ON THE NEW RHEL 9 IDM CA SERVER 12
1.6. STOPPING AND DECOMMISSIONING THE RHEL 8 SERVER 13
. . . . . . . . . . . 2.
CHAPTER . . UPGRADING
. . . . . . . . . . . . . .AN
. . . .IDM
. . . . CLIENT
. . . . . . . . FROM
. . . . . . . RHEL
. . . . . . .8. TO
. . . .RHEL
. . . . . . 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
..............
. . . . . . .II.. .MIGRATING
PART . . . . . . . . . . . . .TO
. . . IDM
. . . . .FROM
. . . . . . .EXTERNAL
. . . . . . . . . . . .SOURCES
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
..............
. . . . . . . . . . . 3.
CHAPTER . . MIGRATING
. . . . . . . . . . . . . TO
. . . .IDM
. . . . ON
. . . . RHEL
. . . . . . .9. FROM
. . . . . . . FREEIPA
. . . . . . . . . .ON
. . . .NON-RHEL
. . . . . . . . . . . .LINUX
. . . . . . .DISTRIBUTIONS
. . . . . . . . . . . . . . . . . . . . . . 17
..............
.CHAPTER
. . . . . . . . . . 4.
. . .MIGRATING
. . . . . . . . . . . . FROM
. . . . . . . AN
. . . .LDAP
. . . . . . DIRECTORY
. . . . . . . . . . . . . TO
. . . .IDM
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
..............
4.1. CONSIDERATIONS IN MIGRATING FROM LDAP TO IDM 19
4.2. PLANNING THE CLIENT CONFIGURATION WHEN MIGRATING FROM LDAP TO IDM 19
4.2.1. Initial, pre-migration client configuration 20
4.2.2. Recommended configuration for RHEL clients 20
4.2.3. Alternative supported configuration 21
4.3. PLANNING PASSWORD MIGRATION WHEN MIGRATING FROM LDAP TO IDM 22
4.3.1. Methods for migrating passwords when migrating LDAP to IdM 23
4.3.2. Planning the migration of cleartext LDAP passwords 23
4.3.3. Planning the migration of LDAP passwords that do not meet the IdM requirements 24
4.4. FURTHER MIGRATION CONSIDERATIONS AND REQUIREMENTS 24
4.4.1. LDAP servers supported for migration 24
4.4.2. LDAP environment requirements for migration 24
4.4.3. IdM system requirements for migration 25
4.4.4. User and group ID numbers 25
4.4.5. Considerations about sudo rules 26
4.4.6. LDAP to IdM migration tools 26
4.4.7. Improving LDAP to IdM migration performance 26
4.4.8. LDAP to IdM migration sequence 27
4.5. CUSTOMIZING THE MIGRATION FROM LDAP TO IDM 27
4.5.1. Examples of customizing the Bind DN and Base DN during the migration from LDAP to IdM 28
4.5.2. The migration of specific subtrees 28
4.5.3. The inclusion and exclusion of entries 29
4.5.4. The exclusion of entry attributes 30
4.5.5. The schema to use when migrating from LDAP to IdM and the schema compat feature 30
4.6. MIGRATING AN LDAP SERVER TO IDM 31
4.7. MIGRATING FROM LDAP TO IDM OVER SSL 34
1
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
2
MAKING OPEN SOURCE MORE INCLUSIVE
The word master is being replaced with more precise language, depending on the context:
3
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
4. Enter your suggestion for improvement in the Description field. Include links to the relevant
parts of the documentation.
4
PART I. MIGRATING IDM FROM RHEL 8 TO RHEL 9
5
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
WARNING
For more information about adding a RHEL 9 IdM replica in FIPS mode to a
RHEL 8 IdM deployment in FIPS mode, see the Identity Management
section in Considerations in adopting RHEL 9 .
After upgrading your IdM replica to RHEL 9.2, the IdM Kerberos Distribution
Centre (KDC) might fail to issue ticket-granting tickets (TGTs) to users
who do not have Security Identifiers (SIDs) assigned to their accounts.
Consequently, the users cannot log in to their accounts.
To work around the problem, generate SIDs by running # ipa config-mod --
enable-sid --add-sids as an IdM administrator on another IdM replica in the
topology. Afterward, if users still cannot log in, examine the Directory
Server error log. You might have to adjust ID ranges to include user POSIX
identities.
This section describes how to migrate all Identity Management (IdM) data and configuration from a
Red Hat Enterprise Linux (RHEL) 8 server to a RHEL 9 server.
1. Configuring a RHEL 9 IdM server and adding it as a replica to your current RHEL 8 IdM
environment. For details, see Installing the RHEL 9 Replica .
2. Making the RHEL 9 server the certificate authority (CA) renewal server. For details, see
Assigning the CA renewal server role to the RHEL 9 IdM server .
3. Stopping the generation of the certificate revocation list (CRL) on the RHEL 8 server and
redirecting CRL requests to the RHEL 9 replica. For details, see Stopping CRL generation on a
RHEL 8 IdM CA server.
6
CHAPTER 1. MIGRATING YOUR IDM ENVIRONMENT FROM RHEL 8 SERVERS TO RHEL 9 SERVERS
4. Starting the generation of the CRL on the RHEL 9 server. For details, see Starting CRL
generation on the new RHEL 9 IdM CA server.
5. Stopping and decommissioning the original RHEL 8 CA renewal server. For details, see
Stopping and decommissioning the RHEL 8 server .
rhel9.example.com is the RHEL 9 system that will become the new CA renewal server.
rhel8.example.com is the original RHEL 8 CA renewal server. To identify which Red Hat
Enterprise Linux 8 server is the CA renewal server, run the following command on any IdM
server:
If your IdM deployment does not use an IdM CA, any IdM server running on RHEL 8 can be
rhel8.example.com.
NOTE
Complete the steps in the following sections only if your IdM deployment uses an
embedded certificate authority (CA):
IMPORTANT
If you are migrating to RHEL 9.0, do not update to a newer version than RHEL
8.6. Migrating from RHEL 8.7 is only supported for RHEL 9.1.
7
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
WARNING
When two or more servers are upgraded simultaneously or with only short
intervals between the upgrades, there is not enough time to replicate the
post-upgrade data changes throughout the topology, which can result in
conflicting replication events.
On rhel9.example.com:
1. The latest version of Red Hat Enterprise Linux is installed on the system. For more information,
see Performing a standard RHEL 9 installation .
2. Ensure the system is an IdM client enrolled into the domain for which rhel8.example.com IdM
server is authoritative. For more information, see Installing an IdM client: Basic scenario .
3. Ensure the system meets the requirements for IdM server installation. See Preparing the
system for IdM server installation.
5. Ensure the system is authorized for the installation of an IdM replica. See Authorizing the
installation of a replica on an IdM client.
Additional resources
To decide which server roles you want to install on the new IdM primary server,
rhel9.example.com, see the following links:
For details on the CA server role in IdM, see Planning your CA services .
For details on the DNS server role in IdM, see Planning your DNS services and host names .
For details on integration based on cross-forest trust between an IdM and Active Directory
(AD), see Indirect integration.
To be able to install specific server roles for IdM in RHEL 9, you need to download packages
from specific IdM repositories: Installing packages required for an IdM server .
To upgrade a system from RHEL 8 to RHEL 9, see Upgrading from RHEL 8 to RHEL 9 .
8
CHAPTER 1. MIGRATING YOUR IDM ENVIRONMENT FROM RHEL 8 SERVERS TO RHEL 9 SERVERS
2. (Optional) If you want to use the same per-server forwarders for rhel9.example.com that
rhel8.example.com is using, view the per-server forwarders for rhel8.example.com:
3. Install the IdM server software on rhel9.example.com to configure it as a replica of the RHEL 8
IdM server, including all the server roles present on rhel8.example.com. To install the roles from
the example above, use these options with the ipa-replica-install command:
--setup-dns and --forwarder to configure an integrated DNS server and set a per-server
forwarder to take care of DNS queries that go outside the IdM domain
NOTE
You do not need to specify the RHEL 8 IdM server itself because if DNS is working
9
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
You do not need to specify the RHEL 8 IdM server itself because if DNS is working
correctly, rhel9.example.com will find it using DNS autodiscovery.
4. (Optional) Add an _ntp._udp service (SRV) record for your external NTP time server to the
DNS of the newly-installed IdM server, rhel9.example.com. The presence of the SRV record for
the time server in IdM DNS ensures that future RHEL 9 replica and client installations are
automatically configured to synchronize with the time server used by rhel9.example.com. This
is because ipa-client-install looks for the _ntp._udp DNS entry unless --ntp-server or --ntp-
pool options are provided on the install command-line interface (CLI).
Verification
2. Verify that server roles for rhel9.example.com are the same as for rhel8.example.com:
3. (Optional) Display details about the replication agreement between rhel8.example.com and
rhel9.example.com:
rhel8.example.com
last init status: None
last init ended: 1970-01-01 00:00:00+00:00
last update status: Error (0) Replica acquired successfully: Incremental update succeeded
last update ended: 2019-02-13 13:55:13+00:00
4. (Optional) If your IdM deployment is in a trust relationship with AD, verify that it is working:
10
CHAPTER 1. MIGRATING YOUR IDM ENVIRONMENT FROM RHEL 8 SERVERS TO RHEL 9 SERVERS
Additional resources
NOTE
Complete these steps only if your IdM deployment uses an embedded certificate
authority (CA).
ca.certStatusUpdateInterval=0
11
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
NOTE
Complete the steps in this section only if your IdM deployment uses an embedded
certificate authority (CA).
This section describes how to stop generating the Certificate Revocation List (CRL) on the
rhel8.example.com CA server using the ipa-crlgen-manage command.
Prerequisites
Procedure
The rhel8.example.com server stopped generating the CRL. The next step is to enable generating the
CRL on rhel9.example.com.
12
CHAPTER 1. MIGRATING YOUR IDM ENVIRONMENT FROM RHEL 8 SERVERS TO RHEL 9 SERVERS
NOTE
Complete these steps only if your IdM deployment uses an embedded certificate
authority (CA).
Prerequisites
Procedure
Verification steps
13
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
2. Stop all IdM services on rhel8.example.com to force domain discovery to the new
rhel9.example.com server.
After this, the ipa utility will contact the new server through a remote procedure call (RPC).
3. Remove the RHEL 8 server from the topology by executing the removal commands on the
RHEL 9 server. For details, see Uninstalling an IdM server .
14
CHAPTER 2. UPGRADING AN IDM CLIENT FROM RHEL 8 TO RHEL 9
15
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
16
CHAPTER 3. MIGRATING TO IDM ON RHEL 9 FROM FREEIPA ON NON-RHEL LINUX DISTRIBUTIONS
WARNING
IMPORTANT
Because the use of the SHA-1 algorithm is disabled in the DEFAULT system-wide
cryptographic policy in RHEL 9, multiple known issues might arise if a RHEL 9 system is
used in the same IdM deployment as a non-RHEL-9 system. For details, see:
IMPORTANT
After upgrading your IdM replica to RHEL 9.2, the IdM Kerberos Distribution Centre
(KDC) might fail to issue ticket-granting tickets (TGTs) to users who do not have
Security Identifiers (SIDs) assigned to their accounts. Consequently, the users cannot log
in to their accounts.
To work around the problem, generate SIDs by running # ipa config-mod --enable-sid --
add-sids as an IdM administrator on another IdM replica in the topology. Afterward, if
users still cannot log in, examine the Directory Server error log. You might have to adjust
ID ranges to include user POSIX identities.
Prerequisites
On the RHEL 9 system:
1. The latest version of Red Hat Enterprise Linux is installed on the system. For more information,
see Performing a standard RHEL 9 installation .
2. Ensure the system is an IdM client enrolled into the domain for which the FreeIPA server is
authoritative. For more information, see Installing an IdM client: Basic scenario .
3. Ensure the system meets the requirements for IdM server installation. See Preparing the
system for IdM server installation.
17
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
4. Ensure the system is authorized for the installation of an IdM replica. See Authorizing the
installation of a replica on an IdM client.
1. Ensure you know the time server that the system is synchronized with:
Procedure
1. To perform the migration, follow the same procedure as Migrating your IdM environment from
RHEL 8 servers to RHEL 9 servers, with your non-RHEL FreeIPA CA replica acting as the RHEL
8 server:
a. Configure a RHEL 9 server and add it as an IdM replica to your current FreeIPA environment
on the non-RHEL Linux distribution. For details, see Installing the RHEL 9 Replica .
b. Make the RHEL 9 replica the certificate authority (CA) renewal server. For details, see
Assigning the CA renewal server role to the RHEL 9 IdM server .
c. Stop generating the certificate revocation list (CRL) on the non-RHEL server and redirect
CRL requests to the RHEL 9 replica. For details, see Stopping CRL generation on a RHEL 8
IdM CA server.
d. Start generating the CRL on the RHEL 9 server. For details, see Starting CRL generation on
the new RHEL 9 IdM CA server.
e. Stop and decommission the original non-RHEL FreeIPA CA renewal server. For details, see
Stopping and decommissioning the RHEL 8 server .
Additional resources
18
CHAPTER 4. MIGRATING FROM AN LDAP DIRECTORY TO IDM
Transferring user accounts, including passwords and group membership, without losing data.
The migration process described here assumes a simple deployment scenario with one namespace in
LDAP and one in IdM. For more complex environments, such as those with multiple namespaces or
custom schemas, contact the Red Hat support services.
Migrating the clients. Plan this stage carefully. Determine which services each client in your
current infrastructure uses. These may include for example Kerberos or Systems Security
Services Daemon (SSSD). Then determine which of these services you can use in the final IdM
deployment. See Planning the client configuration when migrating from LDAP to IdM for more
information.
Migrating the passwords. Plan this stage carefully. IdM requires Kerberos hashes for every user
account in addition to passwords. Some of the considerations and migration paths for
passwords are covered in Planning password migration when migrating from LDAP to IdM .
You can first migrate the server part and then the clients or first the clients and then the server. For
more information about the two types of migration, see LDAP to IdM migration sequence .
IMPORTANT
It is strongly recommended that you set up a test LDAP environment and test the
migration process before attempting to migrate the real LDAP environment. When
testing the environment, do the following:
1. Create a test user in IdM and compare the output of migrated users to that of
the test user. Ensure that the migrated users contain the minimal set of
attributes and object classes present on the test user.
2. Compare the output of migrated users, as seen on IdM, to the source users, as
seen on the original LDAP server. Ensure that imported attributes are not copied
twice and that they have the correct values.
19
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
IMPORTANT
Most environments have a mixture of different ways in which clients connect to the IdM
domain. Administrators must decide which scenario is best for each individual client.
The initial state for almost all LDAP deployments that are to be migrated is that there is an LDAP
service providing identity and authentication services.
Linux and Unix clients use the PAM_LDAP and NSS_LDAP libraries to connect directly to the LDAP
services. These libraries allow clients to retrieve user information from the LDAP directory as if the data
were stored in /etc/passwd or /etc/shadow. In real life, the infrastructure may be more complex if a
client uses LDAP for identity lookups and Kerberos for authentication or other configurations.
There are structural differences between an LDAP directory and an Identity Management (IdM) server,
particularly in schema support and the structure of the directory tree. For more background on those
differences, see the Contrasting IdM with a Standard LDAP Directory section from the Planning the
client configuration when migrating from LDAP to IdM. Those differences may impact data, especially
with the directory tree, which affects entry names. However, the differences have little impact on the
client configuration and on migrating clients to IdM.
NOTE
The client configuration described is only supported for RHEL 6.1 and later and RHEL 5.7
later, which support the latest versions of SSSD and the ipa-client package. Older
versions of RHEL can be configured as described in Alternative supported configuration .
The System Security Services Daemon (SSSD) in Red Hat Enterprise Linux (RHEL) uses special PAM
and NSS libraries, pam_sss and nss_sss. Using these libraries, SSSD can integrate very closely with
Identity Management (IdM) and benefit from its full authentication and identity features. SSSD has a
number of useful features, such as caching identity information so that users can log in even if the
connection to the central server is lost.
Unlike generic LDAP directory services that use the pam_ldap and nss_ldap libraries, SSSD establishes
relationships between identity and authentication information by defining domains. A domain in SSSD
defines the following back end functions:
20
CHAPTER 4. MIGRATING FROM AN LDAP DIRECTORY TO IDM
Authentication
Identity lookups
Access
Password changes
The SSSD domain is then configured to use a provider to supply the information for any one, or all, of
these functions. The domain configuration always requires an identity provider. The other three
providers are optional; if an authentication, access, or password provider is not defined, then the identity
provider is used for that function.
SSSD can use IdM for all of its back end functions. This is the ideal configuration because it provides the
full range of IdM functionality, unlike generic LDAP identity providers or Kerberos authentication. For
example, during daily operation, SSSD enforces host-based access control rules and security features in
IdM.
The ipa-client-install script automatically configures SSSD to use IdM for all its back end services, so
that RHEL clients are set up with the recommended configuration by default.
Additional information
If it is not possible to use a modern version of SSSD on a system, then clients can be configured in the
following way:
The client connects to the IdM server as if it were an LDAP directory server for identity lookups,
by using nss_ldap.
The client connects to the IdM server as if it were a regular Kerberos KDC, by using pam_krb5.
For more information about configuring a RHEL client with an older version of SSSD to use the IdM
server as its identity provider and its Kerberos authentication domain, see the Configuring identity and
authentication providers for SSSD section of the RHEL 7 System-Level Authentication Guide.
It is generally best practice to use the most secure configuration possible for a client. This means SSSD
or LDAP for identities and Kerberos for authentication. However, for some maintenance situations and
IT structures, you may need to resort to the simplest possible scenario: configuring LDAP to provide
both identity and authentication by using the nss_ldap and pam_ldap libraries on the clients.
IMPORTANT
By default, users cannot authenticate to the IdM domain or access IdM resources until
they have Kerberos hashes - even if the user accounts already exist. One workaround
is available: using LDAP authentication in IdM instead of Kerberos authentication. With
this workaround, Kerberos hashes are not required for users. However, this
workaround limits the capabilities of IdM and is not recommended.
The following sections explain how to migrate users and their passwords:
22
CHAPTER 4. MIGRATING FROM AN LDAP DIRECTORY TO IDM
Using SSSD
Planning the migration of LDAP passwords that do not meet the IdM requirements
Tell users to enter their LDAP credentials once into a special page in the IdM Web UI,
https://ipaserver.example.com/ipa/migration. A script running in the background then captures the
clear text password and properly updates the user account with the password and an appropriate
Kerberos hash.
Mitigate the user impact of the migration by using the System Security Services Daemon (SSSD) to
generate the required user keys. For deployments with a lot of users or where users should not be
burdened with password changes, this is the best scenario.
Workflow
3. Even though the user exists in the system, the authentication fails with the error key type is not
supported because the Kerberos hashes do not exist yet.
5. IdM intercepts this bind request. If the user has a Kerberos principal but no Kerberos hashes,
then the IdM identity provider generates the hashes and stores them in the user entry.
6. If authentication is successful, SSSD disconnects from IdM and tries Kerberos authentication
again. This time, the request succeeds because the hash exists in the entry.
With method 2, the entire process is invisible to the users. They log in to a client service without noticing
that their password has been moved from LDAP to IdM.
When users are migrated from the LDAP server to the IdM server, their cleartext passwords are not
migrated over because IdM does not allow cleartext passwords. Instead, a Kerberos principal is created
for each user, the keytab is set to true, and the password is set as expired. This means that IdM requires
23
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
the user to reset the password at the next login. For more information, see Planning the migration of
LDAP passwords that do not meet the IdM requirements.
4.3.3. Planning the migration of LDAP passwords that do not meet the IdM
requirements
If user passwords in the original directory do not meet the password policies defined in
Identity Management (IdM), the passwords become invalid after the migration.
Password reset is done automatically the first time a user attempts to obtain a Kerberos ticket-granting
ticket (TGT) in the IdM domain by entering kinit. The user is forced to change his or her password:
OpenLDAP
Migration from an LDAP server to IdM has been tested with Red Hat Directory Server and OpenLDAP.
NOTE
Migration using the migration script is not supported for Microsoft Active Directory
because it is not an LDAPv3-compliant directory. For assistance with migrating from
Active Directory, contact Red Hat Professional Services.
A single LDAP directory domain is being migrated to one IdM realm. No consolidation is
involved.
A user password is stored as a hash in the LDAP directory. For a list of supported hashes, see
24
CHAPTER 4. MIGRATING FROM AN LDAP DIRECTORY TO IDM
the Password Storage Schemes section in the Configuration, Command, and File Reference title
available in the Red Hat Directory Server 10 section of Red Hat Directory Server
Documentation.
The LDAP directory instance is both the identity store and the authentication method. Client
machines are configured to use the pam_ldap or nss_ldap library to connect to the LDAP
server.
Entries use only the standard LDAP schema. Entries that contain custom object classes or
attributes are not migrated to IdM.
Those containing an sn attribute. The attribute is required by the person object class.
4 cores
4GB of RAM
A SASL buffer size of 2MB, which is the default for an IdM server
In case of migration errors, increase the buffer size:
dn: cn=config
changetype: modify
replace: nsslapd-sasl-max-buffer-size
nsslapd-sasl-max-buffer-size: 4194304
Additional resources
25
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
No overlap exists between UIDs and GIDs on the LDAP server and existing UIDs or GIDs on the
RHEL system or IdM deployment.
The migrated LDAP UIDs and GIDs fit into the IdM ID range.
Additional resources
The IdM server must be configured to run in migration mode, and then the migration script can be used.
For details, see Migrating an LDAP server to IdM .
The nsslapd-cachememsize attribute, which defines the size allowed for the entry cache. This
is a buffer that is automatically set to 80% of the total cache memory size. For large import
operations, you can increase this parameter and possibly the memory cache itself. This increase
will improve the efficiency of the directory service in handling a large number of entries or
entries with large attributes.
For details on how to modify the attribute using the dsconf command, see Adjusting the entry
cache size.
The system ulimit configuration option sets the maximum number of allowed processes for a
system user. Processing a large database can exceed the limit. If this happens, increase the
value:
Additional resources
26
CHAPTER 4. MIGRATING FROM AN LDAP DIRECTORY TO IDM
IMPORTANT
Both the client-first and server-first migrations provide a general migration procedure,
but they may not work in every environment. Set up a test LDAP environment and test
the migration process before attempting to migrate the real LDAP environment.
Client-first migration
SSSD is used to change the client configuration while an Identity Management (IdM) server is
configured:
1. Deploy SSSD.
2. Reconfigure clients to connect to the current LDAP server and then fail over to IdM.
4. Migrate the user data using the IdM ipa migrate-ds script. This exports the data from the
LDAP directory, formats for the IdM schema, and then imports it into IdM.
5. Take the LDAP server offline and allow clients to fail over to IdM transparently.
Server-first migration
The LDAP to IdM migration comes first:
2. Migrate the user data using the IdM ipa migrate-ds script. This exports the data from the
LDAP directory, formats it for the IdM schema, and then imports it into IdM.
4. Reconfigure clients to connect to IdM. It is not possible to simply replace the LDAP server.
The IdM directory tree — and therefore user entry DNs — is different from the previous
directory tree.
While it is required that clients must be reconfigured, clients do not need to be reconfigured
immediately. Updated clients can point to the IdM server while other clients point to the old
LDAP directory, allowing a reasonable testing and transition phase after the data are
migrated.
NOTE
Do not run both an LDAP directory service and the IdM server for very long in
parallel. This introduces the risk of user data becoming inconsistent between
the two services.
27
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
Identity Management (IdM) using the ipa migrate-ds command. Without additional options, the
command takes the LDAP URL of the directory to migrate and exports the data based on common
default settings.
You can customize the migration process and how data is identified and exported by using different ipa
migrate-ds command options. Customize the migration if your LDAP directory tree has a unique
structure or if you know you must exclude certain entries or attributes within entries.
4.5.1. Examples of customizing the Bind DN and Base DN during the migration from
LDAP to IdM
Use the ipa migrate-ds command to migrate from LDAP to Identity Management (IdM). Without
additional options, the command takes the LDAP URL of the directory to migrate and exports the data
based on common default settings. The following are examples of modifying the default settings:
Additional resources
Many deployments may have an entirely different directory structure or you may only want to export
certain parts of the original directory tree. As an administrator, you can use the following options to
specify the RDN of a different user or group subtree on the source LDAP server:
--user-container
--group-container
NOTE
28
CHAPTER 4. MIGRATING FROM AN LDAP DIRECTORY TO IDM
NOTE
In both cases, the subtree must be a relative distinguished name (RDN) and must be
relative to the base DN. For example, you can migrate the
>ou=Employees,dc=example,dc=com directory tree by using --user-
container=ou=Employees.
For example:
Optionally, add the --scope option to the ipa migrate-ds command to set the scope:
subtree: Entries in the specified container and all subcontainers are migrated.
In some migration paths, only specific types of users and groups may need to be exported, or,
alternatively, specific users and groups may need to be excluded. You can select which types of users
and groups to include by setting which object classes to search for when looking for user or group
entries.
This option is particularly useful when you use custom object classes for different user types. For
example, the following command migrates only users with the custom fullTimeEmployee object class:
Because of the different types of groups, this is also very useful for migrating only certain types of
groups, such as user groups, while excluding other types of groups, like certificate groups. For example:
Specifying user and group entries to migrate based on object class implicitly excludes all other users
and groups from migration.
Alternatively, it can be useful to migrate all user and group entries except for just a small handful of
entries. You can exclude specific user or group accounts while migrating all others of that type. For
example, this excludes only a hobbies group and two users:
Exclude statements are applied to users matching the pattern in the uid and to groups matching it in the
cn attribute.
29
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
You can migrate a general object class but exclude specific entries of that class. For example, this
specifically includes users with the fullTimeEmployee object class, yet excludes three managers:
You can ignore specific object classes and attributes by using the following options with the migrate-ds
command:
--user-ignore-objectclass
--user-ignore-attribute
--group-ignore-objectclass
--group-ignore-attribute
For example, to exclude the userCertificate attribute and strongAuthenticationUser object class for
users and the groupOfCertificates object class for groups:
NOTE
Make sure not to ignore any required attributes. Also, when excluding object classes,
make sure to exclude any attributes that only that object class supports.
Additional resources
4.5.5. The schema to use when migrating from LDAP to IdM and the schema compat
feature
Identity Management (IdM) uses the RFC2307bis schema to define user, host, host group, and other
network identities. However, if the LDAP server used as the source for the migration uses the RFC2307
schema instead, specify the --schema option with the ipa migrate-ds command:
Alternatively, IdM has a built-in schema compat feature that allows IdM to reformat data for systems
that do not support RFC2307bis. The compat plugin is enabled by default, which means that the
30
CHAPTER 4. MIGRATING FROM AN LDAP DIRECTORY TO IDM
directory server computes an alternate view of the users and groups and provides this view in the
cn=users,cn=compat,dc=example,dc=com container entry. It does this by precomputing the contents
of its entries at startup-time and refreshing its entries as needed.
It is recommended that this feature is disabled during the migration to reduce system overhead.
WARNING
This is a general migration procedure that may not work in every environment.
It is strongly recommended that you set up a test LDAP environment and test the
migration process before attempting to migrate the real LDAP environment. When
testing the environment, do the following:
1. Create a test user in IdM and compare the output of migrated users to that
of the test user.
2. Compare the output of migrated users, as seen on IdM, to the source users,
as seen on the original LDAP server.
Prerequisites
You are logged in as root on the RHEL system on which you are executing the procedure below.
Procedure
1. If IdM is not yet installed: install the IdM server, including any custom LDAP directory schema, on
31
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
1. If IdM is not yet installed: install the IdM server, including any custom LDAP directory schema, on
a different machine from the one on which the existing LDAP directory is installed. For details,
see Installing Identity Management .
NOTE
Custom user or group schemas have limited support in IdM. They can cause
problems during the migration because of incompatible object definitions.
# ipa-compat-manage disable
For more information about the schema compat feature and the benefits of disabling it for the
migration, see The schema to use when migrating from LDAP to IdM and the schema compat
feature.
Configure SSSD to try the password migration sequence if the initial Kerberos
authentication fails. For more information, see the Workflow section in Using SSSD when
migrating passwords from LDAP to IdM.
5. Run the IdM migration script, ipa migrate-ds, with the options that are relevant for your use
case. For more information, see Customizing the migration from LDAP to IdM .
NOTE
If you did not disable the compat plug-in in one of the previous steps, add the --
with-compat option to ipa migrate-ds:
# ipa-compat-manage enable
32
CHAPTER 4. MIGRATING FROM AN LDAP DIRECTORY TO IDM
8. When all users have had their passwords migrated, disable the migration mode:
9. [Optional] When all of the users have been migrated, reconfigure non-SSSD clients to use
Kerberos authentication, that is pam_krb5, instead of LDAP authentication, that is pam_ldap.
For more information, see Configuring a Kerberos Client in the RHEL 7 System-level
Authentication Guide.
10. Have users generate their hashed Kerberos passwords. Choose one of the methods described in
Planning password migration when migrating from LDAP to IdM .
Move clients that have SSSD installed from the LDAP directory to the IdM directory,
and enroll them as clients with IdM. This downloads the required keys and certificates.
On Red Hat Enterprise Linux clients, this can be done using the ipa-client-install
command. For example:
# ipa-client-install --enable-dns-update
Instruct users to log into IdM using the migration web page:
https://ipaserver.example.com/ipa/migration
11. To monitor the user migration process, query the existing LDAP directory to see which user
accounts have a password but do not yet have a Kerberos principal key.
NOTE
Include the single quotes around the filter so that it is not interpreted by the shell.
12. When the migration of all clients and users is complete, decommission the LDAP directory.
Verification
1. Create a test user in IdM by using the ipa user-add command. Compare the output of migrated
users to that of the test user. Ensure that the migrated users contain the minimal set of
attributes and object classes present on the test user. For example:
33
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
2. Compare the output of migrated users, as seen on IdM, to the source users, as seen on the
original LDAP server. Ensure that imported attributes are not copied twice and that they have
the correct values.
Additional resources
WARNING
This is a general migration procedure that may not work in every environment.
It is strongly recommended that you set up a test LDAP environment and test the
migration process before attempting to migrate the real LDAP environment. When
testing the environment, do the following:
1. Create a test user in IdM and compare the output of migrated users to that
of the test user.
2. Compare the output of migrated users, as seen on IdM, to the source users,
as seen on the original LDAP server.
34
CHAPTER 4. MIGRATING FROM AN LDAP DIRECTORY TO IDM
Prerequisites
You are logged in as root on the RHEL system on which you are executing the procedure below.
Procedure
1. Store the certificate of the CA that issued the remote LDAP server certificate in a file on the
future IdM server. For example: /tmp/remote.crt.
2. Follow the steps described in Migrating an LDAP server to IdM . However, for an encrypted
LDAP connection during the migration, use the ldaps protocol in the URL and pass the --ca-
cert-file option to the ipa migrate-ds command. For example:
Verification
1. Create a test user in IdM by using the ipa user-add command. Compare the output of migrated
users to that of the test user. Ensure that the migrated users contain the minimal set of
attributes and object classes present on the test user. For example:
35
Red Hat Enterprise Linux 9.0 Migrating to Identity Management on RHEL 9
Password: False
Member of groups: ipausers
Kerberos keys available: False
ipauniqueid: 843b1ac8-6e38-11ec-8dfe-5254005aad3e
mepmanagedentry: cn=testing_user,cn=groups,cn=accounts,dc=idm,dc=example,dc=com
objectclass: top, person, organizationalperson, inetorgperson, inetuser, posixaccount,
krbprincipalaux, krbticketpolicyaux, ipaobject,
ipasshuser, ipaSshGroupOfPubKeys, mepOriginEntry
2. Compare the output of migrated users, as seen on IdM, to the source users, as seen on the
original LDAP server. Ensure that imported attributes are not copied twice and that they have
the correct values.
36