Describe the Identity Management components.
Introduce the Identity Management server roles.
Describe the common topologies and replication mechanisms.
As with most products in an IT organization, you must ensure that IdM is continuously available for user operations that require access to its policies and resources. To respond to heavy load requests or requests on a geographically dispersed infrastructure, many services rely on external load balancing solutions. IdM does not require an external load balancing service. IdM enables you to natively deploy the service to multiple IdM servers to balance the requests and improve the availability of the service.
You can design a resilient IdM architecture by using several components, such as replicas, replication agreements, topology segments, and topology suffixes.
An IdM server or IdM instance is a system where the IdM service is installed. The IdM server provides a centralized way to maintain identities, apply policies, and manage access levels and privilege escalation for users.
Not all IdM servers can provide all the IdM services. For example, the certificate authority services can be installed on many servers, but they can only be active on one server at a time. Some services, such as Kerberos and LDAP, are always available on all IdM servers. Other services, such as CA, DNS, Trust Controller, and Vault, are optional.
An IdM replica is a server with the cloned configuration of an IdM server. When you create a replica, IdM creates the service SRV record in the DNS for clients to discover the replica and send requests. A replica can support the same functionality as the IdM server from which it was cloned. Because the original IdM server and the IdM replicas have the same functionality, the terms IdM server and IdM replica are commonly used interchangeably.
Red Hat recommends that you create replicas to scale your IdM service to serve many clients. To match your organization's infrastructure, you can deploy IdM servers in geographically distributed locations. Red Hat recommends deploying at least one IdM server and two IdM replicas in each data center or geographical location. Red Hat supports up to 60 replicas in a single IdM topology.
You can also use replicas as a backup strategy and defend against loss of information. In some scenarios, such as a maintenance window to back up server configurations, you might have to stop all services running on an IdM server. To avoid service interruption, you can stop the services of a hidden replica instead. A hidden replica is an IdM replica but is configured to not be discoverable for client data queries.
To access IdM services, a system must first join an IdM domain. An IdM client is an IdM domain member that consumes the services provided by IdM servers and is configured to use the domain's data.
IdM clients are typically RHEL systems, but you can configure other Linux and UNIX clients if they support the correct protocols and services. Although Microsoft Windows systems cannot be members of an IdM domain, you can configure a trust relationship with an Active Directory server to enable specific user and client capabilities between the RHEL and Windows systems.
An IdM client can interact with IdM services to perform the following tasks:
Use the Kerberos protocol to request authentication.
Request tickets for enterprise single sign-on (SSO).
Use the LDAP service to query identity and policy information.
Use the DNS service to discover IdM servers.
Detect services and information to connect to them.
All IdM servers and replicas are also IdM clients to an existing IdM domain, and obtain client functionality from other IdM servers.
Depending on the required features for the IdM topology, an IdM server can host the following services:
The integrated certificate authority (CA) is a security framework that manages user identities.
The certificate authority is based on the same technology as Red Hat Certificate System.
This service might not be required if you provide the required certificates independently.
The certificate authority service runs as the pki-tomcatd service on the IdM server.
IdM uses the Kerberos protocol to support single sign-on.
Clients of the Kerberos service only provide authentication credentials and they can access IdM services without providing credentials with each interaction.
Kerberos uses the krb5kdc Kerberos Authentication service, the Key Distribution Center (KDC) daemon, and the kadmin Kerberos database administration program.
The IdM LDAP directory server instance stores all IdM information, such as Kerberos configuration, user accounts, host entries, services, and policies.
LDAP directory server is based on the Red Hat Directory Server product.
The LDAP directory server instance runs as the dirsrv service on the IdM server.
IdM uses DNS for dynamic service discovery. The IdM client installation utility uses DNS to configure the client machine. After the client is enrolled in the IdM domain, it uses DNS to locate IdM servers and services within the domain.
Samba implements the Server Message Block (SMB) protocol, also known as the Common Internet File System (CIFS) protocol. The SMB protocol enables you to access resources on a server, such as file shares and shared printers.
An OTP is a password generated by an authentication token for only one session, as part of two-factor authentication.
The OTP service runs as the ipa-otpd service on the IdM server.
IdM clients can host the following services:
SSSD is the client-side application that manages user authentication and caching credentials for IdM.
Caching credentials enables the local system to continue normal authentication operations if the IdM server becomes unavailable or if the client goes offline.
SSSD runs as the sssd service on the IdM client.
The certmonger service monitors and renews certificates on the client.
An IdM server can have a combination of services installed. Depending on the installed services, the server can perform various server roles. For example, an IdM server might have one or all the following roles:
Certificate authority (CA) server
DNS server
Key Recovery Authority (KRA) server
Active Directory trust agent
Active Directory controller
Most server roles can be added at any time. However, you need to assign the CA server or the DNS server role during installation if those services are planned. For the CA and DNS server roles, IdM adds all the required DNS service entries and installs the topology with the desired server roles.
You must be aware of the IdM server role assignments to verify that a particular service is available. If you plan to deploy an integrated certificate authority (CA), then you can assign the role to many servers. However, only one server can have the Certificate Revocation List (CRL) publisher server role and the CA renewal server role enabled at a time. If the server with the enabled CA renewal role fails or is decommissioned, then another server with the assigned role can provide the service.
By default, the first CA server installed provides these two roles, but you can enable the two roles on other replicas at any time.
Prepare a backup and availability strategy for the IdM server with the CA renewal server role, because it is the only IdM server in the infrastructure responsible for tracking CA subsystem certificates and keys.
When you create a replica, IdM creates a replication agreement between the initial server and the replica. This replication agreement ensures that the configuration and data on the IdM server are continuously replicated between the two servers. When you create replicas, you must ensure that they also have replication agreements with servers other that the initial server. This design enables you to build a resilient IdM topology.
IdM uses two types of replication agreements: domain replication agreements, and certificate replication agreements. Domain replication agreements replicate identity, system, and policy information.
Certificate replication agreements replicate certificate information, but only with IdM servers that have the CA role enabled. Red Hat recommends that you deploy at least two CA replicas with certificate replication agreements between them.
Be mindful of the existing replication agreements between IdM servers to fully take advantage of the feature. Some replicas might have dependencies that can put the IdM topology at risk if a server fails. You can configure additional replication agreements to ensure that other replicas receive the configuration updates.
Domain and certificate replication agreements are independent. An IdM server can replicate one or both types of replication agreements depending on the server's available roles.
An IdM replica receives configuration updates by using only one replication agreement, regardless of the number of replication agreements configured. The unused replication agreements are considered idle and one of them can receive updates when the initial replication agreement is unavailable. Red Hat recommends that you connect an IdM server to a maximum of four replicas to avoid a possible waste of resources.
Red Hat recommends that you deploy an IdM server for every 2000 to 3000 clients. Some clients might send more requests than others, but this number is a common guideline.
When an IdM server replicates data to a replica, the data is stored in a topology suffix. A topology suffix is a type of data to be synchronized between replicas. There are two topology suffixes supported by IdM:
Contains the data related to identities.
Contains certificate authority data.
Two replicas might synchronize one or both suffixes, depending on the configured services in the replica.
When two replicas have a replication agreement between their suffixes, the suffixes form a topology segment. If both domain and CA suffixes are synchronized, then there are two topology segments between the two replicas. Segments always synchronize data in both directions. In a topology segment, one server is referred to as the left node, and the other as the right node.
Consider the following scenario, designed to deploy an IdM topology to serve a heavy load environment.
You deploy the idm0 machine and create the idm1, idm2, and idm3 machines to replicate data from the idm0 machine.
In this topology, the initial IdM server and three replicas are all discoverable by IdM clients.
All three replicas receive updates from the idm0 machine.
If the idm0 machine fails, then all three replicas are disconnected from each other and cannot send or receive updates.
Red Hat does not recommend this simplistic topology.
In this scenario, you might want to configure replication agreements between all IdM servers. This topology, where all servers replicate to each order, is called a tight cell topology. With the recommended four servers in a physical location, the tight cell topology configures three replication agreements per server. This configuration enables you to add replication agreements to servers in other geographical locations, and still comply with the recommended four maximum replication agreements for one server.
In another scenario, where you might have geographically distributed clients, you can deploy the IdM servers in different data centers. The load of each region might not be heavy and you must ensure that the service responds from the nearest server to avoid delays or timeouts. Red Hat recommends that you configure replication agreements for an IdM server to a minimum of two replicas. Red Hat also recommends that you connect the data center to at least two other data centers.
The following diagram shows an IdM topology that complies with the requirements and recommendations of this scenario.
Active Directory is a Microsoft directory service. Many organizations use Active Directory to manage authentication and access to Microsoft applications and servers in their domains. You can integrate Active Directory with IdM to manage one set of user identities instead of managing authentication and policies for Linux and Windows systems separately.
IdM is not a drop-in replacement for Active Directory. IdM and Active Directory serve different purposes and you can configure them to cover many business needs. By integrating Active Directory into the IdM topology, you do not need to recreate authentication mechanisms and policies. You can also track and audit user actions more efficiently.
Active Directory is not a part of the IdM topology. When Active Directory is integrated with IdM, Active Directory is its own separate service and has its own infrastructure.
By integrating Active directory with IdM you can benefit from the following features:
You can configure AD access control policies to manage IdM users, and these policies can be stored and managed in IdM.
You can manage authentication, identity, and policies in a central server.
Users can access systems managed by IdM by using their Active Directory credentials.
Users can log in to systems by using SSH, enterprise SSO, or usernames and passwords.
The Linux environment can scale to address business needs without generating additional costs, including those related to Client Access License (CAL) or third-party software.
You can integrate Linux clients into an Active Directory domain by using direct integration or indirect integration.
When you configure direct integration, clients connect directly to an Active Directory domain. This method uses native LDAP, Kerberos, PAM, and NSS modules. With indirect integration, clients connect to an IdM domain that handles requests to Active Directory on their behalf. This method uses cross-realm Kerberos trust with Active Directory, or object synchronization between an IdM domain and Active Directory.
Linux and Windows systems use different attributes and structure to manage identities. For example, Linux uses POSIX-compliant user identifiers UID and group identifiers GID, whereas Microsoft Windows systems use security identifiers SID. However, Linux clients can use SSSD to authenticate with Active Directory. Active Directory assigns Active Directory users a UID and a GID to enable compatibility.
Active Directory can create and store POSIX attributes, such as uidNumber, gidNumber, unixHomeDirectory, and loginShell.
An IdM server can query Active Directory POSIX attributes and cache the information locally.
IdM servers can also create Active Directory POSIX attributes and account objects, eliminating the need for centralized POSIX data management.
Many organizations have a Kerberos realm deployed in their environments for application authentication and user management. You can use Kerberos as a common integration path for environments with Linux and Windows systems. To establish communication between the different Kerberos realms, you have to configure cross-realm trusts.
A Kerberos trust allows users in one realm to access the resources of another realm as if they belonged to that realm. Trusts can be one-way or two-way, although a two-way trust does not allow defined permissions for IdM users in Active Directory domains. You can create a trust by creating a shared key for a single principal that is held in common by both domains. IdM supports the configuration of a cross-forest trust between an IdM domain and an Active Directory domain. The cross-forest trusts and Active Directory integration topics are discussed in a later chapter.
The IdM domain synchronizes user data with the Active Directory domain. When this synchronization occurs, IdM uses the directory synchronization (DirSync) LDAP server extension control to search for changes on objects.
The synchronization process is defined in an agreement between an IdM server and an Active Directory domain controller. These servers are called peers. The agreement defines the information required to identify user entries that can be synchronized, such as the subtree to synchronize, and defines the configuration for attribute handling.
The synchronization process can be unidirectional or bidirectional. Some actions, however, such as adding a new user to the domain, can only be performed in the Windows domain and then synchronized to the IdM domain, and not vice versa. To prevent data corruption or read and write conflicts, you must configure only one directory synchronization service to create or remove user entries. You might want to select the Windows directory because in most environments it is the primary identity store. Either of the directories can modify entries.
For more information, refer to the Planning the Replica Topology chapter in the Red Hat Enterprise Linux Planning Identity Management Guide at https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/planning_identity_management/index#planning-the-replica-topology_planning-identity-management
For more information, refer to the Managing Replication Topology chapter in the Managing Replication in Identity Management Guide at https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/managing_replication_in_identity_management/index#assembly_managing-replication-topology_managing-replication-in-idm