Show Table of Contents
7.3. Configuring Identity and Authentication Providers for SSSD
7.3.1. Introduction to Identity and Authentication Providers for SSSD
SSSD Domains. Identity and Authentication Providers
Identity and authentication providers are configured as domains in the SSSD configuration file. A single domain can be used as:
- An identity provider (for user information)
- An authentication provider (for authentication requests)
- An access control provider (for authorization requests)
- A combination of these providers (if all the corresponding operations are performed within a single server)
You can configure multiple domains for SSSD. At least one domain must be configured, otherwise SSSD will not start.
The
access_provider option in the /etc/sssd/sssd.conf file sets the access control provider used for the domain. By default, the option is set to permit, which always allows all access. See the sssd.conf(5) man page for details.
Proxy Providers
A proxy provider works as an intermediary relay between SSSD and resources that SSSD would otherwise not be able to use. When using a proxy provider, SSSD connects to the proxy service, and the proxy loads the specified libraries.
Using a proxy provider, you can configure SSSD to use:
- Alternative authentication methods, such as a fingerprint scanner
- Legacy systems, such as NIS
- A local system account defined in
/etc/passwdand remote authentication
Available Combinations of Identity and Authentication Providers
Table 7.1. Available Combinations of Identity and Authentication Providers
Note that this guide does not describe all provider types. See the following additional resources for more information:
- To configure an SSSD client for Identity Management, Red Hat recommends using the
ipa-client-installutility. See Installing and Uninstalling Identity Management Clients in the Linux Domain Identity, Authentication, and Policy Guide. - To configure an SSSD client for Identity Management manually without
ipa-client-install, see Installing and Uninstalling an Identity Management Client Manually in Red Hat Knowledgebase. - To configure Active Directory to be used with SSSD, see Using Active Directory as an Identity Provider for SSSD in the Windows Integration Guide.
7.3.2. Configuring an LDAP Domain for SSSD
Prerequisites
- Install SSSD.
# yum install sssd
Configure SSSD to Discover the LDAP Domain
- Open the
/etc/sssd/sssd.conffile. - Create a
[domain]section for the LDAP domain:[domain/LDAP_domain_name] - Specify if you want to use the LDAP server as an identity provider, an authentication provider, or both.
- To use the LDAP server as an identity provider, set the
id_provideroption toldap. - To use the LDAP server as an authentication provider, set the
auth_provideroption toldap.
For example, to use the LDAP server as both:[domain/LDAP_domain_name]
id_provider = ldapauth_provider = ldap - Specify the LDAP server. Choose one of the following:
- To explicitly define the server, specify the server's URI with the
ldap_urioption:[domain/LDAP_domain_name] id_provider = ldap auth_provider = ldap
ldap_uri = ldap://ldap.example.comTheldap_urioption also accepts the IP address of the server. However, using an IP address instead of the server name might cause TLS/SSL connections to fail. See Configuring an SSSD Provider to Use an IP Address in the Certificate Subject Name in Red Hat Knowledgebase. - To configure SSSD to discover the server dynamically using DNS service discovery, see Section 7.4.3, “Configuring DNS Service Discovery”.
Optionally, specify backup servers in theldap_backup_urioption as well. - Specify the LDAP server's search base in the
ldap_search_baseoption:[domain/LDAP_domain_name] id_provider = ldap auth_provider = ldap ldap_uri = ldap://ldap.example.com
ldap_search_base = dc=example,dc=com - Specify a way to establish a secure connection to the LDAP server. The recommended method is to use a TLS connection. To do this, enable the
ldap_id_use_start_tlsoption, and use these CA certificate-related options:ldap_tls_reqcertspecifies if the client requests a server certificate and what checks are performed on the certificateldap_tls_cacertspecifies the file containing the certificate
[domain/LDAP_domain_name] id_provider = ldap auth_provider = ldap ldap_uri = ldaps://ldap.example.com ldap_search_base = dc=example,dc=com
ldap_id_use_start_tls = trueldap_tls_reqcert = demandldap_tls_cacert = /etc/pki/tls/certs/ca-bundle.crtNote
SSSD always uses an encrypted channel for authentication, which ensures that passwords are never sent over the network unencrypted. Withldap_id_use_start_tls = true, identity lookups (such as commands based on theidorgetentutilities) are also encrypted. - Add the new domain to the
domainsoption in the[sssd]section. The option lists the domains that SSSD queries. For example:domains =
LDAP_domain_name, domain2
Additional Resources
The above procedure shows the basic options for an LDAP provider. For more details, see:
- the sssd.conf(5) man page, which describes global options available for all types of domains
- the sssd-ldap(5) man page, which describes options specific to LDAP
7.3.3. Configuring a Proxy Provider for SSSD
Prerequisites
- Install SSSD.
# yum install sssd
Configure SSSD to Discover the Proxy Domain
- Open the
/etc/sssd/sssd.conffile. - Create a
[domain]section for the proxy provider:[domain/proxy_name] - To specify an authentication provider:
- Set the
auth_provideroption toproxy. - Use the
proxy_pam_targetoption to specify a PAM service as the authentication proxy.
For example:[domain/proxy_name]
auth_provider = proxyproxy_pam_target = sssdpamproxyImportant
Ensure that the proxy PAM stack does not recursively includepam_sss.so. - To specify an identity provider:
- Set the
id_provideroption toproxy. - Use the
proxy_lib_nameoption to specify an NSS library as the identity proxy.
For example:[domain/proxy_name]
id_provider = proxyproxy_lib_name = nis - Add the new domain to the
domainsoption in the[sssd]section. The option lists the domains that SSSD queries. For example:domains =
proxy_name, domain2
Additional Resources
The above procedure shows the basic options for a proxy provider. For more details, see the sssd.conf(5) man page, which describes global options available for all types of domains and other proxy-related options.
7.3.4. Configuring a Kerberos Authentication Provider
Prerequisites
- Install SSSD.
# yum install sssd
Configure SSSD to Discover the Kerberos Domain
- Open the
/etc/sssd/sssd.conffile. - Create a
[domain]section for the SSSD domain.[domain/Kerberos_domain_name] - Specify an identity provider. For example, for details on configuring an LDAP identity provider, see Section 7.3.2, “Configuring an LDAP Domain for SSSD”.If the Kerberos principal names are not available in the specified identity provider, SSSD constructs the principals using the format username@REALM.
- Specify the Kerberos authentication provider details:
- Set the
auth_provideroption tokrb5.[domain/Kerberos_domain_name] id_provider = ldap
auth_provider = krb5 - Specify the Kerberos server:
- To explicitly define the server, use the
krb5_serveroption. The options accepts the host name or IP address of the server:[domain/Kerberos_domain_name] id_provider = ldap auth_provider = krb5
krb5_server = kdc.example.com - To configure SSSD to discover the server dynamically using DNS service discovery, see Section 7.4.3, “Configuring DNS Service Discovery”.
Optionally, specify backup servers in thekrb5_backup_serveroption as well. - If the Change Password service is not running on the KDC specified in
krb5_serverorkrb5_backup_server, use thekrb5_passwdoption to specify the server where the service is running.[domain/Kerberos_domain_name] id_provider = ldap auth_provider = krb5 krb5_server = kdc.example.com krb5_backup_server = kerberos.example.com
krb5_passwd = kerberos.admin.example.comIfkrb5_passwdis not used, SSSD uses the KDC specified inkrb5_serverorkrb5_backup_server. - Use the
krb5_realmoption to specify the name of the Kerberos realm.[domain/Kerberos_domain_name] id_provider = ldap auth_provider = krb5 krb5_server = kerberos.example.com krb5_backup_server = kerberos2.example.com krb5_passwd = kerberos.admin.example.com
krb5_realm = EXAMPLE.COM
- Add the new domain to the
domainsoption in the[sssd]section. The option lists the domains that SSSD queries. For example:domains =
Kerberos_domain_name, domain2
Additional Resources
The above procedure shows the basic options for a Kerberos provider. For more details, see:
- the sssd.conf(5) man page, which describes global options available for all types of domains
- the sssd-krb5(5) man page, which describes options specific to Kerberos

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.