Authentication With Single Sign-On (SSO)
SUSE Multi-Linux Manager supports single sign-on (SSO) by implementing the Security Assertion Markup Language (SAML) 2 protocol.
Single sign-on is an authentication process that allows a user to access multiple applications with one set of credentials. SAML is an XML-based standard for exchanging authentication and authorization data. A SAML identity service provider (IdP) provides authentication and authorization services to service providers (SP), such as SUSE Multi-Linux Manager. SUSE Multi-Linux Manager exposes three endpoints which must be enabled for single sign-on.
SSO in SUSE Multi-Linux Manager supports:
- 
Log in with SSO.
 - 
Log out with service provider-initiated single logout (SLO), and Identity service provider single logout service (SLS).
 - 
Assertion and nameId encryption.
 - 
Assertion signatures.
 - 
Message signatures with AuthNRequest, LogoutRequest, and LogoutResponses.
 - 
Enable an Assertion consumer service endpoint.
 - 
Enable a single logout service endpoint.
 - 
Publish the SP metadata (which can be signed).
 
SSO in SUSE Multi-Linux Manager does not support:
- 
Product choosing and implementation for the identity service provider (IdP).
 - 
SAML support for other products (check with the respective product documentation).
 
For an example implementation of SSO, see Example SSO Implementation.
| 
 If you change from the default authentication method to single sign-on, the new SSO credentials apply only to the Web UI.
Client tools such as   | 
1. Prerequisites
Before you begin, you need to have configured an external identity service provider with these parameters. Check your IdP documentation for instructions.
| 
 The mapping between the IdP user and the SUSE Multi-Linux Manager user is specified in a SAML:Attribute.
The SAML:Attribute must be configured in the IdP and must be passed to SUSE Multi-Linux Manager in the SAML authentication.
The attribute must be named   | 
You need these endpoints:
- 
Assertion consumer service (or ACS): an endpoint to accept SAML messages to establish a session into the Service Provider. The endpoint for ACS in SUSE Multi-Linux Manager is: https://server.example.com/rhn/manager/sso/acs
 - 
Single logout service (or SLS): an endpoint to initiate a logout request from the IdP. The endpoint for SLS in SUSE Multi-Linux Manager is: https://server.example.com/rhn/manager/sso/sls
 - 
Metadata: an endpoint to retrieve SUSE Multi-Linux Manager metadata for SAML. The endpoint for metadata in SUSE Multi-Linux Manager is: https://server.example.com/rhn/manager/sso/metadata
 
After the authentication with the IdP using the user orgadmin is successful, you are logged in to SUSE Multi-Linux Manager as the orgadmin user, provided that the orgadmin user exists in SUSE Multi-Linux Manager.
2. Enable SSO
| 
 Using SSO is mutually exclusive with other types of authentication: it is either enabled or disabled. SSO is disabled by default.  | 
| 
 Use   | 
- 
If your users do not yet exist in SUSE Multi-Linux Manager, create them first.
 - 
Edit
/etc/rhn/rhn.confand add this line at the end of the file:java.sso = true
 - 
Find the parameters you want to customize in
/usr/share/rhn/config-defaults/rhn_java_sso.conf. Insert the parameters you want to customize into/etc/rhn/rhn.confand prefix them withjava.sso. For example, in/usr/share/rhn/config-defaults/rhn_java_sso.conffind:onelogin.saml2.sp.assertion_consumer_service.url = https://YOUR-PRODUCT-HOSTNAME-OR-IP/rhn/manager/sso/acs
To customize it, create the corresponding option in
/etc/rhn/rhn.confby prefixing the option name withjava.sso.:java.sso.onelogin.saml2.sp.assertion_consumer_service.url = https://YOUR-PRODUCT-HOSTNAME-OR-IP/rhn/manager/sso/acs
To find all the occurrences you need to change, search in the file for the placeholders
YOUR-PRODUCTandYOUR-IDP-ENTITY. Every parameter comes with a brief explanation of what it is meant for. - 
Restart the spacewalk service to pick up the changes:
mgradm restart
 
When you visit the SUSE Multi-Linux Manager URL, you are redirected to the IdP for SSO where you are requested to authenticate. Upon successful authentication, you are redirected to the SUSE Multi-Linux Manager Web UI, logged in as the authenticated user. If you encounter problems with logging in using SSO, check the SUSE Multi-Linux Manager logs for more information.