Red Hat Enterprise Linux 9 Installing Identity Management
Red Hat Enterprise Linux 9 Installing Identity Management
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
Depending on your environment, you can install Red Hat Identity Management (IdM) to provide
DNS and Certificate Authority (CA) services, or you configure IdM to use an existing DNS and CA
infrastructure. You can install IdM servers, replicas, and clients manually or by using Ansible
Playbooks. Additionally, you can use a Kickstart file to automatically join a client to an IdM domain
during the system installation.
Table of Contents
Table of Contents
. . . . . . . . . .OPEN
MAKING . . . . . . SOURCE
. . . . . . . . . .MORE
. . . . . . .INCLUSIVE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. . . . . . . . . . . . .
. . . . . . . . . . . . . FEEDBACK
PROVIDING . . . . . . . . . . . . ON
. . . .RED
. . . . .HAT
. . . . .DOCUMENTATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7. . . . . . . . . . . . .
.CHAPTER
. . . . . . . . . . 1.. .PREPARING
. . . . . . . . . . . . .THE
. . . . .SYSTEM
. . . . . . . . .FOR
. . . . .IDM
. . . . .SERVER
. . . . . . . . INSTALLATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8. . . . . . . . . . . . .
1.1. PREREQUISITES 8
1.2. HARDWARE RECOMMENDATIONS 8
1.3. CUSTOM CONFIGURATION REQUIREMENTS FOR IDM 8
1.3.1. IPv6 requirements in IdM 8
1.3.2. Support for encryption types in IdM 8
1.3.3. Support for system-wide cryptographic policies in IdM 9
1.3.4. FIPS compliance 10
1.4. TIME SERVICE REQUIREMENTS FOR IDM 10
1.4.1. How IdM uses chronyd for synchronization 10
1.4.2. List of NTP configuration options for IdM installation commands 11
1.4.3. Ensuring IdM can reference your NTP time server 11
1.4.4. Additional resources 12
1.5. HOST NAME AND DNS REQUIREMENTS FOR IDM 12
1.6. PORT REQUIREMENTS FOR IDM 16
1.7. OPENING THE PORTS REQUIRED BY IDM 17
1.8. INSTALLING PACKAGES REQUIRED FOR AN IDM SERVER 18
1.9. SETTING THE CORRECT FILE MODE CREATION MASK FOR IDM INSTALLATION 19
1.10. ENSURING THAT FAPOLICYD RULES DO NOT BLOCK IDM INSTALLATION 19
1.11. OPTIONS FOR THE IDM INSTALLATION COMMANDS 19
CHAPTER 2. INSTALLING AN IDM SERVER: WITH INTEGRATED DNS, WITH AN INTEGRATED CA AS THE
. . . . . . . CA
ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
..............
2.1. INTERACTIVE INSTALLATION 22
2.2. NON-INTERACTIVE INSTALLATION 24
CHAPTER 3. INSTALLING AN IDM SERVER: WITH INTEGRATED DNS, WITH AN EXTERNAL CA AS THE ROOT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
CA ..............
3.1. INTERACTIVE INSTALLATION 26
3.2. TROUBLESHOOTING: EXTERNAL CA INSTALLATION FAILS 29
What this means: 30
To fix the problem: 30
.CHAPTER
. . . . . . . . . . 4.
. . .INSTALLING
. . . . . . . . . . . . .AN
. . . .IDM
. . . . SERVER:
. . . . . . . . . .WITH
. . . . . .INTEGRATED
. . . . . . . . . . . . . .DNS,
. . . . . .WITHOUT
. . . . . . . . . .A
. . CA
. . . . . . . . . . . . . . . . . . . . . . . . . 31
..............
4.1. CERTIFICATES REQUIRED TO INSTALL AN IDM SERVER WITHOUT A CA 31
4.2. INTERACTIVE INSTALLATION 32
CHAPTER 5. INSTALLING AN IDM SERVER: WITHOUT INTEGRATED DNS, WITH AN INTEGRATED CA AS THE
. . . . . . . CA
ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
..............
5.1. INTERACTIVE INSTALLATION 36
5.2. NON-INTERACTIVE INSTALLATION 38
5.3. IDM DNS RECORDS FOR EXTERNAL DNS SYSTEMS 39
CHAPTER 6. INSTALLING AN IDM SERVER: WITHOUT INTEGRATED DNS, WITH AN EXTERNAL CA AS THE
. . . . . . . CA
ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
..............
6.1. OPTIONS USED WHEN INSTALLING AN IDM CA WITH AN EXTERNAL CA AS THE ROOT CA 40
6.2. INTERACTIVE INSTALLATION 41
6.3. NON-INTERACTIVE INSTALLATION 43
6.4. IDM DNS RECORDS FOR EXTERNAL DNS SYSTEMS 45
1
Red Hat Enterprise Linux 9 Installing Identity Management
CHAPTER 7. INSTALLING AN IDM SERVER OR REPLICA WITH CUSTOM DATABASE SETTINGS FROM AN
. . . . . .FILE
LDIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
..............
.CHAPTER
. . . . . . . . . . 8.
. . .TROUBLESHOOTING
. . . . . . . . . . . . . . . . . . . . . .IDM
. . . . .SERVER
. . . . . . . . INSTALLATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
..............
8.1. REVIEWING IDM SERVER INSTALLATION ERROR LOGS 48
8.2. REVIEWING IDM CA INSTALLATION ERRORS 49
8.3. REMOVING A PARTIAL IDM SERVER INSTALLATION 50
8.4. ADDITIONAL RESOURCES 51
. . . . . . . . . . . 9.
CHAPTER . . .UNINSTALLING
. . . . . . . . . . . . . . . . AN
. . . .IDM
. . . . SERVER
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
..............
. . . . . . . . . . . 10.
CHAPTER . . . RENAMING
. . . . . . . . . . . . .AN
. . . IDM
. . . . .SERVER
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
..............
.CHAPTER
. . . . . . . . . . 11.
. . .UPDATING
. . . . . . . . . . . AND
. . . . . .DOWNGRADING
. . . . . . . . . . . . . . . . . IDM
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
..............
11.1. UPDATING IDM PACKAGES 56
11.2. DOWNGRADING IDM PACKAGES 56
11.3. ADDITIONAL RESOURCES 56
. . . . . . . . . . . 12.
CHAPTER . . . PREPARING
. . . . . . . . . . . . . THE
. . . . .SYSTEM
. . . . . . . . . FOR
. . . . . IDM
. . . . .CLIENT
. . . . . . . .INSTALLATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58
..............
12.1. SUPPORTED VERSIONS OF RHEL FOR INSTALLING IDM CLIENTS 58
12.2. DNS REQUIREMENTS FOR IDM CLIENTS 58
12.3. PORT REQUIREMENTS FOR IDM CLIENTS 58
12.4. IPV6 REQUIREMENTS FOR IDM CLIENTS 59
12.5. INSTALLING PACKAGES REQUIRED FOR AN IDM CLIENT 59
. . . . . . . . . . . 13.
CHAPTER . . . INSTALLING
. . . . . . . . . . . . . .AN
. . . IDM
. . . . .CLIENT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
..............
13.1. PREREQUISITES 60
13.2. INSTALLING A CLIENT BY USING USER CREDENTIALS: INTERACTIVE INSTALLATION 60
13.3. INSTALLING A CLIENT BY USING A ONE-TIME PASSWORD: INTERACTIVE INSTALLATION 61
13.4. INSTALLING A CLIENT: NON-INTERACTIVE INSTALLATION 63
13.5. REMOVING PRE-IDM CONFIGURATION AFTER INSTALLING A CLIENT 65
13.6. TESTING AN IDM CLIENT 65
13.7. CONNECTIONS PERFORMED DURING AN IDM CLIENT INSTALLATION 65
13.8. IDM CLIENT’S COMMUNICATIONS WITH THE SERVER DURING POST-INSTALLATION DEPLOYMENT
66
13.9. SSSD COMMUNICATION PATTERNS 67
13.10. CERTMONGER COMMUNICATION PATTERNS 68
. . . . . . . . . . . 14.
CHAPTER . . . INSTALLING
. . . . . . . . . . . . . .AN
. . . IDM
. . . . .CLIENT
. . . . . . . . WITH
. . . . . . KICKSTART
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
..............
14.1. INSTALLING A CLIENT WITH KICKSTART 70
14.2. KICKSTART FILE FOR CLIENT INSTALLATION 70
14.3. TESTING AN IDM CLIENT 71
. . . . . . . . . . . 15.
CHAPTER . . . TROUBLESHOOTING
. . . . . . . . . . . . . . . . . . . . . . .IDM
. . . . CLIENT
. . . . . . . . INSTALLATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
..............
15.1. REVIEWING IDM CLIENT INSTALLATION ERRORS 72
15.2. RESOLVING ISSUES IF THE CLIENT INSTALLATION FAILS TO UPDATE DNS RECORDS 72
15.3. RESOLVING ISSUES IF THE CLIENT INSTALLATION FAILS TO JOIN THE IDM KERBEROS REALM 73
15.4. ADDITIONAL RESOURCES 74
.CHAPTER
. . . . . . . . . . 16.
. . . RE-ENROLLING
. . . . . . . . . . . . . . . . . AN
. . . .IDM
. . . . CLIENT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
..............
16.1. CLIENT RE-ENROLLMENT IN IDM 75
16.2. RE-ENROLLING A CLIENT BY USING USER CREDENTIALS: INTERACTIVE RE-ENROLLMENT 75
16.3. RE-ENROLLING A CLIENT BY USING THE CLIENT KEYTAB: NON-INTERACTIVE RE-ENROLLMENT 76
16.4. TESTING AN IDM CLIENT 76
. . . . . . . . . . . 17.
CHAPTER . . . UNINSTALLING
. . . . . . . . . . . . . . . . .AN
. . . IDM
. . . . .CLIENT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
..............
2
Table of Contents
. . . . . . . . . . . 18.
CHAPTER . . . RENAMING
. . . . . . . . . . . . IDM
. . . . .CLIENT
. . . . . . . . SYSTEMS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
..............
18.1. PREPARING AN IDM CLIENT FOR ITS RENAMING 81
18.2. UNINSTALLING AN IDM CLIENT 82
18.3. UNINSTALLING AN IDM CLIENT: ADDITIONAL STEPS AFTER MULTIPLE PAST INSTALLATIONS 83
18.4. RENAMING THE HOST SYSTEM 84
18.5. RE-INSTALLING AN IDM CLIENT 84
18.6. RE-ADDING SERVICES, RE-GENERATING CERTIFICATES, AND RE-ADDING HOST GROUPS 84
.CHAPTER
. . . . . . . . . . 19.
. . . PREPARING
. . . . . . . . . . . . . THE
. . . . . SYSTEM
. . . . . . . . . FOR
. . . . . AN
. . . .IDM
. . . . REPLICA
. . . . . . . . . . INSTALLATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
..............
19.1. REPLICA VERSION REQUIREMENTS 85
19.2. METHODS FOR DISPLAYING IDM SOFTWARE VERSION 85
19.3. ENSURING FIPS COMPLIANCE FOR A RHEL 9 REPLICA JOINING A RHEL 8 IDM ENVIRONMENT 86
19.4. AUTHORIZING THE INSTALLATION OF A REPLICA ON AN IDM CLIENT 87
19.5. AUTHORIZING THE INSTALLATION OF A REPLICA ON A SYSTEM THAT IS NOT ENROLLED INTO IDM
88
.CHAPTER
. . . . . . . . . . 20.
. . . .INSTALLING
. . . . . . . . . . . . . AN
. . . .IDM
. . . . REPLICA
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
..............
20.1. INSTALLING AN IDM REPLICA WITH INTEGRATED DNS AND A CA 90
20.2. INSTALLING AN IDM REPLICA WITH INTEGRATED DNS AND NO CA 91
20.3. INSTALLING AN IDM REPLICA WITHOUT INTEGRATED DNS AND WITH A CA 92
20.4. INSTALLING AN IDM REPLICA WITHOUT INTEGRATED DNS AND WITHOUT A CA 93
20.5. INSTALLING AN IDM HIDDEN REPLICA 94
20.6. TESTING AN IDM REPLICA 94
20.7. CONNECTIONS PERFORMED DURING AN IDM REPLICA INSTALLATION 95
. . . . . . . . . . . 21.
CHAPTER . . . TROUBLESHOOTING
. . . . . . . . . . . . . . . . . . . . . . .IDM
. . . . REPLICA
. . . . . . . . . .INSTALLATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
..............
21.1. IDM REPLICA INSTALLATION ERROR LOG FILES 96
21.2. REVIEWING IDM REPLICA INSTALLATION ERRORS 96
21.3. IDM CA INSTALLATION ERROR LOG FILES 98
21.4. REVIEWING IDM CA INSTALLATION ERRORS 99
21.5. REMOVING A PARTIAL IDM REPLICA INSTALLATION 99
21.6. RESOLVING INVALID CREDENTIAL ERRORS 100
21.7. ADDITIONAL RESOURCES 101
. . . . . . . . . . . 22.
CHAPTER . . . .UNINSTALLING
. . . . . . . . . . . . . . . . AN
. . . .IDM
. . . . REPLICA
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
...............
. . . . . . . . . . . 23.
CHAPTER . . . .MANAGING
. . . . . . . . . . . . REPLICATION
. . . . . . . . . . . . . . . TOPOLOGY
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
...............
23.1. EXPLAINING REPLICATION AGREEMENTS, TOPOLOGY SUFFIXES AND TOPOLOGY SEGMENTS 103
23.1.1. Replication agreements between IdM replicas 103
23.1.2. Topology suffixes 104
23.1.3. Topology segments 105
23.2. USING THE TOPOLOGY GRAPH TO MANAGE REPLICATION TOPOLOGY 106
23.3. SETTING UP REPLICATION BETWEEN TWO SERVERS USING THE WEB UI 108
23.4. STOPPING REPLICATION BETWEEN TWO SERVERS USING THE WEB UI 110
23.5. SETTING UP REPLICATION BETWEEN TWO SERVERS USING THE CLI 111
23.6. STOPPING REPLICATION BETWEEN TWO SERVERS USING THE CLI 112
23.7. REMOVING SERVER FROM TOPOLOGY USING THE WEB UI 113
23.8. REMOVING SERVER FROM TOPOLOGY USING THE CLI 114
23.9. VIEWING SERVER ROLES ON AN IDM SERVER USING THE WEB UI 115
23.10. VIEWING SERVER ROLES ON AN IDM SERVER USING THE CLI 115
23.11. PROMOTING A REPLICA TO A CA RENEWAL SERVER AND CRL PUBLISHER SERVER 116
23.12. DEMOTING OR PROMOTING HIDDEN REPLICAS 116
3
Red Hat Enterprise Linux 9 Installing Identity Management
.CHAPTER
. . . . . . . . . . 24.
. . . .INSTALLING
. . . . . . . . . . . . . AND
. . . . . RUNNING
. . . . . . . . . . . THE
. . . . .IDM
. . . . HEALTHCHECK
. . . . . . . . . . . . . . . . . TOOL
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
..............
24.1. HEALTHCHECK IN IDM 118
24.2. INSTALLING IDM HEALTHCHECK 119
24.3. RUNNING IDM HEALTHCHECK 119
24.4. ADDITIONAL RESOURCES 119
. . . . . . . . . . . 25.
CHAPTER . . . .INSTALLING
. . . . . . . . . . . . . AN
. . . .IDENTITY
. . . . . . . . . . MANAGEMENT
. . . . . . . . . . . . . . . . SERVER
. . . . . . . . . USING
. . . . . . . .AN
. . . ANSIBLE
. . . . . . . . . .PLAYBOOK
. . . . . . . . . . . . . . . . . . . .121
..............
25.1. ANSIBLE AND ITS ADVANTAGES FOR INSTALLING IDM 121
Advantages of using Ansible to install IdM 121
25.2. INSTALLING THE ANSIBLE-FREEIPA PACKAGE 121
25.3. ANSIBLE ROLES LOCATION IN THE FILE SYSTEM 122
25.4. SETTING THE PARAMETERS FOR A DEPLOYMENT WITH AN INTEGRATED DNS AND AN INTEGRATED
CA AS THE ROOT CA 123
25.5. SETTING THE PARAMETERS FOR A DEPLOYMENT WITH EXTERNAL DNS AND AN INTEGRATED CA AS
THE ROOT CA 126
25.6. DEPLOYING AN IDM SERVER WITH AN INTEGRATED CA AS THE ROOT CA USING AN ANSIBLE
PLAYBOOK 127
25.7. SETTING THE PARAMETERS FOR A DEPLOYMENT WITH AN INTEGRATED DNS AND AN EXTERNAL CA
AS THE ROOT CA 129
25.8. SETTING THE PARAMETERS FOR A DEPLOYMENT WITH EXTERNAL DNS AND AN EXTERNAL CA AS
THE ROOT CA 132
25.9. DEPLOYING AN IDM SERVER WITH AN EXTERNAL CA AS THE ROOT CA USING AN ANSIBLE
PLAYBOOK 135
25.10. UNINSTALLING AN IDM SERVER USING AN ANSIBLE PLAYBOOK 136
25.11. USING AN ANSIBLE PLAYBOOK TO UNINSTALL AN IDM SERVER EVEN IF THIS LEADS TO A
DISCONNECTED TOPOLOGY 138
. . . . . . . . . . . 26.
CHAPTER . . . .INSTALLING
. . . . . . . . . . . . . AN
. . . .IDENTITY
. . . . . . . . . . MANAGEMENT
. . . . . . . . . . . . . . . . .REPLICA
. . . . . . . . . USING
. . . . . . . .AN
. . . ANSIBLE
. . . . . . . . . .PLAYBOOK
. . . . . . . . . . . . . . . . . .140
...............
26.1. SPECIFYING THE BASE, SERVER AND CLIENT VARIABLES FOR INSTALLING THE IDM REPLICA 140
26.2. SPECIFYING THE CREDENTIALS FOR INSTALLING THE IDM REPLICA USING AN ANSIBLE PLAYBOOK
144
26.3. DEPLOYING AN IDM REPLICA USING AN ANSIBLE PLAYBOOK 145
26.4. UNINSTALLING AN IDM REPLICA USING AN ANSIBLE PLAYBOOK 146
. . . . . . . . . . . 27.
CHAPTER . . . .INSTALLING
. . . . . . . . . . . . . AN
. . . .IDENTITY
. . . . . . . . . . MANAGEMENT
. . . . . . . . . . . . . . . . CLIENT
. . . . . . . . .USING
. . . . . . .AN
. . . .ANSIBLE
. . . . . . . . . PLAYBOOK
. . . . . . . . . . . . . . . . . . . .147
...............
27.1. SETTING THE PARAMETERS OF THE INVENTORY FILE FOR THE AUTODISCOVERY CLIENT
INSTALLATION MODE 147
27.2. SETTING THE PARAMETERS OF THE INVENTORY FILE WHEN AUTODISCOVERY IS NOT POSSIBLE
DURING CLIENT INSTALLATION 149
27.3. CHECKING THE PARAMETERS IN THE INSTALL-CLIENT.YML FILE 152
27.4. AUTHORIZATION OPTIONS FOR IDM CLIENT ENROLLMENT USING AN ANSIBLE PLAYBOOK 152
27.5. DEPLOYING AN IDM CLIENT USING AN ANSIBLE PLAYBOOK 154
27.6. TESTING AN IDENTITY MANAGEMENT CLIENT AFTER ANSIBLE INSTALLATION 155
27.7. UNINSTALLING AN IDM CLIENT USING AN ANSIBLE PLAYBOOK 155
. . . . . . . . . . . 28.
CHAPTER . . . .INSTALLING
. . . . . . . . . . . . . DNS
. . . . . ON
. . . . AN
. . . .EXISTING
. . . . . . . . . . IDM
. . . . .SERVER
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
...............
. . . . . . . . . . . 29.
CHAPTER . . . .ADDING
. . . . . . . . .THE
. . . . .IDM
. . . . CA
. . . .SERVICE
. . . . . . . . . TO
. . . .AN
. . . IDM
. . . . .SERVER
. . . . . . . . .IN
. . .A. .DEPLOYMENT
. . . . . . . . . . . . . . . WITHOUT
. . . . . . . . . . .A. .CA
. . . . . . .159
...............
29.1. INSTALLING THE FIRST IDM CA AS THE ROOT CA INTO AN EXISTING IDM DOMAIN 159
29.2. INSTALLING THE FIRST IDM CA WITH AN EXTERNAL CA AS THE ROOT CA INTO AN EXISTING IDM
DOMAIN 159
. . . . . . . . . . . 30.
CHAPTER . . . .ADDING
. . . . . . . . .THE
. . . . .IDM
. . . . CA
. . . .SERVICE
. . . . . . . . . TO
. . . .AN
. . . .IDM
. . . . SERVER
. . . . . . . . . IN
. . .A. .DEPLOYMENT
. . . . . . . . . . . . . . . WITH
......A
. . CA
. . . . . . . . . . . . .161
..............
4
Table of Contents
5
Red Hat Enterprise Linux 9 Installing Identity Management
The word master is being replaced with more precise language, depending on the context:
6
PROVIDING FEEDBACK ON RED HAT DOCUMENTATION
4. Enter your suggestion for improvement in the Description field. Include links to the relevant
parts of the documentation.
7
Red Hat Enterprise Linux 9 Installing Identity Management
1.1. PREREQUISITES
You need root privileges to install an Identity Management (IdM) server on your host.
For 10,000 users and 100 groups: at least 4 GB of RAM and 4 GB swap space
For 100,000 users and 50,000 groups: at least 16 GB of RAM and 4 GB of swap space
For larger deployments, it is more effective to increase the RAM than to increase disk space because
much of the data is stored in cache. In general, adding more RAM leads to better performance for larger
deployments due to caching.
NOTE
A basic user entry or a simple host entry with a certificate is approximately 5—10 kB in
size.
The IdM server installation overwrites system files to set up the IdM domain. IdM backs up the original
system files to /var/lib/ipa/sysrestore/. When an IdM server is uninstalled at the end of the lifecycle,
these files are restored.
NOTE
8
CHAPTER 1. PREPARING THE SYSTEM FOR IDM SERVER INSTALLATION
While the Kerberos libraries on IdM servers and clients might support more encryption types, the IdM
Kerberos Distribution Center (KDC) only supports the following encryption types:
aes256-cts:normal
aes256-cts:special (default)
aes128-cts:normal
aes128-cts:special (default)
aes128-sha2:normal
aes128-sha2:special
aes256-sha2:normal
aes256-sha2:special
camellia128-cts-cmac:normal
camellia128-cts-cmac:special
camellia256-cts-cmac:normal
camellia256-cts-cmac:special
arcfour-hmac:normal
arcfour-hmac:special
For more information about manually enabling RC4 support for compatibility with legacy Active
Directory environments, see Ensuring support for common encryption types in AD and RHEL .
NOTE
You cannot install an IdM server while using the FUTURE system-wide cryptographic
policy. When installing an IdM server, ensure you are using the DEFAULT system-wide
cryptographic policy.
9
Red Hat Enterprise Linux 9 Installing Identity Management
Additional Resources
To install IdM with FIPS, first enable FIPS mode on the host, then install IdM. The IdM installation script
detects if FIPS is enabled and configures IdM to only use encryption types that are compliant with FIPS
140-3:
aes128-sha2:normal
aes128-sha2:special
aes256-sha2:normal
aes256-sha2:special
For an IdM environment to be FIPS-compliant, all IdM replicas must have FIPS mode enabled.
Red Hat recommends that you enable FIPS in IdM clients as well, especially if you might promote those
clients to IdM replicas. Ultimately, it is up to administrators to determine how they meet FIPS
requirements; Red Hat does not enforce FIPS criteria.
IMPORTANT
RADIUS authentication is not FIPS compliant. Do not install IdM on a server with FIPS
mode enabled if you require RADIUS authentication.
Additional Resources
To enable FIPS mode in the RHEL operating system, see Switching the system to FIPS mode in
the Security Hardening guide.
For more details on FIPS 140-2, see the Security Requirements for Cryptographic Modules on
the National Institute of Standards and Technology (NIST) web site.
You can use chronyd to keep your IdM hosts in sync with a central time source as described here.
Kerberos, the underlying authentication mechanism in IdM, uses time stamps as part of its protocol.
10
CHAPTER 1. PREPARING THE SYSTEM FOR IDM SERVER INSTALLATION
Kerberos, the underlying authentication mechanism in IdM, uses time stamps as part of its protocol.
Kerberos authentication fails if the system time of an IdM client differs by more than five minutes from
the system time of the Key Distribution Center (KDC).
To ensure that IdM servers and clients stay in sync with a central time source, IdM installation scripts
automatically configure chronyd Network Time Protocol (NTP) client software.
If you do not pass any NTP options to the IdM installation command, the installer searches for
_ntp._udp DNS service (SRV) records that point to the NTP server in your network and configures
chrony with that IP address. If you do not have any _ntp._udp SRV records, chronyd uses the
configuration shipped with the chrony package.
NOTE
Because ntpd has been deprecated in favor of chronyd in RHEL 8, IdM servers are no
longer configured as Network Time Protocol (NTP) servers and are only configured as
NTP clients. The RHEL 7 NTP Server IdM server role has also been deprecated in RHEL
8.
Additional resources
Implementation of NTP
You can specify the following options with any of the IdM installation commands (ipa-server-install,
ipa-replica-install, ipa-client-install) to configure chronyd client software during setup.
Table 1.1. List of NTP configuration options for IdM installation commands
Option Behavior
--ntp-server Use it to specify one NTP server. You can use it multiple times to specify
multiple servers.
Additional resources
Implementation of NTP
This procedure verifies you have the necessary configurations in place for IdM to be able to synchronize
11
Red Hat Enterprise Linux 9 Installing Identity Management
This procedure verifies you have the necessary configurations in place for IdM to be able to synchronize
with your Network Time Protocol (NTP) time server.
Prerequisites
You have configured an NTP time server in your environment. In this example, the hostname of
the previously configured time server is ntpserver.example.com.
Procedure
1. Perform a DNS service (SRV) record search for NTP servers in your environment.
2. If the previous dig search does not return your time server, add a _ntp._udp SRV record that
points to your time server on port 123. This process depends on your DNS solution.
Verification steps
Verify that DNS returns an entry for your time server on port 123 when you perform a search for
_ntp._udp SRV records.
Additional resources
Implementation of NTP
These requirements apply to all Identity Management (IdM) servers, those with integrated DNS and
those without integrated DNS.
12
CHAPTER 1. PREPARING THE SYSTEM FOR IDM SERVER INSTALLATION
WARNING
DNS records are vital for nearly all IdM domain functions, including running LDAP
directory services, Kerberos, and Active Directory integration. Be extremely
cautious and ensure that:
This requirement applies to IdM servers with and without integrated DNS.
IMPORTANT
Do not use single-label domain names, for example .company: the IdM domain must
be composed of one or more subdomains and a top level domain, for example
example.com or company.example.com.
The fully qualified domain name must meet the following conditions:
It is a valid DNS name, which means only numbers, alphabetic characters, and hyphens (-)
are allowed. Other characters, such as underscores (_), in the host name cause DNS failures.
It does not resolve to the loopback address. It must resolve to the system’s public IP address,
not to 127.0.0.1.
To verify the host name, use the hostname utility on the system where you want to install:
# hostname
server.idm.example.com
a. The ip addr show command displays both the IPv4 and IPv6 addresses. In the following
example, the relevant IPv6 address is 2001:DB8::1111 because its scope is global:
13
Red Hat Enterprise Linux 9 Installing Identity Management
a. Run the command dig +short server.idm.example.com A. The returned IPv4 address
must match the IP address returned by ip addr show:
NOTE
If dig does not return any output for the AAAA record, it does not indicate
incorrect configuration. No output only means that no IPv6 address is
configured in DNS for the system. If you do not intend to use the IPv6
protocol in your network, you can proceed with the installation in this
situation.
3. Verify the reverse DNS configuration (PTR records). Use the dig utility and add the IP
address.
If the commands below display a different host name or no host name, the reverse DNS
configuration is incorrect.
a. Run the command dig +short -x IPv4_address. The output must display the server host
name. For example:
NOTE
14
CHAPTER 1. PREPARING THE SYSTEM FOR IDM SERVER INSTALLATION
NOTE
WARNING
Verify the standards-compliance of DNS forwarders (required for integrated DNS only)
Ensure that all DNS forwarders you want to use with the IdM DNS server comply with the Extension
Mechanisms for DNS (EDNS0) and DNS Security Extensions (DNSSEC) standards. To do this,
inspect the output of the following command for each forwarder separately:
The expected output displayed by the command contains the following information:
status: NOERROR
flags: ra
EDNS flags: do
If any of these items is missing from the output, inspect the documentation for your DNS forwarder
and verify that EDNS0 and DNSSEC are supported and enabled. In the latest versions of the BIND
server, the dnssec-enable yes; option must be set in the /etc/named.conf file.
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; ANSWER SECTION:
. 31679 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2015100701 1800 900 604800 86400
. 31679 IN RRSIG SOA 8 0 86400 20151017170000 20151007160000 62530 . GNVz7SQs [...]
15
Red Hat Enterprise Linux 9 Installing Identity Management
The file does not contain an entry for the host. It only lists the IPv4 and IPv6 localhost entries
for the host.
The file contains an entry for the host and the file fulfills all the following conditions:
The first two entries are the IPv4 and IPv6 localhost entries.
The next entry specifies the IdM server IPv4 address and host name.
The FQDN of the IdM server comes before the short name of the IdM server.
The IdM server host name is not part of the localhost entry.
NOTE
IdM uses ports 80 and 389. This is a secure practice because of the following safeguards:
IdM normally redirects requests that arrive on port 80 to port 443. Port 80
(HTTP) is only used to provide Online Certificate Status Protocol (OCSP)
responses and Certificate Revocation Lists (CRL). Both are digitally signed and
therefore secured against man-in-the-middle attacks.
Port 389 (LDAP) uses STARTTLS and Generic Security Services API (GSSAPI)
for encryption.
16
CHAPTER 1. PREPARING THE SYSTEM FOR IDM SERVER INSTALLATION
In addition, ports 8080, 8443, and 749 must be free as they are used internally. Do not open these ports
and instead leave them blocked by a firewall.
freeipa-ldap /usr/lib/firewalld/services/freeipa-ldap.xml
freeipa-ldaps /usr/lib/firewalld/services/freeipa-ldaps.xml
dns /usr/lib/firewalld/services/dns.xml
Procedure
To start firewalld and configure it to start automatically when the system boots:
2. Open the required ports using the firewall-cmd utility. Choose one of the following options:
a. Add the individual ports to the firewall by using the firewall-cmd --add-port command. For
example, to open the ports in the default zone:
b. Add the firewalld services to the firewall by using the firewall-cmd --add-service
command. For example, to open the ports in the default zone:
For details on using firewall-cmd to open ports on a system, see the firewall-cmd(1) man
page.
3. Reload the firewall-cmd configuration to ensure that the change takes place immediately:
# firewall-cmd --reload
Note that reloading firewalld on a system in production can cause DNS connection time outs. If
required, to avoid the risk of time outs and to make the changes persistent on the running
system, use the --runtime-to-permanent option of the firewall-cmd command, for example:
17
Red Hat Enterprise Linux 9 Installing Identity Management
# firewall-cmd --runtime-to-permanent
4. Optional. To verify that the ports are available now, use the nc, telnet, or nmap utilities to
connect to a port or run a port scan.
NOTE
Note that you also have to open network-based firewalls for both incoming and outgoing
traffic.
Prerequisites
If your RHEL system is not running in the cloud, you have registered your system with the
Red Hat Subscription Manager (RHSM). For details, see Registration, attaching, and
removing subscriptions in the Subscription Manager command line. You have also enabled
the BaseOS and AppStream repositories that IdM uses:
For details on how to enable and disable specific repositories using RHSM, see Configuring
options in Red Hat Subscription Manager.
If your RHEL system is running in the cloud, skip the registration. The required repositories
are already available via the Red Hat Update Infrastructure (RHUI).
Procedure
To download the packages necessary for installing an IdM server without an integrated
DNS:
To download the packages necessary for installing an IdM server with an integrated DNS:
To download the packages necessary for installing an IdM server that has a trust agreement
with Active Directory:
18
CHAPTER 1. PREPARING THE SYSTEM FOR IDM SERVER INSTALLATION
1.9. SETTING THE CORRECT FILE MODE CREATION MASK FOR IDM
INSTALLATION
The Identity Management (IdM) installation process requires that the file mode creation mask (umask)
is set to 0022 for the root account. This allows users other than root to read files created during the
installation. If a different umask is set, the installation of an IdM server will display a warning. If you
continue with the installation, some functions of the server will not perform properly. For example, you
will be unable to install an IdM replica from this server. After the installation, you can set the umask back
to its original value.
Prerequisites
Procedure
# umask
0027
# umask 0022
3. (Optional) After the IdM installation is complete, set the umask back to its original value:
# umask 0027
For more information, see the fapolicy restrictions causing IdM installation failures KCS solution.
The following tables display some of the most common options for different components. Options for a
specific component are shared across multiple commands. For example, you can use the --ca-subject
option with both the ipa-ca-install and ipa-server-install commands.
19
Red Hat Enterprise Linux 9 Installing Identity Management
Argument Description
-U , --unattended Enables an unattended installation session that does not prompt for user
input.
--ip-address 127.0.0.1 Specifies the IP address of the server. This option only accepts IP
addresses associated with the local interface.
--dirsrv-config-file The path to an LDIF file used to modify the configuration of the
<LDIF_file_name> directory server instance.
-n example.com The name of the LDAP server domain to use for the IdM domain. This is
usually based on the IdM server’s hostname.
-a <ipa_admin_password> The password for the admin IdM administrator account to authenticate
to the Kerberos realm. For ipa-replica-install, use -w instead.
-r The name of the Kerberos realm to create for the IdM domain in
<KERBEROS_REALM_NAME uppercase, such as EXAMPLE.COM. For ipa-replica-install, this
> specifies the name of a Kerberos realm of an existing IdM deployment.
--setup-dns Tells the installation script to set up a DNS service within the IdM
domain.
Argument Description
--random-serial-numbers Enables Random Serial Numbers version 3 (RSNv3) for the IdM CA.
When enabled, the CA generates fully random serial numbers for
certificates and requests in PKI without range management.
20
CHAPTER 1. PREPARING THE SYSTEM FOR IDM SERVER INSTALLATION
Argument Description
--subject-base=<SUBJECT> Specifies the subject base for certificates issued by IdM (default
O=REALM.NAME). Relative Distinguished Names (RDN) are in LDAP
order, with the most specific RDN first.
--ca-signing- Specifies the signing algorithm of the IdM CA certificate. Possible values
algorithm=<ALGORITHM> are SHA1withRSA, SHA256withRSA, SHA512withRSA. The default is
SHA256withRSA. Use this option with --external-ca if the external CA
does not support the default signing algorithm.
Table 1.6. DNS options: available foripa-dns-install, or for ipa-server-install and ipa-replica-install
when using --setup-dns
Argument Description
--forwarder=192.0.2.1 Specifies a DNS forwarder to use with the DNS service. To specify more
than one forwarder, use this option multiple times.
--no-forwarders Uses root servers with the DNS service instead of forwarders.
--no-reverse Does not create a reverse DNS zone when the DNS domain is set up. If a
reverse DNS zone is already configured, then that existing reverse DNS
zone is used.
If this option is not used, then the default value is true. This instructs the
installation script to configure reverse DNS.
Additional resources
21
Red Hat Enterprise Linux 9 Installing Identity Management
You can automate much of the maintenance and DNS record management using native IdM
tools. For example, DNS SRV records are automatically created during the setup, and later on
are automatically updated.
You can have a stable connection with the rest of the Internet by setting up global forwarders
during the installation of the IdM server. Global forwarders are also useful for trusts with Active
Directory.
You can set up a DNS reverse zone to prevent emails from your domain to be considered spam
by email servers outside of the IdM domain.
IdM DNS is not meant to be used as a general-purpose DNS server. Some of the advanced DNS
functions are not supported.
This chapter describes how you can install a new IdM server with an integrated certificate authority (CA)
as the root CA.
NOTE
Procedure
# ipa-server-install
3. The script prompts for several required settings and offers recommended default values in
brackets.
22
CHAPTER 2. INSTALLING AN IDM SERVER: WITH INTEGRATED DNS, WITH AN INTEGRATED CA AS THE ROOT CA
WARNING
Plan these names carefully. You will not be able to change them after
the installation is complete.
4. Enter the passwords for the Directory Server superuser (cn=Directory Manager) and for the
Identity Management (IdM) administration system user account (admin).
To configure per-server DNS forwarders, enter yes, and then follow the instructions on the
command line. The installation process will add the forwarder IP addresses to the IdM
LDAP.
For the forwarding policy default settings, see the --forward-policy description in the
ipa-dns-install(1) man page.
6. The script prompts to check if any DNS reverse (PTR) records for the IP addresses associated
with the server need to be configured.
If you run the search and missing reverse zones are discovered, the script asks you whether to
create the reverse zones along with the PTR records.
NOTE
Using IdM to manage reverse zones is optional. You can use an external DNS
service for this purpose instead.
23
Red Hat Enterprise Linux 9 Installing Identity Management
8. The installation script now configures the server. Wait for the operation to complete.
9. After the installation script completes, update your DNS records in the following way:
a. Add DNS delegation from the parent domain to the IdM DNS domain. For example, if the
IdM DNS domain is idm.example.com, add a name server (NS) record to the example.com
parent domain.
IMPORTANT
Repeat this step each time after an IdM DNS server is installed.
b. Add an _ntp._udp service (SRV) record for your time server to your IdM DNS. The
presence of the SRV record for the time server of the newly-installed IdM server in IdM
DNS ensures that future replica and client installations are automatically configured to
synchronize with the time server used by this primary IdM server.
Procedure
1. Run the ipa-server-install utility with the options to supply all the required information. The
minimum required options for non-interactive installation are:
--ds-password to provide the password for the Directory Manager (DM), the
Directory Server super user
--admin-password to provide the password for admin, the Identity Management (IdM)
administrator
--unattended to let the installation process select default options for the host name and
domain name
For example:
24
CHAPTER 2. INSTALLING AN IDM SERVER: WITH INTEGRATED DNS, WITH AN INTEGRATED CA AS THE ROOT CA
2. After the installation script completes, update your DNS records in the following way:
a. Add DNS delegation from the parent domain to the IdM DNS domain. For example, if the
IdM DNS domain is idm.example.com, add a name server (NS) record to the example.com
parent domain.
IMPORTANT
Repeat this step each time after an IdM DNS server is installed.
b. Add an _ntp._udp service (SRV) record for your time server to your IdM DNS. The
presence of the SRV record for the time server of the newly-installed IdM server in IdM
DNS ensures that future replica and client installations are automatically configured to
synchronize with the time server used by this primary IdM server.
Additional resources
For a complete list of options accepted by ipa-server-install , run the ipa-server-install --help
command.
25
Red Hat Enterprise Linux 9 Installing Identity Management
You can automate much of the maintenance and DNS record management using native IdM
tools. For example, DNS SRV records are automatically created during the setup, and later on
are automatically updated.
You can have a stable connection with the rest of the Internet by setting up global forwarders
during the installation of the IdM server. Global forwarders are also useful for trusts with Active
Directory.
You can set up a DNS reverse zone to prevent emails from your domain to be considered spam
by email servers outside of the IdM domain.
IdM DNS is not meant to be used as a general-purpose DNS server. Some of the advanced DNS
functions are not supported.
This chapter describes how you can install a new IdM server with an external certificate authority (CA) as
the root CA.
Prerequisites
You have determined the type of the external CA to specify with the --external-ca-type option.
See the ipa-server-install(1) man page for details.
If you are using a Microsoft Certificate Services certificate authority (MS CS CA) as your
external CA: you have determined the certificate profile or template to specify with the --
external-ca-profile option. By default, the SubCA template is used.
For more information about the --external-ca-type and --external-ca-profile options, see
Options used when installing an IdM CA with an external CA as the root CA .
Procedure
# ipa-server-install --external-ca
26
CHAPTER 3. INSTALLING AN IDM SERVER: WITH INTEGRATED DNS, WITH AN EXTERNAL CA AS THE ROOT CA
If you are using the Microsoft Certificate Services (MS CS) CA, also use the --external-ca-
type option and, optionally, the --external-ca-profile option:
If you are not using MS CS to generate the signing certificate for your IdM CA, no other
option may be necessary:
# ipa-server-install --external-ca
2. The script prompts to configure an integrated DNS service. Enter yes or no. In this procedure,
we are installing a server with integrated DNS.
NOTE
If you want to install a server without integrated DNS, the installation script will
not prompt you for DNS configuration as described in the steps below. See
Chapter 5, Installing an IdM server: Without integrated DNS, with an integrated CA
as the root CA for details on the steps for installing a server without DNS.
3. The script prompts for several required settings and offers recommended default values in
brackets.
WARNING
Plan these names carefully. You will not be able to change them after
the installation is complete.
4. Enter the passwords for the Directory Server superuser (cn=Directory Manager) and for the
Identity Management (IdM) administration system user account (admin).
27
Red Hat Enterprise Linux 9 Installing Identity Management
To configure per-server DNS forwarders, enter yes, and then follow the instructions on the
command line. The installation process will add the forwarder IP addresses to the IdM
LDAP.
For the forwarding policy default settings, see the --forward-policy description in the
ipa-dns-install(1) man page.
6. The script prompts to check if any DNS reverse (PTR) records for the IP addresses associated
with the server need to be configured.
If you run the search and missing reverse zones are discovered, the script asks you whether to
create the reverse zones along with the PTR records.
NOTE
Using IdM to manage reverse zones is optional. You can use an external DNS
service for this purpose instead.
8. During the configuration of the Certificate System instance, the utility prints the location of the
certificate signing request (CSR): /root/ipa.csr:
...
a. Submit the CSR located in /root/ipa.csr to the external CA. The process differs depending
on the service to be used as the external CA.
b. Retrieve the issued certificate and the CA certificate chain for the issuing CA in a base 64-
encoded blob (either a PEM file or a Base_64 certificate from a Windows CA). Again, the
28
CHAPTER 3. INSTALLING AN IDM SERVER: WITH INTEGRATED DNS, WITH AN EXTERNAL CA AS THE ROOT CA
process differs for every certificate service. Usually, a download link on a web page or in the
notification email allows the administrator to download all the required certificates.
IMPORTANT
Be sure to get the full certificate chain for the CA, not just the CA certificate.
c. Run ipa-server-install again, this time specifying the locations and names of the newly-
issued CA certificate and the CA chain files. For example:
9. The installation script now configures the server. Wait for the operation to complete.
10. After the installation script completes, update your DNS records in the following way:
a. Add DNS delegation from the parent domain to the IdM DNS domain. For example, if the
IdM DNS domain is idm.example.com, add a name server (NS) record to the example.com
parent domain.
IMPORTANT
Repeat this step each time after an IdM DNS server is installed.
b. Add an _ntp._udp service (SRV) record for your time server to your IdM DNS. The
presence of the SRV record for the time server of the newly-installed IdM server in IdM
DNS ensures that future replica and client installations are automatically configured to
synchronize with the time server used by this primary IdM server.
NOTE
The ipa-server-install --external-ca command can sometimes fail with the following
error:
This failure occurs when the *_proxy environmental variables are set. For a solution of the
problem, see Troubleshooting: External CA installation fails .
29
Red Hat Enterprise Linux 9 Installing Identity Management
# env|grep proxy
http_proxy=http://example.com:8080
ftp_proxy=http://example.com:8080
https_proxy=http://example.com:8080
1. Use the following shell script to unset the *_proxy environmental variables:
2. Run the pkidestroy utility to remove the unsuccessful certificate authority (CA) subsystem
installation:
# ipa-server-install --uninstall
30
CHAPTER 4. INSTALLING AN IDM SERVER: WITH INTEGRATED DNS, WITHOUT A CA
You can automate much of the maintenance and DNS record management using native IdM
tools. For example, DNS SRV records are automatically created during the setup, and later on
are automatically updated.
You can have a stable connection with the rest of the Internet by setting up global forwarders
during the installation of the IdM server. Global forwarders are also useful for trusts with Active
Directory.
You can set up a DNS reverse zone to prevent emails from your domain to be considered spam
by email servers outside of the IdM domain.
IdM DNS is not meant to be used as a general-purpose DNS server. Some of the advanced DNS
functions are not supported.
This chapter describes how you can install a new IdM server without a certificate authority (CA).
IMPORTANT
You cannot install a server or replica using self-signed third-party server certificates
because the imported certificate files must contain the full CA certificate chain of the CA
that issued the LDAP and Apache server certificates.
--dirsrv-cert-file for the certificate and private key files for the LDAP server certificate
--dirsrv-pin for the password to access the private key in the files specified in --dirsrv-cert-
file
--http-cert-file for the certificate and private key files for the Apache server certificate
--http-pin for the password to access the private key in the files specified in --http-cert-file
The full CA certificate chain of the CA that issued the LDAP and Apache server certificates
--dirsrv-cert-file and --http-cert-file for the certificate files with the full CA certificate chain
or a part of it
31
Red Hat Enterprise Linux 9 Installing Identity Management
You can provide the files specified in the --dirsrv-cert-file and --http-cert-file options in the following
formats:
Privacy-Enhanced Mail (PEM) encoded certificate (RFC 7468). Note that the
Identity Management installer accepts concatenated PEM-encoded objects.
You can specify the --dirsrv-cert-file and --http-cert-file options multiple times to specify multiple files.
The certificate files to complete the full CA certificate chain (not needed in some environments)
--ca-cert-file for the file or files containing the CA certificate of the CA that issued the
LDAP, Apache Server, and Kerberos KDC certificates. Use this option if the CA certificate is
not present in the certificate files provided by the other options.
The files provided using --dirsrv-cert-file and --http-cert-file combined with the file provided using --ca-
cert-file must contain the full CA certificate chain of the CA that issued the LDAP and Apache server
certificates.
The Kerberos key distribution center (KDC) PKINIT certificate and private key
--pkinit-cert-file for the Kerberos KDC SSL certificate and private key
--pkinit-pin for the password to access the Kerberos KDC private key in the files
specified in --pkinit-cert-file
If you do not have a PKINIT certificate and want to configure the IdM server with a local KDC
with a self-signed certificate, use the following option:
Additional resources
For details on what the certificate file formats these options accept, see the ipa-server-
install(1) man page.
For details on PKINIT extensions required to create a RHEL IdM PKINIT certificate, see RHEL
IdM PKINIT KDC certificate and extensions.
Procedure
1. Run the ipa-server-install utility and provide all the required certificates. For example:
See Certificates required to install an IdM server without a CA for details on the provided
certificates.
2. The script prompts to configure an integrated DNS service. Enter yes or no. In this procedure,
we are installing a server with integrated DNS.
NOTE
If you want to install a server without integrated DNS, the installation script will
not prompt you for DNS configuration as described in the steps below. See
Installing an IdM server: Without integrated DNS, with an integrated CA as the
root CA for details on the steps for installing a server without DNS.
3. The script prompts for several required settings and offers recommended default values in
brackets.
WARNING
Plan these names carefully. You will not be able to change them after
the installation is complete.
4. Enter the passwords for the Directory Server superuser (cn=Directory Manager) and for the
Identity Management (IdM) administration system user account (admin).
33
Red Hat Enterprise Linux 9 Installing Identity Management
To configure per-server DNS forwarders, enter yes, and then follow the instructions on the
command line. The installation process will add the forwarder IP addresses to the IdM
LDAP.
For the forwarding policy default settings, see the --forward-policy description in the
ipa-dns-install(1) man page.
6. The script prompts to check if any DNS reverse (PTR) records for the IP addresses associated
with the server need to be configured.
If you run the search and missing reverse zones are discovered, the script asks you whether to
create the reverse zones along with the PTR records.
NOTE
Using IdM to manage reverse zones is optional. You can use an external DNS
service for this purpose instead.
8. The installation script now configures the server. Wait for the operation to complete.
9. After the installation script completes, update your DNS records in the following way:
a. Add DNS delegation from the parent domain to the IdM DNS domain. For example, if the
IdM DNS domain is idm.example.com, add a name server (NS) record to the example.com
parent domain.
IMPORTANT
Repeat this step each time after an IdM DNS server is installed.
b. Add an _ntp._udp service (SRV) record for your time server to your IdM DNS. The
34
CHAPTER 4. INSTALLING AN IDM SERVER: WITH INTEGRATED DNS, WITHOUT A CA
presence of the SRV record for the time server of the newly-installed IdM server in IdM
DNS ensures that future replica and client installations are automatically configured to
synchronize with the time server used by this primary IdM server.
35
Red Hat Enterprise Linux 9 Installing Identity Management
NOTE
Red Hat strongly recommends installing IdM-integrated DNS for basic usage within the
IdM deployment: When the IdM server also manages DNS, there is tight integration
between DNS and native IdM tools which enables automating some of the DNS record
management.
For more details, see Planning your DNS services and host names .
With integrated Identity Management (IdM) certificate authority (CA) as the root CA, which is
the default CA configuration
Procedure
# ipa-server-install
2. The script prompts to configure an integrated DNS service. Press Enter to select the default no
option.
3. The script prompts for several required settings and offers recommended default values in
brackets.
36
CHAPTER 5. INSTALLING AN IDM SERVER: WITHOUT INTEGRATED DNS, WITH AN INTEGRATED CA AS THE ROOT CA
WARNING
Plan these names carefully. You will not be able to change them after
the installation is complete.
4. Enter the passwords for the Directory Server superuser (cn=Directory Manager) and for the
IdM administration system user account (admin).
5. The script prompts for several required settings and offers recommended default values in
brackets.
7. The installation script now configures the server. Wait for the operation to complete.
8. The installation script produces a file with DNS resource records: the
/tmp/ipa.system.records.UFRPto.db file in the example output below. Add these records to
the existing external DNS servers. The process of updating the DNS records varies depending
on the particular DNS solution.
...
Restarting the KDC
Please add records in this file to your DNS system:
/tmp/ipa.system.records.UFRBto.db
Restarting the web server
...
IMPORTANT
The server installation is not complete until you add the DNS records to the
existing DNS servers.
Additional resources
For more information about the DNS resource records you must add to your DNS system, see
IdM DNS records for external DNS systems .
37
Red Hat Enterprise Linux 9 Installing Identity Management
NOTE
Procedure
1. Run the ipa-server-install utility with the options to supply all the required information. The
minimum required options for non-interactive installation are:
--ds-password to provide the password for the Directory Manager (DM), the
Directory Server super user
--unattended to let the installation process select default options for the host name and
domain name
For example:
2. The installation script produces a file with DNS resource records: the
/tmp/ipa.system.records.UFRPto.db file in the example output below. Add these records to
the existing external DNS servers. The process of updating the DNS records varies depending
on the particular DNS solution.
...
Restarting the KDC
Please add records in this file to your DNS system:
/tmp/ipa.system.records.UFRBto.db
Restarting the web server
...
IMPORTANT
The server installation is not complete until you add the DNS records to the
existing DNS servers.
Additional resources
For more information about the DNS resource records you must add to your DNS system, see
IdM DNS records for external DNS systems .
For a complete list of options accepted by ipa-server-install , run the ipa-server-install --help
command.
38
CHAPTER 5. INSTALLING AN IDM SERVER: WITHOUT INTEGRATED DNS, WITH AN INTEGRATED CA AS THE ROOT CA
The ipa-server-install installation script generates a file containing the list of DNS resource records
with a file name in the format /tmp/ipa.system.records.<random_characters>.db and prints
instructions to add those records:
NOTE
After adding the LDAP and Kerberos DNS resource records for the IdM server to your
DNS system, ensure that the DNS management tools have not added PTR records for
ipa-ca. The presence of PTR records for ipa-ca in your DNS could cause subsequent IdM
replica installations to fail.
39
Red Hat Enterprise Linux 9 Installing Identity Management
NOTE
Red Hat strongly recommends installing IdM-integrated DNS for basic usage within the
IdM deployment: When the IdM server also manages DNS, there is tight integration
between DNS and native IdM tools which enables automating some of the DNS record
management.
For more details, see Planning your DNS services and host names .
You are installing a new IdM server or replica by using the ipa-server-install command.
You are installing the CA component into an existing IdM server by using the ipa-ca-install
command.
You can use following options for both commands that you can use for creating a certificate signing
request (CSR) during the installation of an IdM CA with an external CA as the root CA.
--external-ca-type=TYPE
Type of the external CA. Possible values are generic and ms-cs. The default value is generic. Use
ms-cs to include a template name required by Microsoft Certificate Services (MS CS) in the
generated CSR. To use a non-default profile, use the --external-ca-profile option in conjunction
with --external-ca-type=ms-cs.
--external-ca-profile=PROFILE_SPEC
Specify the certificate profile or template that you want the MS CS to apply when issuing the
certificate for your IdM CA.
Note that the --external-ca-profile option can only be used if --external-ca-type is ms-cs.
<name>. You can specify a certificate template by its name. The name cannot contain any :
characters and cannot be an OID, otherwise the OID-based template specifier syntax takes
precedence.
default. If you use this specifier, the template name SubCA is used.
In certain scenarios, the Active Directory (AD) administrator can use the Subordinate Certification
Authority (SCA) template, which is a built-in template in AD CS, to create a unique template to better
suit the needs of the organization. The new template can, for example, have a customized validity period
40
CHAPTER 6. INSTALLING AN IDM SERVER: WITHOUT INTEGRATED DNS, WITH AN EXTERNAL CA AS THE ROOT CA
and customized extensions. The associated Object Identifier (OID) can be found in the AD Certificates
Template console.
If the AD administrator has disabled the original, built-in template, you must specify the OID or name of
the new template when requesting a certificate for your IdM CA. Ask your AD administrator to provide
you with the name or OID of the new template.
If the original SCA AD CS template is still enabled, you can use it by specifying --external-ca-type=ms-
cs without additionally using the --external-ca-profile option. In this case, the subCA external CA
profile is used, which is the default IdM template corresponding to the SCA AD CS template.
Prerequisites
You have determined the type of the external CA to specify with the --external-ca-type option.
See the ipa-server-install(1) man page for details.
If you are using a Microsoft Certificate Services certificate authority (MS CS CA) as your
external CA: you have determined the certificate profile or template to specify with the --
external-ca-profile option. By default, the SubCA template is used.
For more information about the --external-ca-type and --external-ca-profile options, see
Options used when installing an IdM CA with an external CA as the root CA .
Procedure
If you are using the Microsoft Certificate Services (MS CS) CA, also use the --external-ca-
type option and, optionally, the --external-ca-profile option:
If you are not using MS CS to generate the signing certificate for your IdM CA, no other
option may be necessary:
# ipa-server-install --external-ca
2. The script prompts to configure an integrated DNS service. Press Enter to select the default no
option.
41
Red Hat Enterprise Linux 9 Installing Identity Management
3. The script prompts for several required settings and offers recommended default values in
brackets.
WARNING
Plan these names carefully. You will not be able to change them after
the installation is complete.
4. Enter the passwords for the Directory Server superuser (cn=Directory Manager) and for the
IdM administration system user account (admin).
6. During the configuration of the Certificate System instance, the utility prints the location of the
certificate signing request (CSR): /root/ipa.csr:
...
a. Submit the CSR located in /root/ipa.csr to the external CA. The process differs depending
on the service to be used as the external CA.
b. Retrieve the issued certificate and the CA certificate chain for the issuing CA in a base 64-
encoded blob (either a PEM file or a Base_64 certificate from a Windows CA). Again, the
process differs for every certificate service. Usually, a download link on a web page or in the
notification email allows the administrator to download all the required certificates.
IMPORTANT
42
CHAPTER 6. INSTALLING AN IDM SERVER: WITHOUT INTEGRATED DNS, WITH AN EXTERNAL CA AS THE ROOT CA
IMPORTANT
Be sure to get the full certificate chain for the CA, not just the CA certificate.
c. Run ipa-server-install again, this time specifying the locations and names of the newly-
issued CA certificate and the CA chain files. For example:
7. The installation script now configures the server. Wait for the operation to complete.
8. The installation script produces a file with DNS resource records: the
/tmp/ipa.system.records.UFRPto.db file in the example output below. Add these records to
the existing external DNS servers. The process of updating the DNS records varies depending
on the particular DNS solution.
...
Restarting the KDC
Please add records in this file to your DNS system:
/tmp/ipa.system.records.UFRBto.db
Restarting the web server
...
IMPORTANT
The server installation is not complete until you add the DNS records to the
existing DNS servers.
Additional resources
For more information about the DNS resource records you must add to your DNS system, see
IdM DNS records for external DNS systems .
The ipa-server-install --external-ca command can sometimes fail with the following error:
This failure occurs when the *_proxy environmental variables are set. For a solution of the
problem, see Troubleshooting: External CA installation fails .
NOTE
43
Red Hat Enterprise Linux 9 Installing Identity Management
NOTE
Prerequisites
You have determined the type of the external CA to specify with the --external-ca-type option.
See the ipa-server-install(1) man page for details.
If you are using a Microsoft Certificate Services certificate authority (MS CS CA) as your
external CA: you have determined the certificate profile or template to specify with the --
external-ca-profile option. By default, the SubCA template is used.
For more information about the --external-ca-type and --external-ca-profile options, see
Options used when installing an IdM CA with an external CA as the root CA .
Procedure
1. Run the ipa-server-install utility with the options to supply all the required information. The
minimum required options for non-interactive installation of an IdM server with an external CA
as the root CA are:
--ds-password to provide the password for the Directory Manager (DM), the
Directory Server super user
--unattended to let the installation process select default options for the host name and
domain name
For example:
If you are using a Microsoft Certificate Services (MS CS) CA, also use the --external-ca-type
option and, optionally, the --external-ca-profile option. For more information, see Options used
when installing an IdM CA with an external CA as the root CA.
2. During the configuration of the Certificate System instance, the utility prints the location of the
certificate signing request (CSR): /root/ipa.csr:
...
44
CHAPTER 6. INSTALLING AN IDM SERVER: WITHOUT INTEGRATED DNS, WITH AN EXTERNAL CA AS THE ROOT CA
a. Submit the CSR located in /root/ipa.csr to the external CA. The process differs depending
on the service to be used as the external CA.
b. Retrieve the issued certificate and the CA certificate chain for the issuing CA in a base 64-
encoded blob (either a PEM file or a Base_64 certificate from a Windows CA). Again, the
process differs for every certificate service. Usually, a download link on a web page or in the
notification email allows the administrator to download all the required certificates.
IMPORTANT
Be sure to get the full certificate chain for the CA, not just the CA certificate.
c. Run ipa-server-install again, this time specifying the locations and names of the newly-
issued CA certificate and the CA chain files. For example:
3. The installation script now configures the server. Wait for the operation to complete.
4. The installation script produces a file with DNS resource records: the
/tmp/ipa.system.records.UFRPto.db file in the example output below. Add these records to
the existing external DNS servers. The process of updating the DNS records varies depending
on the particular DNS solution.
...
Restarting the KDC
Please add records in this file to your DNS system:
/tmp/ipa.system.records.UFRBto.db
Restarting the web server
...
IMPORTANT
The server installation is not complete until you add the DNS records to the existing DNS
servers.
Additional resources
For more information about the DNS resource records you must add to your DNS system, see
IdM DNS records for external DNS systems .
The ipa-server-install installation script generates a file containing the list of DNS resource records
with a file name in the format /tmp/ipa.system.records.<random_characters>.db and prints
instructions to add those records:
45
Red Hat Enterprise Linux 9 Installing Identity Management
NOTE
After adding the LDAP and Kerberos DNS resource records for the IdM server to your
DNS system, ensure that the DNS management tools have not added PTR records for
ipa-ca. The presence of PTR records for ipa-ca in your DNS could cause subsequent IdM
replica installations to fail.
46
CHAPTER 7. INSTALLING AN IDM SERVER OR REPLICA WITH CUSTOM DATABASE SETTINGS FROM AN LDIF FILE
Prerequisites
You have determined custom Directory Server settings that improve the performance of your
IdM environment. See Adjusting IdM Directory Server performance .
Procedure
1. Create a text file in LDIF format with your custom database settings. Separate LDAP attribute
modifications with a dash (-). This example sets non-default values for the idle timeout and
maximum file descriptors.
dn: cn=config
changetype: modify
replace: nsslapd-idletimeout
nsslapd-idletimeout=1800
-
replace: nsslapd-maxdescriptors
nsslapd-maxdescriptors=8192
2. Use the --dirsrv-config-file parameter to pass the LDIF file to the installation script.
Additional resources
47
Red Hat Enterprise Linux 9 Installing Identity Management
/var/log/ipaserver-install.log
/var/log/httpd/error_log
/var/log/dirsrv/slapd-INSTANCE-NAME/access
/var/log/dirsrv/slapd-INSTANCE-NAME/errors
The last lines of the log files report success or failure, and the ERROR and DEBUG entries provide
additional context.
To troubleshoot a failing IdM server installation, review the errors at the end of the log files and use this
information to resolve any corresponding issues.
Prerequisites
You must have root privileges to display the contents of IdM log files.
Procedure
1. Use the tail command to display the last lines of a log file. The following example displays the
last 10 lines of /var/log/ipaserver-install.log.
2. To review a log file interactively, open the end of the log file using the less utility and use the ↑
and ↓ arrow keys to navigate. The following example opens the /var/log/ipaserver-install.log
file interactively.
48
CHAPTER 8. TROUBLESHOOTING IDM SERVER INSTALLATION
3. Gather additional troubleshooting information by repeating this review process with the
remaining log files.
Additional resources
If you are unable to resolve a failing IdM server installation, and you have a Red Hat Technical
Support subscription, open a Technical Support case at the Red Hat Customer Portal and
provide an sosreport of the server.
The sosreport utility collects configuration details, logs and system information from a RHEL
system. For more information about the sosreport utility, see What is an sosreport and how to
create one in Red Hat Enterprise Linux?.
Location Description
/var/log/pki/pki-
tomcat/catalina.$DATE.log
NOTE
49
Red Hat Enterprise Linux 9 Installing Identity Management
NOTE
If a full IdM server installation fails while installing the optional CA component, no details
about the CA are logged; a message is logged in the /var/log/ipaserver-install.log file
indicating that the overall installation process failed. Red Hat recommends reviewing the
log files listed above for details specific to the CA installation failure.
The only exception to this behavior is when you are installing the CA service and the root
CA is an external CA. If there is an issue with the certificate from the external CA, errors
are logged in /var/log/ipaserver-install.log.
To troubleshoot a failing IdM CA installation, review the errors at the end of these log files and use this
information to resolve any corresponding issues.
Prerequisites
You must have root privileges to display the contents of IdM log files.
Procedure
1. To review a log file interactively, open the end of the log file using the less utility and use the ↑
and ↓ arrow keys to navigate, while searching for ScriptError entries. The following example
opens /var/log/pki/pki-ca-spawn.$TIME_OF_INSTALLATION.log.
2. Gather additional troubleshooting information by repeating this review process with all the log
files listed above.
Additional resources
If you are unable to resolve a failing IdM server installation, and you have a Red Hat Technical
Support subscription, open a Technical Support case at the Red Hat Customer Portal and
provide an sosreport of the server.
The sosreport utility collects configuration details, logs and system information from a RHEL
system. For more information about the sosreport utility, see What is an sosreport and how to
create one in Red Hat Enterprise Linux?.
To resolve this issue, uninstall the partial IdM server configuration and retry the installation process.
50
CHAPTER 8. TROUBLESHOOTING IDM SERVER INSTALLATION
Prerequisites
Procedure
1. Uninstall the IdM server software from the host you are trying to configure as an IdM server.
2. If you continue to experience difficulty installing an IdM server because of repeated failed
installations, reinstall the operating system.
One of the requirements for installing an IdM server is a clean system without any
customization. Failed installations may have compromised the integrity of the host by
unexpectedly modifying system files.
Additional resources
For additional details on uninstalling an IdM server, see Uninstalling an IdM server .
If installation attempts fail after repeated uninstallation attempts, and you have a Red Hat
Technical Support subscription, open a Technical Support case at the Red Hat Customer Portal
and provide an sosreport of the server.
The sosreport utility collects configuration details, logs and system information from a RHEL
system. For more information about the sosreport utility, see What is an sosreport and how to
create one in Red Hat Enterprise Linux?.
Additional resources
For additional details on uninstalling an IdM server, see Uninstalling an IdM server .
If installation attempts fail after repeated uninstallation attempts, and you have a Red Hat
Technical Support subscription, open a Technical Support case at the Red Hat Customer Portal
and provide an sosreport of the server.
The sosreport utility collects configuration details, logs and system information from a RHEL
system. For more information about the sosreport utility, see What is an sosreport and how to
create one in Red Hat Enterprise Linux?.
51
Red Hat Enterprise Linux 9 Installing Identity Management
Prerequisites
Procedure
1. If your IdM environment uses integrated DNS, ensure that server123 is not the only enabled
DNS server:
If server123 is the only remaining DNS server in the topology, add the DNS server role to
another IdM server. For more information, see the ipa-dns-install(1) man page.
If server123 is the only remaining CA server in the topology, add the CA server role to
another IdM server. For more information, see the ipa-ca-install(1) man page.
b. If you have enabled vaults in your IdM environment, ensure that server123.idm.example.com
is not the only enabled Key Recovery Authority (KRA) server:
52
CHAPTER 9. UNINSTALLING AN IDM SERVER
If server123 is the only remaining KRA server in the topology, add the KRA server role to
another IdM server. For more information, see man ipa-kra-install(1).
If server123 is the CA renewal server, see Changing and resetting IdM CA renewal server for
more information about how to move the CA renewal server role to another server.
d. Ensure that server123.idm.example.com is not the current certificate revocation list (CRL)
publisher:
If the output shows that CRL generation is enabled on server123, see Generating CRL on an
IdM CA server for more information about how to move the CRL publisher role to another
server.
$ ssh idm_user@server456
The output shows that a DNA ID range is assigned to both server123 and server456.
6. If server123 is the only IdM server in the topology with a DNA ID range assigned, create a test
53
Red Hat Enterprise Linux 9 Installing Identity Management
6. If server123 is the only IdM server in the topology with a DNA ID range assigned, create a test
IdM user on server456 to ensure that the server has a DNA ID range assigned:
IMPORTANT
If deleting server123 would lead to a disconnected topology, the script warns you
about it. For information about how to create a replication agreement between
the remaining replicas so that the deletion can proceed, see Setting up
replication between two servers using the CLI.
NOTE
Running the ipa server-del command removes all replication data and
agreements related to server123 for both the domain and ca suffixes. This is in
contrast to Domain Level 0 IdM topologies, where you initially had to remove
these data by using the ipa-replica-manage del server123 command. Domain
Level 0 IdM topologies are those running on RHEL 7.2 and earlier. Use the ipa
domainlevel-get command to view the current domain level.
9. Ensure that all name server (NS) DNS records pointing to server123.idm.example.com are
deleted from your DNS zones. This applies regardless of whether you use integrated DNS
managed by IdM or external DNS. For more information about how to delete DNS records from
IdM, see Deleting DNS records in the IdM CLI .
Additional resources
54
CHAPTER 10. RENAMING AN IDM SERVER
Procedure
1. Install a new replica that will replace the existing server, ensuring the replica has the required
host name and IP address. For details, see Installing an IdM replica .
IMPORTANT
If the server you are uninstalling is the certificate revocation list (CRL) publisher
server, make another server the CRL publisher server before proceeding.
For details on how this is done in the context of a migration procedure, see the
following sections:
55
Red Hat Enterprise Linux 9 Installing Identity Management
To update all IdM packages that are relevant for your profile and that have updates available:
IMPORTANT
Before installing an update, make sure you have applied all previously released
errata relevant to the RHEL system.
Alternatively, to install or update packages to match the latest version available for your profile
from any enabled repository:
After you update the IdM packages on at least one server, all other servers in the topology receive the
updated schema, even if you do not update their packages. This ensures that any new entries which use
the new schema can be replicated among the other servers.
WARNING
When updating multiple IdM servers, wait at least 10 minutes after updating one
server before updating another server. However, the actual time required for a
server’s successful update depends on the topology deployed, the latency of the
connections, and the number of changes generated by the update.
When two or more servers are updated 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.
IMPORTANT
Red Hat recommends upgrading to the next version only. For example, if you want to
upgrade to IdM for RHEL 8.8, we recommend upgrading from IdM for RHEL 8.7.
Upgrading from earlier versions can cause problems.
56
CHAPTER 11. UPDATING AND DOWNGRADING IDM
57
Red Hat Enterprise Linux 9 Installing Identity Management
RHEL 7
RHEL 8
RHEL 9
NOTE
While other client systems, for example Ubuntu, can work with IdM 9 servers, Red Hat does not
provide support for these clients.
However, the hostnames of IdM clients are not required to be part of the primary DNS domain. If the
client machine hostname is not in a subdomain of an IdM server, pass the IdM domain as the --domain
option of the ipa-client-install command. In that case, after the installation of the client, both SSSD
and Kerberos components will have the domain set in their configuration files and will use it to
autodiscover IdM servers.
Additional resources
For details on DNS requirements in IdM, see Host name and DNS requirements for IdM .
On IdM client, these ports must be open in the outgoing direction. If you are using a firewall that does not
filter outgoing packets, such as firewalld, the ports are already available in the outgoing direction.
Additional resources
For information about which specific ports are used, see Port requirements for IdM .
58
CHAPTER 12. PREPARING THE SYSTEM FOR IDM CLIENT INSTALLATION
lookup_family_order = ipv4_only
Additional resources
For more information about the lookup_family_order option, see the sssd.conf(5) man page.
Procedure
59
Red Hat Enterprise Linux 9 Installing Identity Management
To install an Identity Management (IdM) client successfully, you must provide credentials that can be
used to enroll the client.
13.1. PREREQUISITES
You have prepared the system for IdM client installation. For details, see Preparing the system
for IdM client installation.
Prerequisites
Ensure you have the credentials of a user authorized to enroll clients into the IdM domain. This
could be, for example, a hostadmin user with the Enrollment Administrator role.
Procedure
1. Run the ipa-client-install utility on the system that you want to configure as an IdM client.
# ipa-client-install --mkhomedir
Add the --enable-dns-updates option to update the DNS records with the IP address of the
client system if either of the following conditions applies:
The IdM server the client will be enrolled with was installed with integrated DNS
The DNS server on the network accepts DNS entry updates with the GSS-TSIG protocol
has a dynamic IP address issued using the Dynamic Host Configuration Protocol
has a static IP address but it has just been allocated and the IdM server does not know about
it
2. The installation script attempts to obtain all the required settings, such as DNS records,
automatically.
If the SRV records are set properly in the IdM DNS zone, the script automatically discovers
all the other required values and displays them. Enter yes to confirm.
60
CHAPTER 13. INSTALLING AN IDM CLIENT
Realm: EXAMPLE.COM
DNS Domain: example.com
IPA Server: server.example.com
BaseDN: dc=example,dc=com
To install the system with different values, enter no. Then run ipa-client-install again, and
specify the required values by adding command-line options to ipa-client-install, for
example:
--hostname
--realm
--domain
--server
--mkhomedir
IMPORTANT
Only numbers, alphabetic characters, and hyphens (-) are allowed. For
example, underscores are not allowed and can cause DNS failures.
The host name must be all lower-case. No capital letters are allowed.
If the script fails to obtain some settings automatically, it prompts you for the values.
3. The script prompts for a user whose identity will be used to enroll the client. This could be, for
example, a hostadmin user with the Enrollment Administrator role:
4. The installation script now configures the client. Wait for the operation to complete.
Additional resources
For details on how the client installation script searches for the DNS records, see the DNS
Autodiscovery section in the ipa-client-install(1) man page.
61
Red Hat Enterprise Linux 9 Installing Identity Management
Prerequisites
On a server in the domain, add the future client system as an IdM host. Use the --random option
with the ipa host-add command to generate a one-time random password for the enrollment.
NOTE
The ipa host-add <client_fqdn> command requires that the client FQDN is
resolvable through DNS. If it is not resolvable, provide the IdM client system’s IP
address using the --ip address option or alternatively, use the --force option.
NOTE
The generated password will become invalid after you use it to enroll the
machine into the IdM domain. It will be replaced with a proper host keytab after
the enrollment is finished.
Procedure
1. Run the ipa-client-install utility on the system that you want to configure as an IdM client.
Use the --password option to provide the one-time random password. Because the password
often contains special characters, enclose it in single quotes (').
Add the --enable-dns-updates option to update the DNS records with the IP address of the
client system if either of the following conditions applies:
The IdM server the client will be enrolled with was installed with integrated DNS
The DNS server on the network accepts DNS entry updates with the GSS-TSIG protocol
has a dynamic IP address issued using the Dynamic Host Configuration Protocol
has a static IP address but it has just been allocated and the IdM server does not know about
it
2. The installation script attempts to obtain all the required settings, such as DNS records,
automatically.
62
CHAPTER 13. INSTALLING AN IDM CLIENT
If the SRV records are set properly in the IdM DNS zone, the script automatically discovers
all the other required values and displays them. Enter yes to confirm.
To install the system with different values, enter no. Then run ipa-client-install again, and
specify the required values by adding command-line options to ipa-client-install, for
example:
--hostname
--realm
--domain
--server
--mkhomedir
IMPORTANT
Only numbers, alphabetic characters, and hyphens (-) are allowed. For
example, underscores are not allowed and can cause DNS failures.
The host name must be all lower-case. No capital letters are allowed.
If the script fails to obtain some settings automatically, it prompts you for the values.
3. The installation script now configures the client. Wait for the operation to complete.
Additional resources
For details on how the client installation script searches for the DNS records, see the DNS
Autodiscovery section in the ipa-client-install(1) man page.
63
Red Hat Enterprise Linux 9 Installing Identity Management
--principal and --password to specify the credentials of a user authorized to enroll clients
--hostname to specify a static fully qualified domain name (FQDN) for the client machine.
IMPORTANT
Only numbers, alphabetic characters, and hyphens (-) are allowed. For
example, underscores are not allowed and can cause DNS failures.
The host name must be all lower-case. No capital letters are allowed.
--domain to specify the primary DNS domain of an existing IdM deployment, e.g.
example.com. The name is a lowercase version of the IdM Kerberos realm name.
--server to specify the FQDN of the IdM server to connect to. When this option is used, DNS
autodiscovery for Kerberos is disabled and a fixed list of KDC and Admin servers is
configured. Under normal circumstances, this option is not needed as the list of servers is
retrieved from the primary IdM DNS domain.
Additional resources
For a complete list of options accepted by ipa-client-install, see the ipa-client-install (1) man
page.
BASE dc=example,dc=com
URI ldap://ldap.example.com
4. Server processes that rely on system-wide LDAP configuration might require a restart to apply
the changes. Applications that use openldap libraries typically import the configuration when
started.
To test that the Identity Management (IdM) client can obtain information about users defined on the
server, check that you are able to resolve a user defined on the server. For example, to check the default
admin user:
To test that authentication works correctly, su to a root user from a non-root user:
[user@client ~]$ su -
Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0
[root@client ~]#
65
Red Hat Enterprise Linux 9 Installing Identity Management
DNS resolution against the DNS DNS To discover the IP addresses of IdM
resolvers configured on the client servers; (optionally) to add A/AAAA
system and SSHFP records
JSON-RPC calls to the IdM Apache- HTTPS IdM client enrollment; retrieval of CA
based web-service on discovered or certificate chain if LDAP method fails;
configured IdM servers request for a certificate issuance if
required
Requests over TCP/TCP6 to ports LDAP IdM client enrollment; identity retrieval
389 on IdM servers, using SASL by SSSD processes; Kerberos key
GSSAPI authentication, plain LDAP, or retrieval for the host principal
both
Network time protocol (NTP) discovery NTP To synchronize time between the client
and resolution (optionally) system and an NTP server
CLI post-installation operations shows the operations performed by the CLI during an IdM client post-
installation deployment. Web UI post-installation operations shows the operations performed by the
Web UI during an IdM client post-installation deployment.
DNS resolution against the DNS DNS To discover the IP addresses of IdM
resolvers configured on the client servers
system
JSON-RPC calls to the IdM Apache- HTTPS any ipa utility usage
based web-service on discovered or
configured IdM servers
66
CHAPTER 13. INSTALLING AN IDM CLIENT
JSON-RPC calls to the IdM Apache- HTTPS To retrieve the IdM Web UI pages
based web-service on discovered or
configured IdM servers
Additional resources
SSSD communication patterns for more information about how the SSSD daemon
communicates with the services available on the IdM and Active Directory servers.
Certmonger communication patterns for more information about how the certmonger daemon
communicates with the services available on the IdM and Active Directory servers.
The SSSD can be configured to communicate with multiple servers. The tables below show common
communication patterns for SSSD in IdM.
Table 13.4. Communication patterns of SSSD on IdM clients when talking to IdM servers
DNS resolution against the DNS DNS To discover the IP addresses of IdM
resolvers configured on the client servers
system
Requests over TCP/TCP6 to ports LDAP To obtain information about IdM users
389 on IdM servers, using SASL and hosts, download HBAC and sudo
GSSAPI authentication, plain LDAP, or rules, automount maps, the SELinux
both user context, public SSH keys, and
other information stored in IdM LDAP
67
Red Hat Enterprise Linux 9 Installing Identity Management
Table 13.5. Communication patterns of SSSD on IdM servers acting as trust agents when talking to
Active Directory Domain Controllers
DNS resolution against the DNS DNS To discover the IP addresses of IdM
resolvers configured on the client servers
system
Requests to ports 389 (TCP/TCP6 LDAP To query Active Directory user and
and UDP/UDP6) and 3268 group information; to discover Active
(TCP/TCP6) Directory domain controllers
Additional resources
68
CHAPTER 13. INSTALLING AN IDM CLIENT
DNS resolution against the DNS DNS To discover the IP addresses of IdM
resolvers configured on the client servers
system
Access over port 8080 (TCP/TCP6) HTTP To obtain an Online Certificate Status
on the IdM server Protocol (OCSP) responder and
certificate status
(on the first installed server or on the HTTPS To administer the Certificate Authority
server where certificate tracking has on the IdM server (only during IdM
been transferred) Access over port server and replica installation).
8443 (TCP/TCP6) on the IdM server certmonger on the server contacts
only its own local server on ports 8080
and 8443 for CA-related certificate
renewal.
Additional resources
69
Red Hat Enterprise Linux 9 Installing Identity Management
Prerequisites
Do not start the sshd service prior to the kickstart enrollment. Starting sshd before enrolling
the client generates the SSH keys automatically, but the Kickstart file in Section 14.2, “Kickstart
file for client installation” uses a script for the same purpose, which is the preferred solution.
Procedure
1. Pre-create the host entry on the IdM server, and set a temporary password for the entry:
The password is used by Kickstart to authenticate during the client installation and expires after
the first authentication attempt. After the client is successfully installed, it authenticates using
its keytab.
2. Create a Kickstart file with the contents described in Section 14.2, “Kickstart file for client
installation”. Make sure that network is configured properly in the Kickstart file using the
network command.
%packages
...
ipa-client
...
All the required information to access and configure the IdM domain services
The password which you set when pre-creating the client host on the IdM server. in
70
CHAPTER 14. INSTALLING AN IDM CLIENT WITH KICKSTART
The password which you set when pre-creating the client host on the IdM server. in
Section 14.1, “Installing a client with Kickstart” .
For example, the post-installation instructions for a Kickstart installation that uses a one-time
password and retrieves the required options from the command line rather than via DNS can look like
this:
%post --log=/root/ks-post.log
# Generate SSH keys; ipa-client-install uploads them to the IdM server by default
/usr/libexec/openssh/sshd-keygen rsa
Optionally, you can also include other options in the Kickstart file, such as:
To let the client installation script request a certificate for the machine:
Set the system bus address to /dev/null for both the getcert and ipa-client-install utility in
the Kickstart chroot environment. To do this, add these lines to the post-installation
instructions in the Kickstart file before the ipa-client-install instruction:
To test that the Identity Management (IdM) client can obtain information about users defined on the
server, check that you are able to resolve a user defined on the server. For example, to check the default
admin user:
To test that authentication works correctly, su to a root user from a non-root user:
[user@client ~]$ su -
Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0
[root@client ~]#
71
Red Hat Enterprise Linux 9 Installing Identity Management
To troubleshoot a failing IdM client installation, review lines labeled ScriptError in the /var/log/ipaclient-
install.log file and use this information to resolve any corresponding issues.
Prerequisites
You must have root privileges to display the contents of IdM log files.
Procedure
1. Use the grep utility to retrieve any occurrences of the keyword ScriptError from the
/var/log/ipaserver-install.log file.
2. To review a log file interactively, open the end of the log file using the less utility and use the ↑
and ↓ arrow keys to navigate.
Additional resources
If you are unable to resolve a failing IdM client installation, and you have a Red Hat Technical
Support subscription, open a Technical Support case at the Red Hat Customer Portal and
provide an sosreport of the client.
The sosreport utility collects configuration details, logs and system information from a RHEL
system. For more information about the sosreport utility, see What is an sosreport and how to
create one in Red Hat Enterprise Linux?.
72
CHAPTER 15. TROUBLESHOOTING IDM CLIENT INSTALLATION
To fix this problem, verify the configuration and review DNS errors in /var/log/client-install.log.
Prerequisites
You are using IdM DNS as the DNS solution for your IdM environment
Procedure
1. Ensure that dynamic updates for the DNS zone the client is in are enabled:
2. Ensure that the IdM server running the DNS service has port 53 opened for both TCP and UDP
protocols.
3. Use the grep utility to retrieve the contents of nsupdate commands from /var/log/client-
install.log to see which DNS record updates are failing.
Additional resources
If you are unable to resolve a failing installation, and you have a Red Hat Technical Support
subscription, open a Technical Support case at the Red Hat Customer Portal and provide an
sosreport of the client.
The sosreport utility collects configuration details, logs and system information from a RHEL
system. For more information about the sosreport utility, see What is an sosreport and how to
create one in Red Hat Enterprise Linux?.
Prerequisites
73
Red Hat Enterprise Linux 9 Installing Identity Management
Procedure
1. Remove /etc/krb5.keytab.
Additional resources
If you are unable to resolve a failing installation, and you have a Red Hat Technical Support
subscription, open a Technical Support case at the Red Hat Customer Portal and provide an
sosreport of the client.
The sosreport utility collects configuration details, logs and system information from a RHEL
system. For more information about the sosreport utility, see What is an sosreport and how to
create one in Red Hat Enterprise Linux?.
74
CHAPTER 16. RE-ENROLLING AN IDM CLIENT
During the re-enrollment, the client generates a new Kerberos key and SSH keys, but the identity of the
client in the LDAP database remains unchanged. After the re-enrollment, the host has its keys and other
information in the same LDAP object with the same FQDN as previously, before the machine’s loss of
connection with the IdM servers.
IMPORTANT
You can only re-enroll clients whose domain entry is still active. If you uninstalled a client
(using ipa-client-install --uninstall) or disabled its host entry (using ipa host-disable),
you cannot re-enroll it.
You cannot re-enroll a client after you have renamed it. This is because in IdM, the key attribute of the
client’s entry in LDAP is the client’s hostname, its FQDN. As opposed to re-enrolling a client, during
which the client’s LDAP object remains unchanged, the outcome of renaming a client is that the client
has its keys and other information in a different LDAP object with a new FQDN. Therefore, the only way
to rename a client is to uninstall the host from IdM, change the host’s hostname, and install it as an IdM
client with a new name. For details on how to rename a client, see Renaming IdM client systems .
# ipa-client-install --force-join
3. The script prompts for a user whose identity will be used to re-enroll the client. This could be,
for example, a hostadmin user with the Enrollment Administrator role:
75
Red Hat Enterprise Linux 9 Installing Identity Management
Additional resources
For a more detailed procedure on enrolling clients by using an authorized user’s credentials, see
Installing a client by using user credentials: Interactive installation .
Prerequisites
Back up the original client keytab file, for example in the /tmp or /root directory.
Procedure
Follow this procedure to re-enroll an Identity Management (IdM) client non-interactively by using the
keytab of the client system. For example, re-enrollment using the client keytab is appropriate for an
automated installation.
2. Copy the keytab file from the backup location to the /etc/ directory on the re-created client
machine.
3. Use the ipa-client-install utility to re-enroll the client, and specify the keytab location with the -
-keytab option:
NOTE
The keytab specified in the --keytab option is only used when authenticating to
initiate the enrollment. During the re-enrollment, IdM generates a new keytab for
the client.
To test that the Identity Management (IdM) client can obtain information about users defined on the
server, check that you are able to resolve a user defined on the server. For example, to check the default
admin user:
To test that authentication works correctly, su to a root user from a non-root user:
76
CHAPTER 16. RE-ENROLLING AN IDM CLIENT
[user@client ~]$ su -
Last login: Thu Oct 18 18:39:11 CEST 2018 from 192.168.122.1 on pts/0
[root@client ~]#
77
Red Hat Enterprise Linux 9 Installing Identity Management
Procedure
2. Optional: Check that you cannot obtain a Kerberos ticket-granting ticket (TGT) for an IdM user:
If a Kerberos TGT ticket has been returned successfully, follow the additional uninstallation
steps in Uninstalling an IdM client: additional steps after multiple past installations .
3. On the client, remove old Kerberos principals from each identified keytab other than
/etc/krb5.keytab:
4. On an IdM server, remove all DNS entries for the client host from IdM:
5. On the IdM server, remove the client host entry from the IdM LDAP server. This removes all
services and revokes all certificates issued for that host:
IMPORTANT
Removing the client host entry from the IdM LDAP server is crucial if you think
you might re-enroll the client in the future, with a different IP address or a
different hostname.
78
CHAPTER 17. UNINSTALLING AN IDM CLIENT
In this situation, you must manually remove the IdM Kerberos configuration. In extreme cases, you must
reinstall the operating system.
Prerequisites
You have used the ipa-client-install --uninstall command to uninstall the IdM client
configuration from the host. However, you can still obtain a Kerberos ticket-granting ticket
(TGT) for an IdM user from the IdM server.
You have checked that the /var/lib/ipa-client/sysrestore directory is empty and hence you
cannot restore the prior-to-IdM-client configuration of the system using the files in the
directory.
Procedure
If the contents of the /etc/krb5.conf.ipa file are the same as the contents of the krb5.conf
file prior to the installation of the IdM client, you can:
# rm /etc/krb5.conf
# mv /etc/krb5.conf.ipa /etc/krb5.conf
If the contents of the /etc/krb5.conf.ipa file are not the same as the contents of the
krb5.conf file prior to the installation of the IdM client, you can at least restore the Kerberos
configuration to the state directly after the installation of the operating system:
As a dependency, this command will also re-install the krb5-workstation package and the
original version of the /etc/krb5.conf file.
Verification steps
79
Red Hat Enterprise Linux 9 Installing Identity Management
[root@r8server ~]#
The /etc/krb5.conf file is now restored to its factory state. As a result, you cannot obtain a Kerberos
TGT for an IdM user on the host.
80
CHAPTER 18. RENAMING IDM CLIENT SYSTEMS
WARNING
Renaming a client is a manual procedure. Do not perform it unless changing the host
name is absolutely required.
1. Preparing the host. For details, see Preparing an IdM client for its renaming .
2. Uninstalling the IdM client from the host. For details, see Uninstalling a client .
4. Installing the IdM client on the host with the new name. For details, see Reinstalling a client.
5. Configuring the host after the IdM client installation. For details, see Re-adding services, re-
generating certificates, and re-adding host groups.
Use the ipa service-find command, and identify services with certificates in the output:
In addition, each host has a default host service which does not appear in the ipa service-
find output. The service principal for the host service, also called a host principal, is
host/old-client-name.example.com.
Each service on the client system has a Kerberos principal in the form
service_name/host_name@REALM, such as ldap/old-client-
[email protected].
81
Red Hat Enterprise Linux 9 Installing Identity Management
Procedure
2. Optional: Check that you cannot obtain a Kerberos ticket-granting ticket (TGT) for an IdM user:
If a Kerberos TGT ticket has been returned successfully, follow the additional uninstallation
steps in Uninstalling an IdM client: additional steps after multiple past installations .
3. On the client, remove old Kerberos principals from each identified keytab other than
/etc/krb5.keytab:
4. On an IdM server, remove all DNS entries for the client host from IdM:
5. On the IdM server, remove the client host entry from the IdM LDAP server. This removes all
services and revokes all certificates issued for that host:
IMPORTANT
Removing the client host entry from the IdM LDAP server is crucial if you think
you might re-enroll the client in the future, with a different IP address or a
different hostname.
In this situation, you must manually remove the IdM Kerberos configuration. In extreme cases, you must
reinstall the operating system.
Prerequisites
You have used the ipa-client-install --uninstall command to uninstall the IdM client
configuration from the host. However, you can still obtain a Kerberos ticket-granting ticket
(TGT) for an IdM user from the IdM server.
You have checked that the /var/lib/ipa-client/sysrestore directory is empty and hence you
cannot restore the prior-to-IdM-client configuration of the system using the files in the
directory.
Procedure
If the contents of the /etc/krb5.conf.ipa file are the same as the contents of the krb5.conf
file prior to the installation of the IdM client, you can:
# rm /etc/krb5.conf
# mv /etc/krb5.conf.ipa /etc/krb5.conf
If the contents of the /etc/krb5.conf.ipa file are not the same as the contents of the
krb5.conf file prior to the installation of the IdM client, you can at least restore the Kerberos
configuration to the state directly after the installation of the operating system:
As a dependency, this command will also re-install the krb5-workstation package and the
original version of the /etc/krb5.conf file.
Verification steps
83
Red Hat Enterprise Linux 9 Installing Identity Management
The /etc/krb5.conf file is now restored to its factory state. As a result, you cannot obtain a Kerberos
TGT for an IdM user on the host.
You can now re-install the Identity Management (IdM) client to the IdM domain with the new host name.
Procedure
1. On the Identity Management (IdM) server, add a new keytab for every service identified in the
Preparing an IdM client for its renaming .
2. Generate certificates for services that had a certificate assigned in the Preparing an IdM client
for its renaming. You can do this:
3. Re-add the client to the host groups identified in the Preparing an IdM client for its renaming .
84
CHAPTER 19. PREPARING THE SYSTEM FOR AN IDM REPLICA INSTALLATION
1. Ensure the target system meets the general requirements for IdM server installation .
2. Ensure the target system meets the additional, version requirements for IdM replica installation .
3. [Optional] If you are adding a RHEL 9 Identity Management (IdM) replica on which FIPS mode is
enabled to a RHEL 8 IdM deployment in FIPS mode, ensure that the replica has the correct
encryption types enabled.
4. Authorize the target system for enrollment into the IdM domain. For more information, see one
of the following sections that best fits your needs:
Authorizing the installation of a replica on a system that is not enrolled into IdM
Additional resources
You have an IdM server installed on Red Hat Enterprise Linux 9 and it uses IdM 4.x packages.
You must install the replica also on Red Hat Enterprise Linux 9 and use IdM version 4.x or later.
This ensures that configuration can be properly copied from the server to the replica.
For details on how to display the IdM software version, see Methods for displaying IdM software version .
ipa commands
rpm commands
85
Red Hat Enterprise Linux 9 Installing Identity Management
By setting the cryptographic policy to FIPS:AD-SUPPORT, you add support for the following
encryption types:
aes256-cts:normal
aes256-cts:special
aes128-cts:normal
aes128-cts:special
Prerequisites
You want to configure the RHEL 9 system as an IdM replica for your RHEL 8 IdM environment in
86
CHAPTER 19. PREPARING THE SYSTEM FOR AN IDM REPLICA INSTALLATION
You want to configure the RHEL 9 system as an IdM replica for your RHEL 8 IdM environment in
FIPS mode.
The encryption type of your IdM master key is not aes256-cts-hmac-sha384-192. For more
information, view the encryption type of your IdM master key .
NOTE
Microsoft’s Active Directory implementation does not yet support any of the
RFC8009 Kerberos encryption types that use SHA-2 HMAC. If you have an IdM-
AD trust configured, FIPS:AD-SUPPORT crypto subpolicy use is therefore
required even if the encryption type of your IdM master key is aes256-cts-hmac-
sha384-192.
Procedure
On the RHEL 9 system, enable the use of the AES HMAC-SHA1 encryption types:
You want a senior system administrator to perform the initial part of the procedure and a junior
administrator to perform the rest.
$ kinit admin
NOTE
Membership in the ipaservers group grants the machine elevated privileges similar to
the administrator’s credentials. Therefore, in the next step, the ipa-replica-install
utility can be run on the host successfully by a junior system administrator.
87
Red Hat Enterprise Linux 9 Installing Identity Management
Let Identity Management (IdM) prompt you for the credentials interactively after you start
the ipa-replica-install utility. This is the default behavior.
Log in to the client as a privileged user immediately before running the ipa-replica-install
utility. The default privileged user is admin:
$ kinit admin
Additional resources
You can use an Ansible playbook to install IdM replicas. For more information, see Installing an
Identity Management replica using an Ansible playbook.
You want a senior system administrator to perform the initial part of the procedure and a junior
administrator to perform the rest.
$ kinit admin
2. Add the external system as an IdM host. Use the --random option with the ipa host-add
command to generate a random one-time password to be used for the subsequent replica
installation.
The generated password will become invalid after you use it to enroll the machine into the
88
CHAPTER 19. PREPARING THE SYSTEM FOR AN IDM REPLICA INSTALLATION
The generated password will become invalid after you use it to enroll the machine into the
IdM domain. It will be replaced with a proper host keytab after the enrollment is finished.
NOTE
Membership in the ipaservers group grants the machine elevated privileges similar to
the administrator’s credentials. Therefore, in the next step, the ipa-replica-install
utility can be run on the host successfully by a junior system administrator that
provides the generated random password.
Additional resources
You can use an Ansible playbook to install IdM replicas. For more information, see Installing an
Identity Management replica using an Ansible playbook.
89
Red Hat Enterprise Linux 9 Installing Identity Management
Prerequisites
IMPORTANT
NOTE
Install one IdM replica at a time. The installation of multiple replicas at the same time is
not supported.
Procedure
For the individual types of replica installation procedures, see:
Section 20.1, “Installing an IdM replica with integrated DNS and a CA”
Section 20.2, “Installing an IdM replica with integrated DNS and no CA”
Section 20.3, “Installing an IdM replica without integrated DNS and with a CA”
Section 20.4, “Installing an IdM replica without integrated DNS and without a CA”
You can do this to, for example, replicate the CA service for resiliency after installing an IdM server with
an integrated CA.
IMPORTANT
90
CHAPTER 20. INSTALLING AN IDM REPLICA
IMPORTANT
When configuring a replica with a CA, the CA configuration of the replica must mirror the
CA configuration of the other server.
For example, if the server includes an integrated IdM CA as the root CA, the new replica
must also be installed with an integrated CA as the root CA. No other CA configuration is
available in this case.
Prerequisites
Procedure
NOTE
For example, to set up a replica with an integrated DNS server and a CA that forwards all DNS
requests not managed by the IdM servers to the DNS server running on IP 192.0.2.1:
2. After the installation completes, add a DNS delegation from the parent domain to the IdM DNS
domain. For example, if the IdM DNS domain is idm.example.com, add a name server (NS)
record to the example.com parent domain.
IMPORTANT
Repeat this step each time after you install an IdM DNS server.
91
Red Hat Enterprise Linux 9 Installing Identity Management
Without a certificate authority (CA) in an IdM environment in which a CA is already installed. The
replica will forward all certificate operations to the IdM server with a CA installed.
Prerequisites
Procedure
For example, to set up a replica with an integrated DNS server that forwards all DNS requests
not managed by the IdM servers to the DNS server running on IP 192.0.2.1:
NOTE
2. After the installation completes, add a DNS delegation from the parent domain to the IdM DNS
domain. For example, if the IdM DNS domain is idm.example.com, add a name server (NS)
record to the example.com parent domain.
IMPORTANT
Repeat this step each time after you install an IdM DNS server.
IMPORTANT
92
CHAPTER 20. INSTALLING AN IDM REPLICA
IMPORTANT
When configuring a replica with a CA, the CA configuration of the replica must mirror the
CA configuration of the other server.
For example, if the server includes an integrated IdM CA as the root CA, the new replica
must also be installed with an integrated CA as the root CA. No other CA configuration is
available in this case.
Prerequisites
Procedure
# ipa-replica-install --setup-ca
2. Add the newly created IdM DNS service records to your DNS server:
a. Export the IdM DNS service records into a file in the nsupdate format:
b. Submit a DNS update request to your DNS server using the nsupdate utility and the
dns_records_file.nsupdate file. For more information, see Updating External DNS Records
Using nsupdate in RHEL 7 documentation. Alternatively, refer to your DNS server
documentation for adding DNS records.
Without a certificate authority (CA) by providing the required certificates manually. The
assumption here is that the first server was installed without a CA.
IMPORTANT
You cannot install a server or replica using self-signed third-party server certificates
because the imported certificate files must contain the full CA certificate chain of the CA
that issued the LDAP and Apache server certificates.
Prerequisites
Procedure
93
Red Hat Enterprise Linux 9 Installing Identity Management
Enter ipa-replica-install, and provide the required certificate files by adding these options:
--dirsrv-cert-file
--dirsrv-pin
--http-cert-file
--http-pin
For details about the files that are provided using these options, see Section 4.1, “Certificates
required to install an IdM server without a CA”.
For example:
# ipa-replica-install \
--dirsrv-cert-file /tmp/server.crt \
--dirsrv-cert-file /tmp/server.key \
--dirsrv-pin secret \
--http-cert-file /tmp/server.crt \
--http-cert-file /tmp/server.key \
--http-pin secret
NOTE
Do not add the --ca-cert-file option. The ipa-replica-install utility takes this part
of the certificate information automatically from the first server you installed.
For further details about hidden replicas, see The hidden replica mode.
Prerequisites
Procedure
ipa-replica-install --hidden-replica
Note that the command installs a replica without DNS SRV records and with disabled LDAP server roles.
You can also change the mode of existing replica to hidden. For details, see Demotion and promotion of
hidden replicas
After creating a replica, check if the replica replicates data as expected. You can use the following
94
CHAPTER 20. INSTALLING AN IDM REPLICA
After creating a replica, check if the replica replicates data as expected. You can use the following
procedure.
Procedure
DNS resolution against the DNS DNS To discover the IP addresses of IdM
resolvers configured on the client servers
system
JSON-RPC calls to the IdM Apache- HTTPS IdM client enrollment; replica keys
based web-service on the discovered retrieval and certificate issuance if
or configured IdM servers required
Requests over TCP/TCP6 to port 389 LDAP IdM client enrollment; CA certificate
on the IdM server, using SASL GSSAPI chain retrieval; LDAP data replication
authentication, plain LDAP, or both
(optionally) Access over port 8443 HTTPS To administer the Certificate Authority
(TCP/TCP6) on the IdM servers on the IdM server (only during IdM
server and replica installation)
95
Red Hat Enterprise Linux 9 Installing Identity Management
/var/log/ipareplica-install.log
/var/log/ipareplica-conncheck.log
/var/log/ipaclient-install.log
/var/log/httpd/error_log
/var/log/dirsrv/slapd-INSTANCE-NAME/access
/var/log/dirsrv/slapd-INSTANCE-NAME/errors
/var/log/ipaserver-install.log
The replica installation process also appends debugging information to the following log files on the IdM
server the replica is contacting:
/var/log/httpd/error_log
/var/log/dirsrv/slapd-INSTANCE-NAME/access
/var/log/dirsrv/slapd-INSTANCE-NAME/errors
The last line of each log file reports success or failure, and ERROR and DEBUG entries provide
additional context.
Additional resources
Prerequisites
You must have root privileges to display the contents of IdM log files.
Procedure
1. Use the tail command to display the latest errors from the primary log file /var/log/ipareplica-
install.log. The following example displays the last 10 lines.
96
CHAPTER 21. TROUBLESHOOTING IDM REPLICA INSTALLATION
2. To review the log file interactively, open the end of the log file using the less utility and use the
↑ and ↓ arrow keys to navigate.
3. (Optional) While /var/log/ipareplica-install.log is the primary log file for a replica installation,
you can gather additional troubleshooting information by repeating this review process with
additional files on the replica and the server.
On the replica:
On the server:
Additional resources
If you are unable to resolve a failing replica installation, and you have a Red Hat Technical
Support subscription, open a Technical Support case at the Red Hat Customer Portal and
provide an sosreport of the replica and an sosreport of the server.
The sosreport utility collects configuration details, logs and system information from a RHEL
system. For more information about the sosreport utility, see What is an sosreport and how to
create one in Red Hat Enterprise Linux?.
97
Red Hat Enterprise Linux 9 Installing Identity Management
Location Description
/var/log/pki/pki-
tomcat/catalina.$DATE.log
Installing the CA service on an existing IdM replica also writes debugging information to the following log
file:
NOTE
If a full IdM replica installation fails while installing the optional CA component, no details
about the CA are logged; a message is logged in the /var/log/ipareplica-install.log file
indicating that the overall installation process failed. Red Hat recommends reviewing the
log files listed above for details specific to the CA installation failure.
The only exception to this behavior is when you are installing the CA service and the root
CA is an external CA. If there is an issue with the certificate from the external CA, errors
are logged in /var/log/ipareplica-install.log.
Additional resources
98
CHAPTER 21. TROUBLESHOOTING IDM REPLICA INSTALLATION
Prerequisites
You must have root privileges to display the contents of IdM log files.
Procedure
1. To review a log file interactively, open the end of the log file using the less utility and use the ↑
and ↓ arrow keys to navigate, while searching for ScriptError entries. The following example
opens /var/log/pki/pki-ca-spawn.$TIME_OF_INSTALLATION.log.
2. Gather additional troubleshooting information by repeating this review process with all the CA
installation error log files.
Additional resources
If you are unable to resolve a failing IdM server installation, and you have a Red Hat Technical
Support subscription, open a Technical Support case at the Red Hat Customer Portal and
provide an sosreport of the server.
The sosreport utility collects configuration details, logs and system information from a RHEL
system. For more information about the sosreport utility, see What is an sosreport and how to
create one in Red Hat Enterprise Linux?.
To resolve this issue, uninstall IdM software from the replica, remove the replica from the IdM topology,
and retry the installation process.
Prerequisites
99
Red Hat Enterprise Linux 9 Installing Identity Management
Procedure
1. Uninstall the IdM server software on the host you are trying to configure as an IdM replica.
2. On all other servers in the topology, use the ipa server-del command to delete any references
to the replica that did not install properly.
4. If you continue to experience difficulty installing an IdM replica because of repeated failed
installations, reinstall the operating system.
One of the requirements for installing an IdM replica is a clean system without any
customization. Failed installations may have compromised the integrity of the host by
unexpectedly modifying system files.
Additional resources
For additional details on uninstalling an IdM replica, see Uninstalling an IdM replica .
If installation attempts fail after repeated uninstallation attempts, and you have a Red Hat
Technical Support subscription, open a Technical Support case at the Red Hat Customer Portal
and provide an sosreport of the replica and an sosreport of the server.
The sosreport utility collects configuration details, logs and system information from a RHEL
system. For more information about the sosreport utility, see What is an sosreport and how to
create one in Red Hat Enterprise Linux?.
If you use the --no-ntp or -N options to attempt the replica installation while clocks are out of sync, the
installation fails because services are unable to authenticate with Kerberos.
To resolve this issue, synchronize the clocks on both hosts and retry the installation process.
100
CHAPTER 21. TROUBLESHOOTING IDM REPLICA INSTALLATION
Prerequisites
Procedure
Synchronizing manually
Display the system time on the server and set the replica’s time to match.
Additional resources
If you are unable to resolve a failing replica installation, and you have a Red Hat Technical
Support subscription, open a Technical Support case at the Red Hat Customer Portal and
provide an sosreport of the replica and an sosreport of the server.
The sosreport utility collects configuration details, logs and system information from a RHEL
system. For more information about the sosreport utility, see What is an sosreport and how to
create one in Red Hat Enterprise Linux?.
101
Red Hat Enterprise Linux 9 Installing Identity Management
102
CHAPTER 23. MANAGING REPLICATION TOPOLOGY
Additional resources
Replication agreements
Topology suffixes
Topology segments
IdM uses multiple read/write replica replication . In this configuration, all replicas joined in a replication
agreement receive and provide updates, and are therefore considered suppliers and consumers.
Replication agreements are always bilateral.
103
Red Hat Enterprise Linux 9 Installing Identity Management
Both replication channels are independent. Two servers can have one or both types of replication
agreements configured between them. For example, when server A and server B have only domain
replication agreement configured, only identity information is replicated between them, not the
certificate information.
When a replication agreement is configured, it joins two topology suffixes of the same type on two
different servers.
An initial topology replication agreement is set up between two servers by the ipa-replica-install script
when installing a new replica.
$ ipa topologysuffix-find
---------------------------
2 topology suffixes matched
---------------------------
Suffix name: ca
Managed LDAP suffix DN: o=ipaca
104
CHAPTER 23. MANAGING REPLICATION TOPOLOGY
Topology segments in IdM are always bidirectional. Each segment represents two replication
agreements: from server A to server B, and from server B to server A. The data is therefore replicated in
both directions.
The ipa topologysegment-find command shows the current topology segments configured for the
domain or CA suffixes. For example, for the domain suffix:
$ ipa topologysegment-find
Suffix name: domain
-----------------
1 segment matched
-----------------
Segment name: server1.example.com-to-server2.example.com
Left node: server1.example.com
Right node: server2.example.com
Connectivity: both
----------------------------
Number of entries returned 1
----------------------------
In this example, domain-related data is only replicated between two servers: server1.example.com
and server2.example.com.
To display details for a particular segment only, use the ipa topologysegment-show command:
105
Red Hat Enterprise Linux 9 Installing Identity Management
$ ipa topologysegment-show
Suffix name: domain
Segment name: server1.example.com-to-server2.example.com
Segment name: server1.example.com-to-server2.example.com
Left node: server1.example.com
Right node: server2.example.com
Connectivity: both
2. If you make any changes to the topology that are not immediately reflected in the graph, click
Refresh.
106
CHAPTER 23. MANAGING REPLICATION TOPOLOGY
In the discouraged topology example below, server1 is a single point of failure. All the other servers
have replication agreements with this server, but not with any of the other servers. Therefore, if
server1 fails, all the other servers will become isolated.
Avoid creating topologies like this.
You can zoom in and zoom out the topology graph using the mouse wheel:
You can move the canvas of the topology graph by holding the left mouse button:
Prerequisites
Procedure
1. In the topology graph, hover your mouse over one of the server nodes.
2. Click on the domain or the ca part of the circle depending on what type of topology segment
you want to create.
3. A new arrow representing the new replication agreement appears under your mouse pointer.
Move your mouse to the other server node, and click on it.
4. In the Add topology segment window, click Add to confirm the properties of the new segment.
The new topology segment between the two servers joins them in a replication agreement. The
topology graph now shows the updated replication topology:
Prerequisites
Procedure
1. Click on an arrow representing the replication agreement you want to remove. This highlights
the arrow.
2. Click Delete.
IdM removes the topology segment between the two servers, which deletes their replication agreement.
110
CHAPTER 23. MANAGING REPLICATION TOPOLOGY
IdM removes the topology segment between the two servers, which deletes their replication agreement.
The topology graph now shows the updated replication topology:
Prerequisites
Procedure
1. Use the ipa topologysegment-add command to create a topology segment for the two
servers. When prompted, provide:
the left node and the right node, representing the two servers
$ ipa topologysegment-add
Suffix name: domain
Left node: server1.example.com
Right node: server2.example.com
Segment name [server1.example.com-to-server2.example.com]: new_segment
---------------------------
Added segment "new_segment"
---------------------------
Segment name: new_segment
Left node: server1.example.com
Right node: server2.example.com
Connectivity: both
111
Red Hat Enterprise Linux 9 Installing Identity Management
2. Optional. Use the ipa topologysegment-show command to verify that the new segment is
configured.
$ ipa topologysegment-show
Suffix name: domain
Segment name: new_segment
Segment name: new_segment
Left node: server1.example.com
Right node: server2.example.com
Connectivity: both
Prerequisites
Procedure
1. To stop replication, you must delete the corresponding replication segment between the
servers. To do that, you need to know the segment name.
If you do not know the name, use the ipa topologysegment-find command to display all
segments, and locate the required segment in the output. When prompted, provide the required
topology suffix: domain or ca. For example:
$ ipa topologysegment-find
Suffix name: domain
------------------
8 segments matched
------------------
Segment name: new_segment
Left node: server1.example.com
Right node: server2.example.com
Connectivity: both
...
----------------------------
Number of entries returned 8
----------------------------
2. Use the ipa topologysegment-del command to remove the topology segment joining the two
servers.
$ ipa topologysegment-del
Suffix name: domain
Segment name: new_segment
112
CHAPTER 23. MANAGING REPLICATION TOPOLOGY
-----------------------------
Deleted segment "new_segment"
-----------------------------
3. Optional. Use the ipa topologysegment-find command to verify that the segment is no longer
listed.
$ ipa topologysegment-find
Suffix name: domain
------------------
7 segments matched
------------------
Segment name: server2.example.com-to-server3.example.com
Left node: server2.example.com
Right node: server3.example.com
Connectivity: both
...
----------------------------
Number of entries returned 7
----------------------------
Prerequisites
The server you want to remove is not the only server connecting other servers with the rest of
the topology; this would cause the other servers to become isolated, which is not allowed.
The server you want to remove is not your last CA or DNS server.
WARNING
Removing a server is an irreversible action. If you remove a server, the only way to
introduce it back into the topology is to install a new replica on the machine.
Procedure
To remove a server from the topology without uninstalling the server components from the machine:
Prerequisites
The server you want to remove is not the only server connecting other servers with the rest of
the topology; this would cause the other servers to become isolated, which is not allowed
The server you want to remove is not your last CA or DNS server.
IMPORTANT
Removing a server is an irreversible action. If you remove a server, the only way to
introduce it back into the topology is to install a new replica on the machine.
Procedure
To remove server1.example.com:
1. On another server, run the ipa server-del command to remove server1.example.com. The
command removes all topology segments pointing to the server:
114
CHAPTER 23. MANAGING REPLICATION TOPOLOGY
CA server
DNS server
For a complete list of the supported server roles, see IPA Server → Topology → Server Roles.
NOTE
Role status absent means that no server in the topology is performing the role.
Role status enabled means that one or more servers in the topology are
performing the role.
CA server
DNS server
You can view which servers perform which roles in the topology using the following commands.
The ipa config-show command displays all CA servers and the current CA renewal server:
$ ipa config-show
...
IPA masters: server1.example.com, server2.example.com, server3.example.com
IPA CA servers: server1.example.com, server2.example.com
IPA CA renewal master: server1.example.com
The ipa server-show command displays a list of roles enabled on a particular server. For
example, for a list of roles enabled on server.example.com:
115
Red Hat Enterprise Linux 9 Installing Identity Management
$ ipa server-show
Server name: server.example.com
...
Enabled server roles: CA server, DNS server, KRA server
The ipa server-find --servrole searches for all servers with a particular server role enabled. For
example, to search for all CA servers:
Prerequisites
Procedure
For details about hidden replicas, see The hidden replica mode.
If the replica is a CA renewal server, move the service to another replica before making this replica
hidden.
116
CHAPTER 23. MANAGING REPLICATION TOPOLOGY
Procedure
Alternatively, you can make the replica visible with the following command:
117
Red Hat Enterprise Linux 9 Installing Identity Management
NOTE
The Healthcheck tool is a command line tool that can be used without Kerberos
authentication.
Replication issues
Certificate validity
You can specify a different file destination with the --output-file option.
Results
Each Healthcheck module returns one of the following results:
SUCCESS
configured as expected
WARNING
not an error, but worth keeping an eye on or evaluating
ERROR
not configured as expected
CRITICAL
not configured as expected, with a high possibility for impact
118
CHAPTER 24. INSTALLING AND RUNNING THE IDM HEALTHCHECK TOOL
Procedure
Verification steps
Use the --failures-only option to have ipa-healthcheck only report errors. A fully-functioning
IdM installation returns an empty result of [].
Additional resources
Prerequisites
Procedure
Additional resources
Checking services
Verifying certificates
119
Red Hat Enterprise Linux 9 Installing Identity Management
Checking replication
120
CHAPTER 25. INSTALLING AN IDENTITY MANAGEMENT SERVER USING AN ANSIBLE PLAYBOOK
Prerequisites
Ansible roles
Ansible nodes
Ansible inventory
Ansible tasks
Ansible modules
You do not need to configure settings on each host to be deployed individually. Instead, you can
have one inventory file to deploy a complete cluster.
You can reuse an inventory file later for management tasks, for example to add users and hosts.
You can reuse an inventory file even for such tasks as are not related to IdM.
Additional resources
Prerequisites
121
Red Hat Enterprise Linux 9 Installing Identity Management
Ensure that the managed node is a Red Hat Enterprise Linux 9 system with a static IP
address and a working package manager.
On the controller:
Ensure that the controller is a Red Hat Enterprise Linux system with a valid subscription. If
this is not the case, see the official Ansible documentation Installation guide for alternative
installation instructions.
Ensure that you can reach the managed node over the SSH protocol from the controller.
Check that the managed node is listed in the /root/.ssh/known_hosts file of the controller.
Procedure
Run the following procedure on the Ansible controller.
The /usr/share/ansible/roles/ directory stores the ipaserver, ipareplica, and ipaclient roles on
the Ansible controller. Each role directory stores examples, a basic overview, the license and
documentation about the role in a README.md Markdown file.
[root@server]# ls -1 /usr/share/ansible/roles/
ipaclient
ipareplica
ipaserver
[root@server]# ls -1 /usr/share/doc/ansible-freeipa/
playbooks
README-client.md
README.md
README-replica.md
README-server.md
README-topology.md
122
CHAPTER 25. INSTALLING AN IDENTITY MANAGEMENT SERVER USING AN ANSIBLE PLAYBOOK
[root@server]# ls -1 /usr/share/doc/ansible-freeipa/playbooks/
install-client.yml
install-cluster.yml
install-replica.yml
install-server.yml
uninstall-client.yml
uninstall-cluster.yml
uninstall-replica.yml
uninstall-server.yml
NOTE
The inventory in this procedure uses the INI format. You can, alternatively, use the YAML
or JSON formats.
Procedure
1. Open the inventory file for editing. Specify the fully-qualified domain names (FQDN) of the
host you want to use as an IdM server. Ensure that the FQDN meets the following criteria:
Only alphanumeric characters and hyphens (-) are allowed. For example, underscores are
not allowed and can cause DNS failures.
3. Specify that you want to use integrated DNS by adding the following option:
ipaserver_setup_dns=yes
4. Specify the DNS forwarding settings. Choose one of the following options:
Use the ipaserver_auto_forwarders=yes option if you want the installer to use forwarders
from the /etc/resolv.conf file. Do not use this option if the nameserver specified in the
/etc/resolv.conf file is the localhost 127.0.0.1 address or if you are on a virtual private
network and the DNS servers you are using are normally unreachable from the public
internet.
Use the ipaserver_forwarders option to specify your forwarders manually. The installation
process adds the forwarder IP addresses to the /etc/named.conf file on the installed IdM
server.
NOTE
123
Red Hat Enterprise Linux 9 Installing Identity Management
NOTE
With no DNS forwarders, your environment is isolated, and names from other
DNS domains in your infrastructure are not resolved.
5. Specify the DNS reverse record and zone settings. Choose from the following options:
Use the ipaserver_no_reverse=yes option if you do not want the installer to create a
reverse DNS zone.
NOTE
Using IdM to manage reverse zones is optional. You can use an external DNS
service for this purpose instead.
6. Specify the passwords for admin and for the Directory Manager. Use the Ansible Vault to store
the password, and reference the Vault file from the playbook file. Alternatively and less securely,
specify the passwords directly in the inventory file.
7. (Optional) Specify a custom firewalld zone to be used by the IdM server. If you do not set a
custom zone, IdM will add its services to the default firewalld zone. The predefined default
zone is public.
IMPORTANT
Example of an inventory file with the required server information (excluding the
passwords)
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
ipaserver_setup_dns=yes
ipaserver_auto_forwarders=yes
[...]
Example of an inventory file with the required server information (including the
passwords)
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
124
CHAPTER 25. INSTALLING AN IDENTITY MANAGEMENT SERVER USING AN ANSIBLE PLAYBOOK
ipaserver_setup_dns=yes
ipaserver_auto_forwarders=yes
ipaadmin_password=MySecretPassword123
ipadm_password=MySecretPassword234
[...]
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
ipaserver_setup_dns=yes
ipaserver_auto_forwarders=yes
ipaadmin_password=MySecretPassword123
ipadm_password=MySecretPassword234
ipaserver_firewalld_zone=custom zone
Example playbook to set up an IdM server using admin and Directory Manager
passwords stored in an Ansible Vault file
---
- name: Playbook to configure IPA server
hosts: ipaserver
become: true
vars_files:
- playbook_sensitive_data.yml
roles:
- role: ipaserver
state: present
Example playbook to set up an IdM server using admin and Directory Manager
passwords from an inventory file
---
- name: Playbook to configure IPA server
hosts: ipaserver
become: true
roles:
- role: ipaserver
state: present
Additional resources
For the forwarding policy default settings, see the --forward-policy description in the ipa-dns-
install(1) man page.
For more information about DNS variables used by the ipaserver role, see the DNS Variables
section in the README-server.md file in the /usr/share/doc/ansible-freeipa directory.
125
Red Hat Enterprise Linux 9 Installing Identity Management
NOTE
The inventory file in this procedure uses the INI format. You can, alternatively, use the
YAML or JSON formats.
Procedure
1. Open the inventory file for editing. Specify the fully-qualified domain names (FQDN) of the
host you want to use as an IdM server. Ensure that the FQDN meets the following criteria:
Only alphanumeric characters and hyphens (-) are allowed. For example, underscores are
not allowed and can cause DNS failures.
4. Specify the passwords for admin and for the Directory Manager. Use the Ansible Vault to store
the password, and reference the Vault file from the playbook file. Alternatively and less securely,
specify the passwords directly in the inventory file.
5. (Optional) Specify a custom firewalld zone to be used by the IdM server. If you do not set a
custom zone, IdM will add its services to the default firewalld zone. The predefined default
zone is public.
IMPORTANT
Example of an inventory file with the required server information (excluding the
passwords)
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
ipaserver_setup_dns=no
[...]
Example of an inventory file with the required server information (including the
passwords)
[ipaserver]
server.idm.example.com
126
CHAPTER 25. INSTALLING AN IDENTITY MANAGEMENT SERVER USING AN ANSIBLE PLAYBOOK
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
ipaserver_setup_dns=no
ipaadmin_password=MySecretPassword123
ipadm_password=MySecretPassword234
[...]
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
ipaserver_setup_dns=no
ipaadmin_password=MySecretPassword123
ipadm_password=MySecretPassword234
ipaserver_firewalld_zone=custom zone
Example playbook to set up an IdM server using admin and Directory Manager
passwords stored in an Ansible Vault file
---
- name: Playbook to configure IPA server
hosts: ipaserver
become: true
vars_files:
- playbook_sensitive_data.yml
roles:
- role: ipaserver
state: present
Example playbook to set up an IdM server using admin and Directory Manager
passwords from an inventory file
---
- name: Playbook to configure IPA server
hosts: ipaserver
become: true
roles:
- role: ipaserver
state: present
Complete this procedure to deploy an IdM server with an integrated certificate authority (CA) as the
127
Red Hat Enterprise Linux 9 Installing Identity Management
Complete this procedure to deploy an IdM server with an integrated certificate authority (CA) as the
root CA using an Ansible playbook.
NOTE
The inventory in this procedure uses the INI format. You can, alternatively, use the YAML
or JSON formats.
Prerequisites
You have set the parameters that correspond to your scenario by choosing one of the following
procedures:
You have read and understood the variables you can use with the ipaserver role as described in
the /usr/share/doc/ansible-freeipa/README-server.md file.
Procedure
1. Run the ansible-playbook command with the name of the playbook file, for example install-
server.yml. Specify the inventory file with the -i option:
$ ansible-playbook --vault-password-file=password_file -v -i
<path_to_inventory_directory>/hosts <path_to_playbooks_directory>/install-
server.yml
Specify the level of verbosity by using the -v, -vv, or -vvv option.
You can view the output of the Ansible playbook script on the command-line interface (CLI).
The following output shows that the script has run successfully as 0 tasks have failed:
PLAY RECAP
server.idm.example.com : ok=18 changed=10 unreachable=0 failed=0 skipped=21
rescued=0 ignored=0
If your IdM deployment uses external DNS: add the DNS resource records contained in the
/tmp/ipa.system.records.UFRPto.db file to the existing external DNS servers. The process
of updating the DNS records varies depending on the particular DNS solution.
...
Restarting the KDC
Please add records in this file to your DNS system:
/tmp/ipa.system.records.UFRBto.db
Restarting the web server
...
IMPORTANT
128
CHAPTER 25. INSTALLING AN IDENTITY MANAGEMENT SERVER USING AN ANSIBLE PLAYBOOK
IMPORTANT
The server installation is not complete until you add the DNS records to the
existing DNS servers.
Add DNS delegation from the parent domain to the IdM DNS domain. For example, if
the IdM DNS domain is idm.example.com, add a name server (NS) record to the
example.com parent domain.
IMPORTANT
Repeat this step each time after an IdM DNS server is installed.
Add an _ntp._udp service (SRV) record for your time server to your IdM DNS. The
presence of the SRV record for the time server of the newly-installed IdM server in IdM
DNS ensures that future replica and client installations are automatically configured to
synchronize with the time server used by this primary IdM server.
Additional resources
For instruction on how to deploy an IdM server with an external CA as the root CA, see
Deploying an IdM server with an external CA as the root CA using an Ansible playbook
NOTE
The inventory file in this procedure uses the INI format. You can, alternatively, use the
YAML or JSON formats.
Procedure
1. Open the inventory file for editing. Specify the fully-qualified domain names (FQDN) of the
host you want to use as an IdM server. Ensure that the FQDN meets the following criteria:
Only alphanumeric characters and hyphens (-) are allowed. For example, underscores are
not allowed and can cause DNS failures.
3. Specify that you want to use integrated DNS by adding the following option:
ipaserver_setup_dns=yes
4. Specify the DNS forwarding settings. Choose one of the following options:
129
Red Hat Enterprise Linux 9 Installing Identity Management
Use the ipaserver_auto_forwarders=yes option if you want the installation process to use
forwarders from the /etc/resolv.conf file. This option is not recommended if the
nameserver specified in the /etc/resolv.conf file is the localhost 127.0.0.1 address or if you
are on a virtual private network and the DNS servers you are using are normally unreachable
from the public internet.
Use the ipaserver_forwarders option to specify your forwarders manually. The installation
process adds the forwarder IP addresses to the /etc/named.conf file on the installed IdM
server.
NOTE
With no DNS forwarders, your environment is isolated, and names from other
DNS domains in your infrastructure are not resolved.
5. Specify the DNS reverse record and zone settings. Choose from the following options:
Use the ipaserver_no_reverse=yes option if you do not want the installation process to
create a reverse DNS zone.
NOTE
Using IdM to manage reverse zones is optional. You can use an external DNS
service for this purpose instead.
6. Specify the passwords for admin and for the Directory Manager. Use the Ansible Vault to store
the password, and reference the Vault file from the playbook file. Alternatively and less securely,
specify the passwords directly in the inventory file.
7. (Optional) Specify a custom firewalld zone to be used by the IdM server. If you do not set a
custom zone, IdM adds its services to the default firewalld zone. The predefined default zone is
public.
IMPORTANT
Example of an inventory file with the required server information (excluding the
passwords)
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
130
CHAPTER 25. INSTALLING AN IDENTITY MANAGEMENT SERVER USING AN ANSIBLE PLAYBOOK
ipaserver_setup_dns=yes
ipaserver_auto_forwarders=yes
[...]
Example of an inventory file with the required server information (including the
passwords)
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
ipaserver_setup_dns=yes
ipaserver_auto_forwarders=yes
ipaadmin_password=MySecretPassword123
ipadm_password=MySecretPassword234
[...]
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
ipaserver_setup_dns=yes
ipaserver_auto_forwarders=yes
ipaadmin_password=MySecretPassword123
ipadm_password=MySecretPassword234
ipaserver_firewalld_zone=custom zone
[...]
8. Create a playbook for the first step of the installation. Enter instructions for generating the
certificate signing request (CSR) and copying it from the controller to the managed node.
---
- name: Playbook to configure IPA server Step 1
hosts: ipaserver
become: true
vars_files:
- playbook_sensitive_data.yml
vars:
ipaserver_external_ca: yes
roles:
- role: ipaserver
state: present
post_tasks:
- name: Copy CSR /root/ipa.csr from node to "{{ groups.ipaserver[0] + '-ipa.csr' }}"
131
Red Hat Enterprise Linux 9 Installing Identity Management
fetch:
src: /root/ipa.csr
dest: "{{ groups.ipaserver[0] + '-ipa.csr' }}"
flat: yes
---
- name: Playbook to configure IPA server Step -1
hosts: ipaserver
become: true
vars_files:
- playbook_sensitive_data.yml
vars:
ipaserver_external_cert_files: "/root/chain.crt"
pre_tasks:
- name: Copy "{{ groups.ipaserver[0] + '-chain.crt' }}" to /root/chain.crt on node
copy:
src: "{{ groups.ipaserver[0] + '-chain.crt' }}"
dest: "/root/chain.crt"
force: yes
roles:
- role: ipaserver
state: present
Additional resources
For the forwarding policy default settings, see the --forward-policy description in the ipa-dns-
install(1) man page.
For more information about DNS variables used by the ipaserver role, see the DNS Variables
section in the README-server.md file in the /usr/share/doc/ansible-freeipa directory.
NOTE
The inventory file in this procedure uses the INI format. You can, alternatively, use the
YAML or JSON formats.
Procedure
1. Open the inventory file for editing. Specify the fully-qualified domain names (FQDN) of the
host you want to use as an IdM server. Ensure that the FQDN meets the following criteria:
Only alphanumeric characters and hyphens (-) are allowed. For example, underscores are
not allowed and can cause DNS failures.
132
CHAPTER 25. INSTALLING AN IDENTITY MANAGEMENT SERVER USING AN ANSIBLE PLAYBOOK
4. Specify the passwords for admin and for the Directory Manager. Use the Ansible Vault to store
the password, and reference the Vault file from the playbook file. Alternatively and less securely,
specify the passwords directly in the inventory file.
5. (Optional) Specify a custom firewalld zone to be used by the IdM server. If you do not set a
custom zone, IdM will add its services to the default firewalld zone. The predefined default
zone is public.
IMPORTANT
Example of an inventory file with the required server information (excluding the
passwords)
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
ipaserver_setup_dns=no
[...]
Example of an inventory file with the required server information (including the
passwords)
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
ipaserver_setup_dns=no
ipaadmin_password=MySecretPassword123
ipadm_password=MySecretPassword234
[...]
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
ipaserver_setup_dns=no
133
Red Hat Enterprise Linux 9 Installing Identity Management
ipaadmin_password=MySecretPassword123
ipadm_password=MySecretPassword234
ipaserver_firewalld_zone=custom zone
[...]
6. Create a playbook for the first step of the installation. Enter instructions for generating the
certificate signing request (CSR) and copying it from the controller to the managed node.
---
- name: Playbook to configure IPA server Step 1
hosts: ipaserver
become: true
vars_files:
- playbook_sensitive_data.yml
vars:
ipaserver_external_ca: yes
roles:
- role: ipaserver
state: present
post_tasks:
- name: Copy CSR /root/ipa.csr from node to "{{ groups.ipaserver[0] + '-ipa.csr' }}"
fetch:
src: /root/ipa.csr
dest: "{{ groups.ipaserver[0] + '-ipa.csr' }}"
flat: yes
---
- name: Playbook to configure IPA server Step -1
hosts: ipaserver
become: true
vars_files:
- playbook_sensitive_data.yml
vars:
ipaserver_external_cert_files: "/root/chain.crt"
pre_tasks:
- name: Copy "{{ groups.ipaserver[0] + '-chain.crt' }}" to /root/chain.crt on node
copy:
src: "{{ groups.ipaserver[0] + '-chain.crt' }}"
dest: "/root/chain.crt"
force: yes
roles:
- role: ipaserver
state: present
Additional resources
For details on the options available to you when installing an IdM server with external DNS and
134
CHAPTER 25. INSTALLING AN IDENTITY MANAGEMENT SERVER USING AN ANSIBLE PLAYBOOK
For details on the options available to you when installing an IdM server with external DNS and
an externally signed CA, see Installing an IdM server: Without integrated DNS, with an external
CA as the root CA.
NOTE
The inventory file in this procedure uses the INI format. You can, alternatively, use the
YAML or JSON formats.
Prerequisites
You have set the parameters that correspond to your scenario by choosing one of the following
procedures:
You have read and understood the variables you can use with the ipaserver role as described in
the /usr/share/doc/ansible-freeipa/README-server.md file.
Procedure
1. Run the ansible-playbook command with the name of the playbook file that contains
instructions for the first step of the installation, for example install-server-step1.yml. Specify
the inventory file with the -i option:
$ ansible-playbook --vault-password-file=password_file -v -i
<path_to_inventory_directory>/host.server <path_to_playbooks_directory>/install-
server-step1.yml
Specify the level of verbosity by using the -v, -vv or -vvv option.
You can view the output of the Ansible playbook script on the command-line interface (CLI).
The following output shows that the script has run successfully as 0 tasks have failed:
PLAY RECAP
server.idm.example.com : ok=18 changed=10 unreachable=0 failed=0 skipped=21
rescued=0 ignored=0
2. Locate the ipa.csr certificate signing request file on the controller and submit it to the external
CA.
3. Place the IdM CA certificate signed by the external CA in the controller file system so that the
playbook in the next step can find it.
4. Run the ansible-playbook command with the name of the playbook file that contains
135
Red Hat Enterprise Linux 9 Installing Identity Management
4. Run the ansible-playbook command with the name of the playbook file that contains
instructions for the final step of the installation, for example install-server-step2.yml. Specify
the inventory file with the -i option:
$ ansible-playbook -v -i <path_to_inventory_directory>/host.server
<path_to_playbooks_directory>/install-server-step2.yml
If your IdM deployment uses external DNS: add the DNS resource records contained in the
/tmp/ipa.system.records.UFRPto.db file to the existing external DNS servers. The process
of updating the DNS records varies depending on the particular DNS solution.
...
Restarting the KDC
Please add records in this file to your DNS system:
/tmp/ipa.system.records.UFRBto.db
Restarting the web server
...
IMPORTANT
The server installation is not complete until you add the DNS records to the
existing DNS servers.
Add DNS delegation from the parent domain to the IdM DNS domain. For example, if
the IdM DNS domain is idm.example.com, add a name server (NS) record to the
example.com parent domain.
IMPORTANT
Repeat this step each time after an IdM DNS server is installed.
Add an _ntp._udp service (SRV) record for your time server to your IdM DNS. The
presence of the SRV record for the time server of the newly-installed IdM server in IdM
DNS ensures that future replica and client installations are automatically configured to
synchronize with the time server used by this primary IdM server.
Additional resources
For instruction on how to deploy an IdM server with an integrated CA as the root CA, see Deploying an
IdM server with an integrated CA as the root CA using an Ansible playbook
NOTE
136
CHAPTER 25. INSTALLING AN IDENTITY MANAGEMENT SERVER USING AN ANSIBLE PLAYBOOK
Complete this procedure to uninstall an IdM replica using an Ansible playbook. In this example:
server123.idm.example.com and the associated host entry are removed from the IdM topology.
Prerequisites
You have created an Ansible inventory file with the fully-qualified domain name (FQDN) of
the IdM server in the ~/MyPlaybooks/ directory.
Procedure
1. Create your Ansible playbook file uninstall-server.yml with the following content:
---
- name: Playbook to uninstall an IdM replica
hosts: ipaserver
become: true
roles:
- role: ipaserver
ipaserver_remove_from_domain: true
state: absent
The ipaserver_remove_from_domain option unenrolls the host from the IdM topology.
NOTE
$ ansible-playbook --vault-password-file=password_file -v -i
<path_to_inventory_directory>/hosts <path_to_playbooks_directory>/uninstall-
server.yml
3. Ensure that all name server (NS) DNS records pointing to server123.idm.example.com are
137
Red Hat Enterprise Linux 9 Installing Identity Management
deleted from your DNS zones. This applies regardless of whether you use integrated DNS
managed by IdM or external DNS. For more information on how to delete DNS records from
IdM, see Deleting DNS records in the IdM CLI .
NOTE
Complete this procedure to uninstall an IdM replica using an Ansible playbook even if this results in a
disconnected IdM topology. In the example, server456.idm.example.com is used to remove the replica
and the associated host entry with the FQDN of server123.idm.example.com from the topology, leaving
certain replicas disconnected from server456.idm.example.com and the rest of the topology.
NOTE
Prerequisites
You have created an Ansible inventory file with the fully-qualified domain name (FQDN) of
the IdM server in the ~/MyPlaybooks/ directory.
Procedure
1. Create your Ansible playbook file uninstall-server.yml with the following content:
---
- name: Playbook to uninstall an IdM replica
hosts: ipaserver
138
CHAPTER 25. INSTALLING AN IDENTITY MANAGEMENT SERVER USING AN ANSIBLE PLAYBOOK
become: true
roles:
- role: ipaserver
ipaserver_remove_from_domain: true
ipaserver_remove_on_server: server456.idm.example.com
ipaserver_ignore_topology_disconnect: true
state: absent
NOTE
$ ansible-playbook --vault-password-file=password_file -v -i
<path_to_inventory_directory>/hosts <path_to_playbooks_directory>/uninstall-
server.yml
3. Ensure that all name server (NS) DNS records pointing to server123.idm.example.com are
deleted from your DNS zones. This applies regardless of whether you use integrated DNS
managed by IdM or external DNS. For more information on how to delete DNS records from
IdM, see Deleting DNS records in the IdM CLI .
Additional resources
You can see sample Ansible playbooks for installing an IdM server and a list of possible variables
in the ansible-freeipa upstream documentation .
139
Red Hat Enterprise Linux 9 Installing Identity Management
The deployment is managed by the ipareplica Ansible role. The role can use the autodiscovery mode for
identifying the IdM servers, domain and other settings. However, if you deploy multiple replicas in a tier-
like model, with different groups of replicas being deployed at different times, you must defined specific
servers or replicas for each group.
Prerequisites
You have installed the ansible-freeipa package on the Ansible control node.
Ansible roles
Ansible nodes
Ansible inventory
Ansible tasks
Ansible modules
Additional resources
Prerequisites
You have configured your Ansible control node to meet the following requirements:
The example assumes that in the ~/MyPlaybooks/ directory, you have created an Ansible
inventory file with the fully-qualified domain name (FQDN) of the IdM server.
The example assumes that the secret.yml Ansible vault stores your ipaadmin_password.
Procedure
1. Open the inventory file for editing. Specify the fully-qualified domain names (FQDN) of the
hosts to become IdM replicas. The FQDNs must be valid DNS names:
140
CHAPTER 26. INSTALLING AN IDENTITY MANAGEMENT REPLICA USING AN ANSIBLE PLAYBOOK
Only numbers, alphabetic characters, and hyphens (-) are allowed. For example,
underscores are not allowed and can cause DNS failures.
Example of a simple inventory hosts file with only the replicas' FQDN defined
[ipareplicas]
replica1.idm.example.com
replica2.idm.example.com
replica3.idm.example.com
[...]
If the IdM server is already deployed and the SRV records are set properly in the IdM DNS
zone, the script automatically discovers all the other required values.
2. [Optional] Provide additional information in the inventory file based on how you have designed
your topology:
Scenario 1
If you want to avoid autodiscovery and have all replicas listed in the [ipareplicas] section use
a specific IdM server, set the server in the [ipaservers] section of the inventory file.
Example inventory hosts file with the FQDN of the IdM server and replicas
defined
[ipaservers]
server.idm.example.com
[ipareplicas]
replica1.idm.example.com
replica2.idm.example.com
replica3.idm.example.com
[...]
Scenario 2
Alternatively, if you want to avoid autodiscovery but want to deploy specific replicas with
specific servers, set the servers for specific replicas individually in the [ipareplicas] section in
the inventory file.
Example inventory file with a specific IdM server defined for a specific replica
[ipaservers]
server.idm.example.com
replica1.idm.example.com
[ipareplicas]
replica2.idm.example.com
replica3.idm.example.com ipareplica_servers=replica1.idm.example.com
141
Red Hat Enterprise Linux 9 Installing Identity Management
Scenario 3
If you are deploying several replicas in one batch and time is a concern to you, multitier
replica deployment can be useful for you. Define specific groups of replicas in the inventory
file, for example [ipareplicas_tier1] and [ipareplicas_tier2], and design separate plays for
each group in the install-replica.yml playbook.
[ipaservers]
server.idm.example.com
[ipareplicas_tier1]
replica1.idm.example.com
[ipareplicas_tier2]
replica2.idm.example.com \
ipareplica_servers=replica1.idm.example.com,server.idm.example.com
The first entry in ipareplica_servers will be used. The second entry will be used as a fallback
option. When using multiple tiers for deploying IdM replicas, you must have separate tasks in
the playbook to first deploy replicas from tier1 and then replicas from tier2:
Example of a playbook file with different plays for different replica groups
---
- name: Playbook to configure IPA replicas (tier1)
hosts: ipareplicas_tier1
become: true
roles:
- role: ipareplica
state: present
roles:
- role: ipareplica
state: present
Scenario 1
If you want the replica to use a specified firewalld zone instead of the default one, you can
specify it in the inventory file. This can be useful, for example, when you want to use an
internal firewalld zone for your IdM installation instead of a public zone that is set as default.
If you do not set a custom zone, IdM will add its services to the default firewalld zone. The
predefined default zone is public.
IMPORTANT
142
CHAPTER 26. INSTALLING AN IDENTITY MANAGEMENT REPLICA USING AN ANSIBLE PLAYBOOK
[ipaservers]
server.idm.example.com
[ipareplicas]
replica1.idm.example.com
replica2.idm.example.com
replica3.idm.example.com
[...]
[ipareplicas:vars]
ipareplica_firewalld_zone=custom zone
Scenario 2
If you want the replica to host the IdM DNS service, add the ipareplica_setup_dns=yes line
to the [ipareplicas:vars] section. Additionally, specify if you want to use per-server DNS
forwarders:
Example inventory file with instructions to set up DNS and per-server forwarders
on the replicas
[ipaservers]
server.idm.example.com
[ipareplicas]
replica1.idm.example.com
replica2.idm.example.com
replica3.idm.example.com
[...]
[ipareplicas:vars]
ipareplica_setup_dns=yes
ipareplica_forwarders=192.0.2.1,192.0.2.2
Scenario 3
Specify the DNS resolver using the ipaclient_configure_dns_resolve and
ipaclient_dns_servers options (if available) to simplify cluster deployments. This is
especially useful if your IdM deployment is using integrated DNS:
143
Red Hat Enterprise Linux 9 Installing Identity Management
[...]
[ipaclient:vars]
ipaclient_configure_dns_resolver=true
ipaclient_dns_servers=192.168.100.1
NOTE
Additional resources
Prerequisites
You have configured your Ansible control node to meet the following requirements:
The example assumes that in the ~/MyPlaybooks/ directory, you have created an Ansible
inventory file with the fully-qualified domain name (FQDN) of the IdM server.
The example assumes that the secret.yml Ansible vault stores your ipaadmin_password.
Procedure
1. Specify the password of a user authorized to deploy replicas, for example the IdM admin.
Red Hat recommends using the Ansible Vault to store the password, and referencing the
Vault file from the playbook file, for example install-replica.yml:
Example playbook file using principal from inventory file and password from an
Ansible Vault file
roles:
- role: ipareplica
state: present
144
CHAPTER 26. INSTALLING AN IDENTITY MANAGEMENT REPLICA USING AN ANSIBLE PLAYBOOK
For details how to use Ansible Vault, see the official Ansible Vault documentation.
Less securely, provide the credentials of admin directly in the inventory file. Use the
ipaadmin_password option in the [ipareplicas:vars] section of the inventory file. The
inventory file and the install-replica.yml playbook file can then look as follows:
[...]
[ipareplicas:vars]
ipaadmin_password=Secret123
roles:
- role: ipareplica
state: present
Alternatively but also less securely, provide the credentials of another user authorized to
deploy a replica directly in the inventory file. To specify a different authorized user, use the
ipaadmin_principal option for the user name, and the ipaadmin_password option for the
password. The inventory file and the install-replica.yml playbook file can then look as
follows:
[...]
[ipareplicas:vars]
ipaadmin_principal=my_admin
ipaadmin_password=my_admin_secret123
roles:
- role: ipareplica
state: present
Additional resources
For details on the options accepted by the ipareplica Ansible role, see the
/usr/share/ansible/roles/ipareplica/README.md Markdown file.
145
Red Hat Enterprise Linux 9 Installing Identity Management
Prerequisites
You have configured the inventory file for installing an IdM replica .
You have configured the authorization for installing the IdM replica .
Procedure
To install an IdM replica using an Ansible playbook, use the ansible-playbook command with the
name of the playbook file, for example install-replica.yml. Specify the inventory file with the -i
option:
$ ansible-playbook --vault-password-file=password_file -v -i
<path_to_inventory_directory>/hosts.replica <path_to_playbooks_directory>/install-
replica.yml
Specify the level of verbosity by using the -v, -vv or -vvv option.
Ansible informs you about the execution of the Ansible playbook script. The following output
shows that the script has run successfully as 0 tasks have failed:
PLAY RECAP
replica.idm.example.com : ok=18 changed=10 unreachable=0 failed=0 skipped=21
rescued=0 ignored=0
NOTE
Additional resources
146
CHAPTER 27. INSTALLING AN IDENTITY MANAGEMENT CLIENT USING AN ANSIBLE PLAYBOOK
The deployment is managed by the ipaclient Ansible role. By default, the role uses the autodiscovery
mode for identifying the IdM servers, domain and other settings. The role can be modified to have the
Ansible playbook use the settings specified, for example in the inventory file.
Prerequisites
You have installed the ansible-freeipa package on the Ansible control node.
Ansible roles
Ansible nodes
Ansible inventory
Ansible tasks
Ansible modules
The inventory file can be in one of many formats, depending on the inventory plugins you have. The INI-
like format is one of Ansible’s defaults and is used in the examples below.
NOTE
To use smart cards with the graphical user interface in RHEL, ensure that you include the
ipaclient_mkhomedir variable in your Ansible playbook.
Prerequisites
You have checked the deployment instructions on the control node, see Checking the
parameters in the install-client.yml file.
Procedure
1. Specify the fully-qualified hostname (FQDN) of the host to become an IdM client. The fully
147
Red Hat Enterprise Linux 9 Installing Identity Management
1. Specify the fully-qualified hostname (FQDN) of the host to become an IdM client. The fully
qualified domain name must be a valid DNS name:
Only numbers, alphabetic characters, and hyphens (-) are allowed. For example,
underscores are not allowed and can cause DNS failures.
The host name must be all lower-case. No capital letters are allowed.
If the SRV records are set properly in the IdM DNS zone, the script automatically discovers all
the other required values.
Example of a simple inventory hosts file with only the client FQDN defined
[ipaclients]
client.idm.example.com
[...]
2. Specify the credentials for enrolling the client. The following authentication methods are
available:
The password of a user authorized to enroll clients. This is the default option.
Red Hat recommends using the Ansible Vault to store the password, and referencing
the Vault file from the playbook file, for example install-client.yml, directly:
Example playbook file using principal from inventory file and password from
an Ansible Vault file
roles:
- role: ipaclient
state: present
Less securely, provide the credentials of admin using the ipaadmin_password option
in the [ipaclients:vars] section of the inventory/hosts file. Alternatively, to specify a
different authorized user, use the ipaadmin_principal option for the user name, and
the ipaadmin_password option for the password. The inventory/hosts inventory file
and the install-client.yml playbook file can then look as follows:
[...]
[ipaclients:vars]
ipaadmin_principal=my_admin
ipaadmin_password=Secret123
148
CHAPTER 27. INSTALLING AN IDENTITY MANAGEMENT CLIENT USING AN ANSIBLE PLAYBOOK
become: true
roles:
- role: ipaclient
state: true
A random, one-time password (OTP) to be generated during the enrollment. To use this
authentication method, use the ipaclient_use_otp=yes option in your inventory file. For
example, you can uncomment the ipaclient_use_otp=yes option in the [ipaclients:vars]
section of the inventory/hosts file. Note that with OTP you must also specify one of the
following options:
The password of a user authorized to enroll clients, for example by providing a value
for ipaadmin_password in the [ipaclients:vars] section of the inventory/hosts file.
The admin keytab, for example by providing a value for ipaadmin_keytab in the
[ipaclients:vars] section of inventory/hosts.
[...]
[ipaclients:vars]
ipaadmin_password: "{{ ipaadmin_password }}"
ipaclient_domain=idm.example.com
ipaclient_configure_dns_resolver=true
ipaclient_dns_servers=192.168.100.1
NOTE
The ipaclient_dns_servers list must contain only IP addresses. Host names are
not allowed.
4. Starting with RHEL 9.3, you can also specify the ipaclient_subid: true option to have subid
ranges configured for IdM users on the IdM level.
Additional resources
/usr/share/ansible/roles/ipaclient/README.md
149
Red Hat Enterprise Linux 9 Installing Identity Management
To install an Identity Management client using an Ansible playbook, configure the target host
parameters in an inventory file, for example inventory/hosts:
The information about the host, the IdM server and the IdM domain or the IdM realm
The inventory file can be in one of many formats, depending on the inventory plugins you have. The INI-
like format is one of Ansible’s defaults and is used in the examples below.
NOTE
To use smart cards with the graphical user interface in RHEL, ensure that you include the
ipaclient_mkhomedir variable in your Ansible playbook.
Prerequisites
You have checked the deployment instructions on the control node, see Checking the
parameters in the install-client.yml file.
Procedure
1. Specify the fully-qualified hostname (FQDN) of the host to become an IdM client. The fully
qualified domain name must be a valid DNS name:
Only numbers, alphabetic characters, and hyphens (-) are allowed. For example,
underscores are not allowed and can cause DNS failures.
The host name must be all lower-case. No capital letters are allowed.
The FQDN of the servers in the [ipaservers] section to indicate which IdM server the client
will be enrolled with
The ipaclient_realm option in the [ipaclients:vars] section to indicate the name of the
Kerberos realm controlled by the IdM server
Example of an inventory hosts file with the client FQDN, the server FQDN
and the domain defined
[ipaclients]
client.idm.example.com
[ipaservers]
server.idm.example.com
[ipaclients:vars]
ipaclient_domain=idm.example.com
[...]
150
CHAPTER 27. INSTALLING AN IDENTITY MANAGEMENT CLIENT USING AN ANSIBLE PLAYBOOK
3. Specify the credentials for enrolling the client. The following authentication methods are
available:
The password of a user authorized to enroll clients. This is the default option.
Red Hat recommends using the Ansible Vault to store the password, and referencing
the Vault file from the playbook file, for example install-client.yml, directly:
Example playbook file using principal from inventory file and password from
an Ansible Vault file
roles:
- role: ipaclient
state: present
[...]
[ipaclients:vars]
ipaadmin_principal=my_admin
ipaadmin_password=Secret123
roles:
- role: ipaclient
state: true
A random, one-time password (OTP) to be generated during the enrollment. To use this
authentication method, use the ipaclient_use_otp=yes option in your inventory file. For
example, you can uncomment the #ipaclient_use_otp=yes option in the [ipaclients:vars]
section of the inventory/hosts file. Note that with OTP you must also specify one of the
following options:
151
Red Hat Enterprise Linux 9 Installing Identity Management
The password of a user authorized to enroll clients, for example by providing a value
for ipaadmin_password in the [ipaclients:vars] section of the inventory/hosts file.
The admin keytab, for example by providing a value for ipaadmin_keytab in the
[ipaclients:vars] section of inventory/hosts.
4. Starting with RHEL 9.3, you can also specify the ipaclient_subid: true option to have subid
ranges configured for IdM users on the IdM level.
Additional resources
For details on the options accepted by the ipaclient Ansible role, see the
/usr/share/ansible/roles/ipaclient/README.md file.
Procedure
Open the file and check if the instructions in the playbook correspond to what you are planning
for your deployment. The contents typically look like this:
---
- name: Playbook to configure IPA clients with username/password
hosts: ipaclients
become: true
roles:
- role: ipaclient
state: present
The hosts entry specifies the section of the inventory/hosts file where the ansible script
searches the FQDNs of the hosts on which the ipa-client-install script shall be run.
The become: true entry specifies that root’s credentials will be invoked during the
execution of the ipa-client-install script.
The role: ipaclient entry specifies the role that will be installed on the host: in this case, it is
the ipa client role.
The state: present entry specifies that the client should be installed rather than uninstalled
(absent).
152
CHAPTER 27. INSTALLING AN IDENTITY MANAGEMENT CLIENT USING AN ANSIBLE PLAYBOOK
Table 27.1. Authorization options for IdM client enrollment using Ansible
Password Password
of a user stored in [ipaclients:vars] - name: Playbook to configure
authorized Ansible [...] IPA clients with
to enroll a vault username/password
client: hosts: ipaclients
Option 1 become: true
vars_files:
- playbook_sensitive_data.yml
roles:
- role: ipaclient
state: present
Password Password
of a user stored in [ipaclients:vars] - name: Playbook to configure
authorized inventory ipaadmin_password=Secret123 IPA clients
to enroll a file hosts: ipaclients
client: become: true
Option 2
roles:
- role: ipaclient
state: true
A random, OTP +
one-time administrat [ipaclients:vars] - name: Playbook to configure
password or ipaadmin_password=Secret123 IPA clients
(OTP): password ipaclient_use_otp=true hosts: ipaclients
Option 1 become: true
roles:
- role: ipaclient
state: true
A random, OTP + an
one-time admin [ipaclients:vars] - name: Playbook to configure
password keytab ipaadmin_keytab=/root/admin.ke IPA clients
(OTP): ytab hosts: ipaclients
Option 2 ipaclient_use_otp=true become: true
roles:
- role: ipaclient
state: true
153
Red Hat Enterprise Linux 9 Installing Identity Management
The client
keytab [ipaclients:vars] - name: Playbook to configure
from the ipaclient_keytab=/root/krb5.keyt IPA clients
previous ab hosts: ipaclients
enrollment become: true
roles:
- role: ipaclient
state: true
NOTE
As of RHEL 9.2, in the two OTP authorization scenarios described above, the requesting
of the administrator’s TGT by using the kinit command occurs on the first specified or
discovered IdM server. Therefore, no additional modification of the Ansible control node
is required. Prior to RHEL 9.2, the krb5-workstation package was required on the control
node.
Prerequisites
You have set the parameters of the IdM client deployment to correspond to your deployment
scenario:
Setting the parameters of the inventory file for the autodiscovery client installation mode
Setting the parameters of the inventory file when autodiscovery is not possible during client
installation
Procedure
To install an IdM client using an Ansible playbook, use the ansible-playbook command with the
name of the playbook file, for example install-client.yml. Specify the inventory file with the -i
option:
Specify the level of verbosity by using the -v, -vv or -vvv option.
Ansible informs you about the execution of the Ansible playbook script. The following output
shows that the script has run successfully as no tasks have failed:
154
CHAPTER 27. INSTALLING AN IDENTITY MANAGEMENT CLIENT USING AN ANSIBLE PLAYBOOK
PLAY RECAP
client1.idm.example.com : ok=18 changed=10 unreachable=0 failed=0 skipped=21
rescued=0 ignored=0
NOTE
Ansible uses different colors to provide different types of information about the
running process. You can modify the default colors in the [colors] section of the
/etc/ansible/ansible.cfg file:
[colors]
[...]
#error = red
#debug = dark gray
#deprecate = purple
#skip = cyan
#unreachable = red
#ok = green
#changed = yellow
[...]
You have now installed an IdM client on your host using an Ansible playbook.
To test that the Identity Management client can obtain information about users defined on the server,
check that you are able to resolve a user defined on the server. For example, to check the default admin
user:
To test that authentication works correctly, su - as another already existing IdM user:
Prerequisites
Procedure
155
Red Hat Enterprise Linux 9 Installing Identity Management
To uninstall the IdM client, use the ansible-playbook command with the name of the playbook
file, for example uninstall-client.yml. Specify the inventory file with the -i option and,
optionally, specify the level of verbosity by using the -v, -vv or -vvv options:
IMPORTANT
The uninstallation of the client only removes the basic IdM configuration from the host
but leaves the configuration files on the host in case you decide to re-install the client. In
addition, the uninstallation has the following limitations:
It does not remove the client host entry from the IdM LDAP server. The
uninstallation only unenrolls the host.
It does not remove any services residing on the client from IdM.
It does not remove the DNS entries for the client from the IdM server.
It does not remove the old principals for keytabs other than /etc/krb5.keytab.
Note that the uninstallation does remove all certificates that were issued for the host by
the IdM CA.
Additional resources
156
CHAPTER 28. INSTALLING DNS ON AN EXISTING IDM SERVER
Prerequisites
You understand the advantages and limitations of using IdM with integrated DNS as described
in Installing an IdM server: With integrated DNS, with an integrated CA as the root CA .
Procedure
1. [Optional] Verify that DNS is not already installed on the IdM server.
The output confirms that IdM DNS is not available on the server.
To configure per-server DNS forwarders, enter yes, and then follow the instructions on
the command line. The installation process will add the forwarder IP addresses to the
IdM LDAP.
For the forwarding policy default settings, see the --forward-policy description in
the ipa-dns-install(1) man page.
b. The script prompts to check if any DNS reverse (PTR) records for the IP addresses
associated with the server need to be configured.
157
Red Hat Enterprise Linux 9 Installing Identity Management
If you run the search and missing reverse zones are discovered, the script asks you whether
to create the reverse zones along with the PTR records.
NOTE
Using IdM to manage reverse zones is optional. You can use an external DNS
service for this purpose instead.
Additional resources
man ipa-dns-install(1)
158
CHAPTER 29. ADDING THE IDM CA SERVICE TO AN IDM SERVER IN A DEPLOYMENT WITHOUT A CA
Add the IdM Certificate Server CA as a subordinate CA, with an external CA as the root CA.
NOTE
Prerequisites
Procedure
[root@idmserver ~] ipa-ca-install
2. On each IdM host in the topology, run the ipa-certupdate utility to update the host with the
information about the new certificate from the IdM LDAP.
IMPORTANT
If you do not run ipa-certupdate after generating the IdM CA certificate, the
certificate will not be distributed to the other IdM machines.
159
Red Hat Enterprise Linux 9 Installing Identity Management
between.
Prerequisites
Procedure
2. Wait till the command-line interface informs you that a certificate signing request (CSR) has
been saved.
5. Continue the installation by adding the certificates and full path to the external CA files to ipa-
ca-install:
6. On each IdM host in the topology, run the ipa-certupdate utility to update the host with the
information about the new certificate from the IdM LDAP.
IMPORTANT
Failing to run ipa-certupdate after generating the IdM CA certificate means that
the certificate will not be distributed to the other IdM machines.
160
CHAPTER 30. ADDING THE IDM CA SERVICE TO AN IDM SERVER IN A DEPLOYMENT WITH A CA
NOTE
Prerequisites
Procedure
[root@idmserver ~] ipa-ca-install
161