In pre-authentication, it is assumed that trusted authentication has already taken place, and user identity information is delivered by one of the methods described in the following topics. In this configuration, no Sign in page is displayed to users. Certain features, such as anonymous access and the ability for users to change their own passwords, should be disabled.
Pre-authentication offers several benefits, such as a single sign on (SSO) experience for users and centralized authentication for administrators, eliminating the need to synchronize passwords between WebFOCUS and another source. Depending on the chosen method of pre-authentication, additional steps may be necessary to ensure that the pre-authentication configuration cannot be compromised. For example, if the pre-authenticated user ID will be passed in an HTTP header, then steps must be taken to ensure that the value of this header cannot be compromised.
How to: |
Central Authentication Service (CAS) pre-authentication allows clients such as web applications to authenticate users without gaining access to user security credentials. Instead, the WebFOCUS Client authenticates itself to the CAS server, which then returns a security ticket to the WebFOCUS Client to validate that the connection is secure. The WebFOCUS Client validates the ticket by providing the ticket and its own service identifier to the CAS server, and CAS returns trusted information about whether an individual user has been authenticated.
If the CAS server uses a self-signed certificate, in most cases, you will need to add the certificate authority signing certificate to the trusted root certificates for the JVM used by WebFOCUS.
Before you begin, complete the prerequisites for Pre-Authentication. For more information, see Configuring Pre-Authentication, External Authentication or External Authorization.
We recommend that you use the Export command to back up the Security Settings configuration files before making changes to the Authentication page. For more information, see How to Export Security Configuration Files.
https://CASSERVER.domain.com:port/cas/login
where:
Is the network name or IP Address of the server hosting CAS operations.
Is the port to which the CAS Server is connected.
https://CASSERVER.domain.com:port/cas
where:
Is the network name or IP Address of the server hosting CAS operations.
Is the port to which the CAS Server is connected.
https://WebFOCUSServer.domain.com:port/ibi_apps
where:
Is the network name or IP Address of the server hosting WebFOCUS operations.
Is the port to which the WebFOCUS Server is connected.
If you are using a self-signed certificate for your CAS Server, you will also need to add the CA certificate of this server to the trusted root certificates for the JVM used by WebFOCUS.
Note: This task is not necessary if you are using a certificate signed by a trusted certificate authority.
Typically, the cacerts file is located in the drive:\ibi\JDK\jre\lib\security folder in Windows or the installdirectory/ibi/JDK/jre/lib/security folder in UNIX or Linux.
..\..\..\bin\keytool -import -alias youralias -keystore cacerts -file path\to\yourca.cert
where:
Is the alias assigned to your certificate.
Is the certificate file.
CAS validation errors may occur if you are using a self-signed certificate that has not been added to the trusted certificate store. In such cases, you will receive an error similar to the following:
[YYYY-MM-DD hh:mm:ss,sss] ERROR org.jasig.cas.client.validation.Cas20ServiceTicketValidator http-apr-8080-exec-2 - javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source) . . . ... 60 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source) at java.security.cert.CertPathBuilder.build(Unknown Source) ... 66 more
How to: |
HTTP Basic Authentication delivers an HTTP message containing a user name and password from a client to a server. The server compares the two values from the message to those User IDs and Passwords stored in a database of users who are valid for a designated realm, which is a set of web pages that require authenticated credentials. Based on the results of this operation, the server returns a message stating the status of the authentication.
Because HTTP BASIC Authentication uses the easily reversible Base64 encoding for its messages instead of encryption, it is non-secure unless used with SSL. To configure HTTP Basic Authentication, you must identify the name of the realm affected by the HTTP Basic Authentication, typically, WebFOCUS. This setting directs the authentication request to that section of the database that lists those users who are entitled to view and work with pages within that realm.
Note: HTTP Digest authentication is not available in release 8.2.01.
Before you begin, complete the prerequisites for Pre-Authentication. For more information, see Configuring Pre-Authentication, External Authentication or External Authorization.
We recommend that you use the Export command to back up the Security Settings configuration files before making changes to the Authentication page. For more information, see How to Export Security Configuration Files.
How to: |
Java containers, such as Apache Tomcat, IBM WebSphere, and Oracle WebLogic, can authenticate users on behalf of WebFOCUS. The Java container uses the getRemoteUser() call to provide user IDs to WebFOCUS.
Before you begin, complete the prerequisites for Pre-Authentication. For more information, see Configuring Pre-Authentication, External Authentication or External Authorization.
You must also build a Java container to support user authentication. For more information, consult the documentation provided by the vendor that supplied your installation of Java.
We recommend that you use the Export command to back up the Security Settings configuration files before making changes to the Authentication page. For more information, see How to Export Security Configuration Files.
All other authentication methods are disabled automatically.
To exclude form-based authentication from this security zone, leave Form Based Authentication disabled.
Identity providers, such as Google or Keycloak, deliver authentication services that conform to the specifications of the OpenID Connect protocol.
When Open ID Connect pre-authentication has been enabled, users navigating to the \ibi_apps context are presented with the sign-in screen of their identity provider instead of the WebFOCUS sign-in screen. Users type their credentials on that screen and send them to the OpenID Connect identity provider. When the identity provider determines that the credentials presented by WebFOCUS and the end user are authenticated, the user is redirected to WebFOCUS.
WebFOCUS prepares a client authentication message that returns its own Client ID to the identity provider and can also include scope identifiers that request additional information about the end user.
When the identity provider authenticates the credentials presented by WebFOCUS, it returns the requested user information, and the authenticated user can begin a session.
When users end their session, they must be directed to the sign-out page used by the identity provider instead of the standard WebFOCUS sign-out page. From the identity provider sign-out page they can choose to sign in to their OpenID Connect identity provider again or move on to other web sites or applications.
As an application that accepts OpenID Connect user authentication, your installation of WebFOCUS functions as a client or relying party in the OpenID Connect Authentication process, and an administrator must create an account for this party with an OpenID Connect identity provider.
Even though each OpenID Connect identity provider maintains slightly different configurations and requirements, all providers must conform to the OpenID Connect standard.
Administrators must expect to provide a Client Name and additional information that uniquely identifies their installation of WebFOCUS to the identity provider. This additional information can include the Root URL for their installation of WebFOCUS, and one or more Valid Redirect URIs that identify the location of the resources that process responses delivered from the identity provider during the sign-in process.
The identity provider creates and provides administrators with a Client ID and a Client Secret that is unique to each installation of WebFOCUS. The identity provider also identifies its Custom Logout Target URL. When users end their WebFOCUS session, they are directed to this URL, where they are free to sign in again to the identity provider or move on to other tasks. Administrators include all of these values in their configuration of the Open ID Connect configuration.
The Edit OpenID Connect Authentication Settings dialog box contains the credentials and endpoint URIs that must be delivered to the OpenID Connect identity provider within client authentication messages, as shown in the following image.
In order to communicate with an OpenID Connect identity provider, credentials that identify WebFOCUS as a valid relying party, which is a web site or application that needs to authenticate the identity of an end user, must be established with the identity provider. These values must be included in responses from that relying party to requests to grant access to authenticated users.
sGBAyfVL7YWtP6gudLIjbRZV_N0dW4f3xETiIxqtokEAZ6FAsBtgyIq0MpU1uQ7J08xOTO2zwP0OuO3pMVAUTid
Identity providers may require a separate sign in before allowing administrators to review and extract this value.
In order to ensure that OpenID authentication requests are directed to the appropriate endpoints, the following URI information must also be included in the Open ID Connect Authentication Settings dialog box.
How to: |
The Edit OpenID Connect Authentication Settings dialog box is configured with the information required to support pre-authenticated user sign-in requests from Google, by default. Administrators need only add the Client ID and Client Secret, which are provided by Google, and the Attribute Name.
For more information about the Google OpenID Connect API, see https://developers.google.com/identity/protocols/OpenIDConnect
Before you begin, complete the prerequisites for Pre-Authentication. For more information, see Configuring Pre-Authentication, External Authentication or External Authorization.
We recommend that you use the Export command to back up the Security Settings configuration files before making changes to the Authentication page. For more information, see How to Export Security Configuration Files.
For example:
292085223830.apps.googleusercontent.com
For example:
GBAyfVL7YWtP6gudLIjbRZV_N0dW4f3xETiIxqtokEAZ6FAsBtgyIq0MpU1uQ7J08xOTO2zwP0OuO3pMVAUTid
Note: You will most likely replace the default value, name, with the value, email. However, other attribute names can be used in this field. For more information about the value to use, consult your identity provider.
Note: This check box is relevant only to customers who use the domain name\user ID format for their user names and work with an OpenID Connect identity provider that does not accept user IDs with a domain name prefix.
How to: |
Keycloak is an open source Identity and access management solution that works with WebFOCUS to provide single-sign-on pre-authentication using the OpenID Connect standard. For more information about Keycloak and its features, see https://www.keycloak.org/about.html
For more information and instructions about how to configure an installation of WebFOCUS as a Keycloak client for OpenID Authentication, see the Keycloak Getting Started Guide, located at https://www.keycloak.org/docs/latest/getting_started/index.html
Before you begin, complete the prerequisites for Pre-Authentication. For more information, see Configuring Pre-Authentication, External Authentication or External Authorization.
We recommend that you use the Export command to back up the Security Settings configuration files before making changes to the Authentication page. For more information, see How to Export Security Configuration Files.
For example: WebFOCUS-HEAD.
For example:
43b89579-ea9c-4101-b321-56b9dc6ae0f8
http://host:port/auth/realms/realm-name/protocol/openid-connect/auth
where:
Is the name or IP address of the host used by Keycloak.
Is the number of the port on which the Keycloak identity provider listens.
This value is optional, and it should be excluded if the URL uses the default port for the protocol it uses in the scheme, which is port 80 for URLs using the http protocol or port 443 for URLs using the https protocol.
Is the name of the realm you identified for WebFOCUS in Keycloak. For example, WebFOCUSRealm.
For example:
http://server01.ibi.com:8080/auth/realms/WebFOCUSRealm/protocol/openid-connect/auth
http://host:port/auth/realms/realm-name/protocol/openid-connect/token
Where host, port, and realm-name identify the host used by Keycloak as described in step 6.
For example:
http://server01.ibi.com:8080/auth/realms/WebFOCUSRealm/protocol/openid-connect/token
http://host:port/auth/realms/realm-name/protocol/openid-connect/userinfo
Where host, port, and realm-name identify the host used by Keycloak as described in step 6.
For example:
http://server01.ibi.com:8080/auth/realms/WebFOCUSRealm/protocol/openid-connect/userinfo
http://host:port/auth/realms/realm-name/protocol/openid-connect/logout?redirect_uri=https://wfhost.ibi.com/context/service/wf_security_logout.jsp
Where host, port, and realm-name identify the host used by Keycloak as described in step 6, wfhost identifies the name or IP address of the host used by WebFOCUS, and context identifies the context used for your installation of WebFOCUS, typically, \ibi_apps.
For example:
http://server01.ibi.com:8080/auth/realms/WebFOCUSRealm/protocol/openid-connect/logout?redirect_uri=https://wfserver01.ibi.com/ibi_apps/service/ wf_security_logout.jsp
Note: You will most likely replace the default value, name, with the value, email. However, other attribute names can be used in this field. For more information about the value to use, consult your identity provider.
Note: This check box is relevant only to customers who use the domain name\user ID format for their user names and work with an OpenID Connect identity provider that does not accept user IDs with a domain name prefix.
How to: |
Other third-party OpenID Connect providers can pre-authenticate users for WebFOCUS. Even though the information that must be configured in WebFOCUS and at the identity provider must conform to the OpenID Connect standard, the specific configuration requirements for individual identity providers can vary. For more information, see documentation from your OpenID identity provider.
Before you begin, complete the prerequisites for Pre-Authentication. For more information, see Configuring Pre-Authentication, External Authentication or External Authorization.
We recommend that you use the Export command to back up the Security Settings configuration files before making changes to the Authentication page. For more information, see How to Export Security Configuration Files.
Or
If you assigned a Client ID to your configuration within the OpenID Connect identity provider, type or copy and paste the value in the Client ID field.
Note: You will most likely replace the default value, name, with the value, email. However, other attribute names can be used in this field. For more information about the value to use, consult your identity provider.
Note: This check box is relevant only to customers who use the domain name\user ID format for their user names and work with an OpenID Connect identity provider that does not accept user IDs with a domain name prefix.
Note: You can clear the value email that appears in this field, by default, if you and your identity provider do not support it.
Note: We do not recommend that you select None unless required to do so by your identity provider.
Only one OpenID Connect provider can be supported per installation.
When OpenID Connect Authentication is enabled in a security zone, all other methods of authentication in that zone must be disabled.
As with other methods of pre-authentication, we recommend using this method in the Default Security Zone while allowing the Alternate Zone to support Form-Based Authentication for administration activities.
How to: |
Web Access Management Systems, including CA SiteMinder, Oracle Access Manager (formerly Oblix), and IBM Tivoli Access Manager WebSEAL, can be used to enable single sign on (SSO) with WebFOCUS. These systems intercept requests to WebFOCUS, ensure that the user is authenticated and authorized to access WebFOCUS, and then provide an HTTP header in which WebFOCUS can find the pre-authenticated user ID. Because these systems intercept and populate the HTTP header on every request, WebFOCUS can trust that the user ID found in the HTTP header is valid.
Before you begin, complete the prerequisites for Pre-Authentication. For more information, see Configuring Pre-Authentication, External Authentication or External Authorization.
We recommend that you use the Export command to back up the Security Settings configuration files before making changes to the Authentication page. For more information, see How to Export Security Configuration Files.
Typically, this is the Default Security zone.
http://webseal.domain.com/pkmslogout.
Before you begin, complete the prerequisites for Pre-Authentication. For more information, see Configuring Pre-Authentication, External Authentication or External Authorization.
We recommend that you use the Export command to back up the Security Settings configuration files before making changes to the Authentication page. For more information, see How to Export Security Configuration Files.
For example, SM_USER, iv-user.
How to: |
In pre-authentication using Integrated Windows Authentication, WebFOCUS uses Microsoft Internet Information Services (IIS) with its Windows Authentication or Basic authentication options to pre-authenticate Microsoft Windows users. This configuration requires a plug-in that enables IIS to securely pass user identities to the JEE web application container that hosts WebFOCUS. Additional information about the configuration of IIS with Tomcat and IIS with WebSphere is included at the end of the following procedure.
Before you begin, complete the prerequisites for Pre-Authentication. For more information, see Configuring Pre-Authentication, External Authentication or External Authorization.
We recommend that you use the Export command to back up the Security Settings configuration files before making changes to the Authentication page. For more information, see How to Export Security Configuration Files.
We also recommend that you enable the Alternate Security Zone when using Windows Authentication to continue support for form-based Internal Authentication of those administrators who must bypass Windows Authentication for administrative tasks. For more information, see How to Enable a Security Zone.
Typically, IIS prepends the name of the Windows Domain to which the user is assigned to the user ID passed to WebFOCUS, using the domain name\user ID format. By default, WebFOCUS strips the domain and backslash (\) from the value, leaving just the user ID, which is then used to complete the sign-in process.
We recommend that you accept this default behavior, and move to the following step without altering it. If you must modify it, open the Edit JEE Container Based Authentication Settings dialog box, clear the Strip the Domain Name from JEE User Principal Name check box, and click OK to save the change.
All other methods of authentication are disabled automatically.
<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" tomcatAuthentication="false" redirectPort="8443" />
WebFOCUS can be integrated with other applications to provide users with a single sign on (SSO) experience. For example, users may sign in to an existing web application with credentials that are validated by the application. If users click on buttons or links that take them to a portal, you may want them to be signed in to WebFOCUS automatically, rather than requiring them to provide their passwords again.
The best way to accomplish this sort of integration is through the deployment of a custom Java servlet filter inside the WebFOCUS web application. Professional Services team members can develop a custom solution based on the IBIServletFilter. Alternatively, if your users access WebFOCUS through IIS, you can install an HTTP module using ASP.NET into IIS.
Custom solutions generally follow the Shared Secret approach. In this approach, a user initiates a connection to WebFOCUS by clicking a link, button, or tab in the existing web application. The web application sets the user ID, and creates an AES-encrypted token containing the user ID and a timestamp. The web application then passes the token on to WebFOCUS.
Within WebFOCUS, the IBIServletFilter decrypts the token and then compares the timestamp to the current time to determine if the token has exceeded a specified interval. The IBIServletFilter performs this time check to ensure that a replay attack, that is, a fraudulent attempt to authenticate an unauthorized user based on an outdated token, has not occurred.
If the token has not exceeded the specified interval, the IBIServletFilter compares the user ID from the token to the user ID it maintains. If they match, the user ID is trusted. If they do not match, the connection is rejected.
WebFOCUS supports single sign on (SSO) between a web browser, the WebFOCUS Client, and the WebFOCUS Server in networks that use Kerberos pre-authentication. This includes impersonation support on the WebFOCUS Server, which means that the SSO capability can be extended through RDBMS adapters that support trusted connections, including Microsoft SQL Server.
This topic explains how to configure WebFOCUS within an SSO environment that uses native Kerberos support in Active Directory. This activity requires updates to Windows Active Directory, WebFOCUS, and the browsers assigned to it. Active Directory must be configured to include accounts for the servers that support the WebFOCUS Client and the WebFOCUS Server and to define the method of delegation for Kerberos credentials. WebFOCUS must be configured to support Kerberos authentication for each relevant security zone. Individual browsers assigned to users must be configured to identify the server and client URLs that support the use of Kerberos authentication. These tasks are described in detail in this topic.
However, if your organization has disabled this default configuration, user IDs must use the format:
user_ID @ domain.com
where:
Is the appropriate user ID passed to WebFOCUS in the Kerberos ticket.
Is an available domain and extension.
Domain suffix. Generally, when Kerberos passes a user ID to WebFOCUS, it appends the Windows Domain of that user to the ID itself, in the format user ID@domain.com. By default, the domain is stripped from this concatenated value, leaving just the user ID. The plain user ID that remains is then used to complete the sign-in process.
To override this default configuration and prevent WebFOCUS from stripping the domain, clear the Enable Domain Name Suffix Stripping check box in the EDIT KERBEROS/SPNEGO dialog box, which opens from the Authentication Page on the Security tab of the Administration Console.
WebFOCUS can support unconstrained delegation and constrained delegation of account credentials granted by Kerberos pre-authentication.
Unconstrained delegation allows account credentials to be delegated to any service in the domain. Constrained delegation limits delegation of account credentials to a specified list of services.
The configuration for either method follows the same basic path. However, in order to establish constrained delegation to the WebFOCUS Server alone or to the WebFOCUS Server and the Database Server, you must add the following configuration tasks:
If you must also delegate Kerberos authentication from the WebFOCUS Server to a relational database management server (RDBMS), you must configure a connection that supports this delegation on the WebFOCUS Server. For more information, see the Kerberos configuration and testing procedures content assigned to the Server browser interface Help.
In this section: |
How to: |
The pre-installation steps required to include WebFOCUS in Windows Active Directory vary, depending upon whether you use constrained delegation of Kerberos credentials or unconstrained delegation.
If you use constrained delegation, a network administrator with Domain Administration privileges must perform the following pre-installation steps.
If you use unconstrained delegation, a network administrator with Domain Administration privileges must perform the following pre-installation steps.
If you choose to use unconstrained delegation of Kerberos credentials, you do not need a Service Principal Name for the WebFOCUS Server and can bypass this procedure. Continue with the procedure, How to Create a Service Account User in Windows Active Directory.
If you choose to use constrained delegation of Kerberos credentials, you must have a Service Principal Name (SPN) for the WebFOCUS Server before you can delegate Kerberos credentials to it. You can use this procedure to identify the SPN that has been assigned to the WebFOCUS Server.
However, if you already know the SPN for the WebFOCUS Server, you can bypass this procedure and move on to How to Create a Service Account User in Windows Active Directory.
setspn -l hostname
where:
Is the machine name for the WebFOCUS Server. For example, rs-kerb.
Could not find account hostname
where:
Is the machine name for the WebFOCUS Server. For example, rs-kerb.
The WebFOCUS Server was not added to the domain.
For information about how to add a WebFOCUS Server to a domain, see the procedure, Adding Users and Computers to the Active Directory Domain at https://support.microsoft.com/en-us/help/324753/how-to-create-an-active-directory-server-in-windows-server-2003.
Registered ServicePrincipalName...
but does not include the entry:
HTTP/hostname.ibi.com
where:
Is the full SPN name for the WebFOCUS Server, with hostname being the machine name for the WebFOCUS Server, for example, rs-kerb.ibi.com.
An SPN that will support constrained delegation is not available for the WebFOCUS Server.
You must create a new SPN for the WebFOCUS Server as described in the procedure, How to Create a Service Principal Name (SPN).
Registered ServicePrincipalName...
and includes the entry:
HTTP/hostname.ibi.com
where:
Is the full SPN name for the WebFOCUS Server, with hostname being the machine name for the WebFOCUS Server, for example, rs-kerb.ibi.com.
An SPN that will support constrained delegation is available for the WebFOCUS Server.
Continue with the topic, How to Create a Service Account User in Windows Active Directory.
The following example of a successful result identifies the Service Principal Names for a WebFOCUS Server named rs-kerb. The second line identifies HTTP/rs-kerb.ibi.com as the full SPN for that WebFOCUS Server.
setspn -l rs-kerb Registered ServicePrincipalNames for CN=RS-KERB, OU=Workstations,DC=ibi,DC-com: HTTP/rs-kerb.ibi.com TERMSRV/rs-kerb.ibi.com TERMSRV/RS-KERB WSMAN/rs-kerb.ibi.com WSMAN/rs-kerb RestrictedKrbHost/rs-kerb.ibi.com RestrictedKrbHost/RS-KERB HOST/RS-KERB HOST/rs-kerb.ibi.bom
The following example of an unsuccessful result contains a message stating that the setspn statement was unable to find an account with the name rs-kerb.
setspn -l rs-kerb FindDomainForAccount: Call to DsGetDcNameWithAccountW failed with return value 0x00000525 Could not find account rs-kerb
Use the setspn command to create a Service Principal Name (SPN) for the WebFOCUS Server.
Note: The value specified for the full SPN name for the WebFOCUS Server must begin with HTTP in uppercase, followed by a slash ( /).
The command format is:
setspn -a HTTP/hostname.ibi.com hostname
where:
Is the full SPN name for the WebFOCUS Server, with hostname being the machine name for the WebFOCUS Server, for example, rs-kerb.ibi.com.
The resulting output is:
Registering ServicePrincipalNames for CN=hostname, CN=Computers,DC=ibi,DC=com HTTP/hostname.ibi.com Updated object
where:
Is the computer name for the WebFOCUS Server, with hostname being the machine name for the WebFOCUS Server, for example, rs-kerb.ibi.com.
setspn -l hostname
where
Is the new SPN you just created. For example, rs-kerb.
If your results were successful, you should see the following message:
Registered ServicePrincipalNames for CN=hostname,CN=Computers,DC=ibi,DC=com
followed by a list of results that includes the entry:
HTTP/hostname.ibi.com
where:
Is the new SPN you just created, with hostname being the machine name for the WebFOCUS Server, for example, rs-kerb.ibi.com. This is the only value that is relevant to Kerberos delegation.
The following example of a successful Service Principal Name registration identifies HTTP/rs-kerb.ibi.com as the new Service Principal Name for the computer name rs-kerb.
Registering ServicePrincipalNames for CN=RS-KERB,CN=Computers,DC=ibi,DC=com HTTP/rs-kerb.ibi.com Updated object
The following example of a response message confirms the presence of the newly-created SPN by listing all of the Registered Service Principal Names for the computer name rs-kerb:
Registered ServicePrincipalNames for CN=RS-KERB,CN=Computers,DC=ibi,DC=com: HTTP/rs-kerb.ibi.com WSMAN/rs-kerb WSMAN/rs-kerb.ibi.com TERMSRV/RS-KERB TERMSRV/rs-kerb.ibi.com RestrictedKrbHost/RS-KERB HOST/RS-KERB RestrictedKrbHost/rs-kerb.ibi.com
This procedure creates a service account in Active Directory for the WebFOCUS SSO feature. It identifies the WebFOCUS Client in Kerberos operations.
The value specified for the First name and Full name must begin with http in lowercase letters, followed by an underscore character (_). The format is:
http_hostname
where:
Is the computer name of the machine on which the WebFOCUS Client is installed. For example, wf-kerb.
The value specified for the User logon name must begin with HTTP in uppercase, followed by a slash (/). The format is:
HTTP/hostname.domain.ext
where:
Is the fully qualified domain name of the machine on which the WebFOCUS Client is installed.
The value specified for the User logon name must begin with http in lowercase followed by an underscore (_). The format is:
http_hostname
where:
Is the name of the machine on which the WebFOCUS Client is installed. For example, wf-kerb.
The value specified for the User logon name (pre-Windows 2000) becomes the sAMAccountName attribute for the service account.
In this example, the New Object - User dialog box contains values in the recommended format, indicating that the WebFOCUS Client is installed on a machine named wf-kerb.
In order to set the servicePrincipalName (SPN) attribute on your service account and to generate the Kerberos keytab file for WebFOCUS, you must run the ktpass command from the Command Prompt window of the domain controller. Type the command and all arguments and values on a single line. We recommend that you keep a copy of the command syntax you use to support troubleshooting later.
ktpass /out filename /mapuser user_ID /princ principal /crypto encryption /pass password /ptype KRB5_NT_PRINCIPAL
where:
Is the name that ktpass will use to create the Kerberos keytab file. The recommended value is http_hostname.keytab.
where:
Is the sAMAccountName value provided in the User logon name (pre-Windows 2000) field of the Service Account.
Is specified by concatenating the user logon name value provided in the User logon name field of the Service Account with @REALM, where REALM is the Kerberos realm. The Kerberos realm generally uses the same value as the Active Directory DNS suffix, except that the Kerberos realm is typed in uppercase characters.
Is the encryption option that will be used when creating the keytab file. You may need to download the latest Microsoft support tools for a version of the ktpass command that supports the recommended value of All.
Note: If any of the machines on your network are running Windows 2008 R2, Windows 7, or later, you must choose All for these machines to function properly with Kerberos. Microsoft removed all support for DES in later versions of Windows.
Is the Windows password associated with the service account, in plain text.
The following example shows a correctly-formatted ktpass command that applies to the examples provided previously in this section:
C:\>ktpass /out http_wf-kerb.keytab /mapuser http_wf-kerb /princ HTTP/wf-kerb.ibi.com@IBI.COM /crypto All /pass password1 /ptype KRB5_NT_PRINCIPAL
Targeting domain controller: ibidca.ibi.com Successfully mapped HTTP/wf-kerb.ibi.com to http_wf-kerb. Key created. Output keytab to http_wf-kerb.keytab: Keytab version: 0x502 keysize 63 HTTP/wf-kerb.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 2 etype 0x17 (RC4-HMAC) keylength 16 (0x0df97e7355555817c828671454137af0)
Scroll through the property names to confirm that the ktpass command added an attribute named servicePrincipalName (SPN) and modified the sAMAccountName and the userPrincipalName (UPN) attributes, as shown in the following image.
You can configure constrained delegation or unconstrained delegation for Kerberos in the Windows Active Directory by using the Delegation tab in the Properties dialog box for the Service Account User.
Note: The Delegation tab appears only after you run the ktpass command. For more information, see How to Run the ktpass Command for the Service Account User.
Note: The Use Kerberos only option is selected, by default
Typically this value is:
hostname
where:
Is the SPN name for the WebFOCUS Server to which this account can present delegated credentials.
How to: |
If you are using one or more host headers, you must perform the following steps.
The following procedure assumes that there are two host header names, which are wf-kerb1 and wf-kerb2.
Note: Do not create C records.
ktpass /in filename /out filename /princ principal /crypto encryption/pass password /ptype KRB5_NT_PRINCIPAL
ktpass /in c:\keytab\http_wf-kerb.keytab /out c:\keytab\http_wf-kerb.keytab /princ HTTP/wf-kerb1.ibi.com@IBI.COM /crypto All /pass password1 /ptype KRB5_NT_PRINCIPAL
The resulting output is:
Existing keytab: Keytab version: 0x502 keysize 63 HTTP/wf-kerb.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 2 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef) NOTE: creating a keytab but not mapping principal to any user. For the account to work within a Windows domain, the principal must be mapped to an account, either at the domain level (with /mapuser) or locally (using ksetup) If you intend to map HTTP/wf-kerb1.ibi.com@IBI.COM to an account through other means or don't need to map the user, this message can safely be ignored. WARNING: pType and account type do not match. This might cause problems. Key created. Output keytab to c:\keytab\http_wf-kerb.keytab: Keytab version: 0x502 keysize 63 HTTP/wf-kerb.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 2 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef) keysize 64 HTTP/wf-kerb1.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 1 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef)
ktpass /in c:\keytab\http_wf-kerb.keytab /out c:\keytab\http_wf-kerb.keytab /princ HTTP/wf-kerb2.ibi.com@IBI.COM /crypto All /pass password1 /ptype KRB5_NT_PRINCIPAL
The resulting output is:
Existing keytab: Keytab version: 0x502 keysize 63 HTTP/wf-kerb.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 2 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef) keysize 64 HTTP/wf-kerb1.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 1 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef) NOTE: creating a keytab but not mapping principal to any user. For the account to work within a Windows domain, the principal must be mapped to an account, either at the domain level (with /mapuser) or locally (using ksetup) If you intend to map HTTP/wf-kerb2.ibi.com@IBI.COM to an account through other means or don't need to map the user, this message can safely be ignored. WARNING: pType and account type do not match. This might cause problems. Key created. Output keytab to c:\keytab\http_wf-kerb.keytab: Keytab version: 0x502 keysize 63 HTTP/wf-kerb.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 2 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef) keysize 64 HTTP/wf-kerb1.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 1 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef)
Note: You can refer to each host header in two ways, either by using the fully qualified domain name or by using the one-part name. For example, you can refer to the first host header as wf-kerb1.ibi.com (fully qualified domain name) or as wf-kerb1 (one-part name). As a result, when you run the setspn commands in this step, there are four entries.
setspn -A HTTP/wf-kerb1.ibi.com ibi\http_wf-kerb
The resulting output is:
Registering ServicePrincipalNames for CN=http_wf-kerb,OU=USERS,OU=DEVELOPMENT, O=BIPG,OU=COR,DC=ibi,DC=com HTTP/wf-kerb1.ibi.com Updated object
setspn -A HTTP/wf-kerb1 ibi\http_wf-kerb
The resulting output is:
Registering ServicePrincipalNames for CN=http_wf-kerb,OU=USERS,OU=DEVELOPMENT, O=BIPG,OU=COR,DC=ibi,DC=com HTTP/wf-kerb1 Updated object
setspn -A HTTP/wf-kerb2.ibi.com ibi\http_wf-kerb
The resulting output is:
Registering ServicePrincipalNames for CN=http_wf-kerb,OU=USERS,OU=DEVELOPMENT, O=BIPG,OU=COR,DC=ibi,DC=com HTTP/wf-kerb2.ibi.com Updated object
setspn -A HTTP/wf-kerb2 ibi\http_wf-kerb
The resulting output is:
Registering ServicePrincipalNames for CN=http_wf-kerb,OU=USERS,OU=DEVELOPMENT, O=BIPG,OU=COR,DC=ibi,DC=com HTTP/wf-kerb2 Updated object
If you want to use unconstrained delegation with Kerberos pre-authentication, disregard this section. This configuration is not relevant to unconstrained delegation.
How to: |
The following procedure describes the steps for configuring the WebFOCUS Client for Kerberos pre-authentication.
The Default zone, the Portal Zone, and the Alternate Zone can support Kerberos pre-authentication. However, if you use the Alternate Zone for local administrative access, you must not configure it for Kerberos pre-authentication because Kerberos cannot support authentication when the WebFOCUS Client and the browser are installed on same machine.
When created during the installation process, the administrative user is not typically assigned a valid Kerberos User ID. Therefore, in the first part of the configuration, you replace the existing administrative user with a new administrative user to whom you assign a valid Kerberos User ID. WebFOCUS can then manage Kerberos pre-authentication and all other authentication tasks with this new administrative user.
The ID that you assign to the administrative user, and to all users that are subject to Kerberos pre-authentication, must follow the format conventions for Kerberos User IDs that are established in your product installation. By default, WebFOCUS strips domains from the names of all Kerberos User IDs. If you accept this default configuration, you only need to assign a name to the ID of the administrative user or any other user subject to Kerberos pre-authentication. However, if you deactivate this feature by clearing the Enable Domain Name Suffix Stripping check box in the Edit KERBEROS/SPNEGO Authentication Settings dialog box, User IDs must also include the domain to which the user is assigned as well as the name, and they must follow the required format User ID@domain.com.
For more information about Kerberos user names and their format requirements, see Limitations on Pre-authentication Using Kerberos.
In the second part of the configuration, you identify the name or location of following items:
Each of these items represents the name or location of a key component of the Kerberos pre-authentication method, and all of them are required.
Note: The krb5 configuration file is named krb5.ini in Windows or krb5.conf in UNIX.
In order to assign these values to the Security Zone that supports Kerberos pre-authentication, you must type them in the Edit KERBEROS/SPNEGO Authentication settings dialog box, which is located on each of the Security Zone-based Authentication pages of the Administration Console Security tab. Settings for the Default Security Zone, are stored in the securitysettings.xml file. Settings for the Alternate Security Zone are stored in the securitysettings-zone.xml file. Settings for the Portal Zone are stored in the securitysettings-portlet.xml file.
In this procedure you create an account for the administrative user that will replace the default administrator once you convert WebFOCUS from internal authentication to Kerberos pre-authentication.
Before you begin, complete the prerequisites for Pre-Authentication. For more information, see Configuring Pre-Authentication, External Authentication or External Authorization.
We recommend that you use the Export command to back up the Security Settings configuration files before making changes to the Authentication page. For more information, see How to Export Security Configuration Files.
or
Click the KERBEROS/SPNEGO Authentication entry, and then, in the Actions section, click Edit.
or
Right-click the KERBEROS/SPENGO Authentication entry, and then click Edit.
For example, HTTP/wf-kerb.ibi.com.
We recommend that you place this file in the config directory.
For example:
drive:/ibi/WebFOCUS82/config/http_wfkerb.keytab
where:
We recommend that you place this file in the config directory.
For example:
drive:/ibi/WebFOCUS82/config/krb5configfilename
where:
Note: All of these values are required. These examples represent the typical values for each attribute. If your organization uses a different Kerberos Service provider name, or has placed any of the other components in a different location, type that name or location in these fields instead of the name or location called for in the preceding sub-steps.
When this second check box is selected, Form Based Authentication is also enabled in this Security Zone as a supplemental method of authentication if Kerberos fails.
Or
Click the KERBEROS/SPNEGO Authentication entry, and then, in the Actions section, click Enable.
The SSO capability requires an Active Directory domain at a Windows 2000 functional level or higher. The following browsers are supported:
The Local intranet dialog box opens.
A second Local intranet dialog box that contains advanced settings opens.
Repeat this step for each website you must add to the list.
The use of Kerberos authentication with the Google Chrome browser requires an Administrator to download and install a Security Policy Template provided by Google.
For browsers hosted on machines that run on Windows, the Security Policy Template adds the following two settings to the Registry.
If you do not assign data to this value, Chrome responds only to integrated authentication requests from an Intranet server and ignores requests from Internet servers.
The Security Policy Template has a similar impact on browsers hosted on machines that run on Apple macOS or Linux. For more information about downloading the Security Policy Template and deploying it in Apple macOS or Linux, see https://www.chromium.org/administrators/policy-templates.
The configuration of Google Chrome browsers to support Kerberos Authentication in Windows is a three-step process:
For each user who uses a Google Chrome browser to connect to WebFOCUS:
drive:\path\Configuration\adm\language\chrome.adm
where:
Is the code name for the language used by the machine hosting the Google Chrome browser.
For example:
C:\temp\KerberosUpdatesForEdgeandChrome8207\Configuration\adm\en-US
Enter Edit Group Policy in the Search Tray of the machine that hosts the browser to open the App panel, and then select Open to see the Local Group Policy Editor.
Or
Select Start and Settings, and then enter gpedit.msc in the Find a Setting field. Under the Search Results heading, select Edit Group Policy, and close the Settings window to see the Local Group Policy Editor, as shown in the following image.
The server name typically takes the format, server.domain.com.
where:
For example:
adminserver.ibi.com
The server name format accepts wildcards. If you need to enter multiple server names, separate each one with a comma (,).
The server name typically takes the format, server.domain.com.
where:
For example:
adminserver.ibi.com
The server name format accepts wildcards. IF you need to enter multiple server names, separate each one with a comma (,).
The syntax is:
http://server.url.domain:port/context
If Kerberos is configured correctly and your user ID has been added to Managed Reporting as previously indicated, you should be signed in to BIP using your Kerberos credentials.
The WebFOCUS Server edaprint log file will record request by cmrpip0000xx for Kerberos connect to agent and reflect your Windows sign-in ID in UPN format.
How to: |
Kerberos authentication requires a synchronous connection between the WebFOCUS Server and the user browser session, but ReportCaster does not use a browser session while running scheduled reports. Therefore, ReportCaster must provide Kerberos with a user ID and password to enable reports.
In the ReportCaster Server Configuration tool, configure each of the data servers that ReportCaster is set up to communicate with. Set the Run Id Type to User to ensure that end users are prompted for their user IDs and passwords once for each node.
Alternately, set the Run Id Type to Static and provide the user ID and password that will be used for all schedules for that WebFOCUS Server.
The Microsoft Windows implementation of Kerberos puts all the Windows group identifiers inside the Kerberos ticket of each user, which can result in a large ticket for a user who belongs to many groups. The Kerberos ticket is transported in an HTTP header, which leads to several technical issues when the ticket size becomes large. If any users belong to more than 100 groups, you may need to perform some or all of the following special configuration tasks:
How to: |
This topic describes the additional steps that are required for Kerberos to work properly in a multi-domain or subdomain environment.
For example, if you have users who are members of SUBA.MYDOMAIN.COM, SUBB.MYDOMAIN.COM, and MYDOMAIN.COM, and all of those users need to access the Kerberos environment, you must follow the directions in this topic.
To handle the additional configuration settings required for Kerberos to work properly in a multi-domain environment, you must create a Kerberos configuration file named krb5.ini. This file contains all the additional information needed for Kerberos to work when you are using more than one domain.
Several versions of Java have a bug that does not allow multiple domains to function properly even with the krb5.ini configuration. As a result, you may need to update your version of Java. For details on the Java bug, go to the following Java bug report:
You can create this file anywhere on the file system, since you explicitly refer to its location later. For the purpose of this example, create the file in:
drive:\ibi\WebFOCUS82\config\krb5.ini
Replace the default_realm name, MYDOMAIN.COM, in the last line of the example with the fully qualified DNS name for the domain of the machine that the WebFOCUS Client has joined.
Type the default_realm name in uppercase letters, as it is case-sensitive.
[libdefaults] ticket_lifetime = 600 default_tgt_enctypes = rc4-hmac default_tgs_enctypes = rc4-hmac default_checksum = rsa-md5 forwardable = true default_realm = MYDOMAIN.COM
If the domains and subdomains share domain controllers, you can create a [realms] section here, and refer to the relationships in the next section, [domain_realm]. The [domain_realm] section is described in step 4.
[realms] MYDOMAIN.COM = { kdc = dc1.mydomain.com:88 kdc = dc2.mydomain.com:88 kdc = dc3.mydomain.com:88 default_domain = mydomain.com } SUBA.MYDOMAIN.COM = { kdc = dc1.suba.mydomain.com:88 kdc = dc2.suba.mydomain.com:88 default_domain = suba.ibi.com } SUBB.MYDOMAIN.COM = { kdc = dc1.subb.mydomain.com:88 kdc = dc2.subb.mydomain.com:88 default_domain = subb.ibi.com }
As in the [libdefaults] section, the values in the [realms] section are case-sensitive. For instance, the first reference name (such as MYDOMAIN.COM in the first block in the example) must be uppercase and the value for default_domain must be lowercase.
Each entry for kdc must refer to the DNS name of a domain controller for the applicable domain. Only one kdc entry is required per domain listed, but multiple kdc entries allow for redundancy.
A domain maps to the realm of the same name, but the realm name is uppercase. As a result, the following entries are redundant:
[domain_realm] .suba.mydomain.com = SUBA.MYDOMAIN.COM .subb.mydomain.com = SUBB.MYDOMAIN.COM .mydomain.com = MYDOMAIN.COM
For more information on the [domain_realm] section, see the MIT Kerberos specifications at the following website:
http://web.mit.edu/kerberos/krb5-1.4/krb5-1.4.1/doc/krb5-admin/domain_realm.html
The [capaths] section is needed only in environments in which the parent domain does not have unilateral trust relationships with all the child domains, or in environments in which multiple domain hierarchies are used.
In those situations, the Kerberos protocol is not able to determine how to authenticate a user from one domain, for a resource in another domain. As a result, the relationships required to accomplish the authentication need to be mapped so that Kerberos knows which path to take to authenticate a user. The following trust relationships apply:
In this example, Kerberos can directly authenticate any user from SUBA.MYDOMAIN.COM, for any resource in SUBB.MYDOMAIN.COM. To authenticate a user in SUBA.MYDOMAIN.COM with MYDOMAIN.COM, you must authenticate that user through SUBB.MYDOMAIN.COM, since SUBA.MYDOMAIN.COM does not have a direct trust relationship with MYDOMAIN.COM.
[capaths] SUBA.MYDOMAIN.COM { SUBB.MYDOMAIN.COM = . MYDOMAIN.COM = SUBB.MYDOMAIN.COM } SUBB.MYDOMAIN.COM { SUBA.MYDOMAIN.COM = . MYDOMAIN.COM = . } MYDOMAIN.COM { SUBB.MYDOMAIN.COM = . SUBA.MYDOMAIN.COM = SUBB.MYDOMAIN.COM }
In the first block is the information for authenticating a user from SUBA.MYDOMAIN.COM. Kerberos can directly authenticate a user from SUBA.MYDOMAIN.COM against SUBB.MYDOMAIN.COM, as represented by the period (.). To authenticate a user from SUBA.MYDOMAIN.COM against MYDOMAIN.COM, Kerberos must go against SUBB.MYDOMAIN.COM. That is why the code states MYDOMAIN.COM =SUBB.MYDOMAIN.COM.
In the second block is the information for authenticating a user from SUBB.MYDOMAIN.COM. Since Kerberos can directly authenticate a user from SUBB.MYDOMAIN.COM against both SUBA.MYDOMAIN.COM and MYDOMAIN.COM, a period (.) is included in both of those columns.
In the third block is the information for authenticating a user from MYDOMAIN.COM. Kerberos can directly authenticate a user from MYDOMAIN.COM, for resources in SUBB.MYDOMAIN.COM, as represented by a period (.). Kerberos must authenticate a user from SUBA.MYDOMAIN.COM by first going through SUBB.MYDOMAIN.COM.
For more information on the use of the [capaths] section with the Kerberos protocol, see the following document from MIT:
http://web.mit.edu/kerberos/krb5-1.5/krb5-1.5.4/doc/krb5-admin/capaths.html
Your krb5.ini file will look similar to the following when you are done:
[libdefaults] ticket_lifetime = 600 default_tgt_enctypes = rc4-hmac default_tgs_enctypes = rc4-hmac default_checksum = rsa-md5 forwardable = true default_realm = MYDOMAIN.COM [realms] MYDOMAIN.COM = { kdc = dc1.mydomain.com:88 kdc = dc2.mydomain.com:88 kdc = dc3.mydomain.com:88 default_domain = mydomain.com } SUBA.MYDOMAIN.COM = { kdc = dc1.suba.mydomain.com:88 kdc = dc2.suba.mydomain.com:88 default_domain = suba.ibi.com } SUBB.MYDOMAIN.COM = { kdc = dc1.subb.mydomain.com:88 kdc = dc2.subb.mydomain.com:88 default_domain = subb.ibi.com } [domain_realm] .suba.mydomain.com = SUBA.MYDOMAIN.COM .subb.mydomain.com = SUBB.MYDOMAIN.COM .mydomain.com = MYDOMAIN.COM
[capaths] SUBA.MYDOMAIN.COM { SUBB.MYDOMAIN.COM = . MYDOMAIN.COM = SUBB.MYDOMAIN.COM } SUBB.MYDOMAIN.COM { SUBA.MYDOMAIN.COM = . MYDOMAIN.COM = . } MYDOMAIN.COM { SUBB.MYDOMAIN.COM = . SUBA.MYDOMAIN.COM = SUBB.MYDOMAIN.COM }
For WebFOCUS Kerberos configurations, the krb5.ini is typically required. You must refer to the location of the file using the following Java™ option. You can specify the -Djava.security.krb5.conf option in Tomcat, as described in the following procedure.
Typically, the bin directory is in the following location:
drive:\ibi\tomcat\bin\
-Djava.security.krb5.conf=drive:\ibi\WebFOCUS82\config\krb5.ini
If you chose another location in which to store your krb5.ini file, you must refer to that location, instead of the location in the preceding example.
Security Assertion Markup Language (SAML) authentication relies on the use of a third-party identity provider to assert the authentication of a user requesting services from a service provider. When a principal, such as a WebFOCUS user, requests services from a service provider, such as WebFOCUS, the service provider relays the request to the identity provider, who then authenticates the principal and allows the requests. SAML pre-authentication allows administrators to transfer the burden of user account maintenance to an independent provider dedicated to this task, and frees users from having to sign in multiple times during a work session, in order to open WebFOCUS and other applications. WebFOCUS supports a variety of identity providers with varying requirements for internal security and credential-based authentication. You can obtain additional information about any specialized support requirements for them by contacting Customer Support.
The complete configuration for SAML Authentication includes the following activities:
Note: This step is optional but recommended.
You can use the default keystore delivered with WebFOCUS to support SAML authentication, or you can create a customized keystore. You can limit the keystore to SAML authentication support, or you can use it to support other security features that require the use of a keystore, such as trusted ticket authentication. If you create a customized keystore, you need to add it to the Key Management dialog box, and add the values you assign to it to the SAML Service Provider metadata defined in the Edit SAML Authentication dialog box
Enable the Alternate Security Zone
After establishing SAML authentication in the Default Security Zone, administrators will still need to bypass SAML authentication for configuration and maintenance activities. By enabling the Alternate Security Zone, which is configured to use form-based authentication by default, administrators can continue to sign in from their machines, and authenticate themselves appropriately while bypassing SAML authentication.
Assign the customized keystore to WebFOCUS.
Note: This step is optional but recommended.
If you create a customized keystore, you must make it available to WebFOCUS by adding it to the Certificate Alias and Password Map in the Key Management dialog box, and replacing the location and password of the default keystore with those of the customized keystore. However, you can skip this activity if you use the default keystore. It is already configured within this dialog box.
Download and configure the SAML service provider metadata file
Add the keystore certificate alias and password to the SAML Service Provider metadata in the Edit SAML Authentication dialog box. Use these values, along with the Entity ID and Entity Base URL, to generate a metadata file that identifies WebFOCUS as a trusted service provider to the identity provider that supports SAML authentication.
Download and configure the identity provider metadata file to WebFOCUS
Add the metadata file provided by the identity provider to the WebFOCUS configuration in order to enable it to use that provider to authenticate user identities.
Enable SAML authentication in the Default Security Zone
To establish SAML authentication as the default method of authentication for WebFOCUS users, you must disable all other forms of authentication in the Default Security Zone and enable SAML authentication.
Save the SAML authentication configuration
Save the settings configured in the Edit SAML Authentication Settings dialog box by clicking the Save link on the Authentication Page. Sign out and recycle the WebFOCUS Server to complete the implementation of SAML authentication.
Even when you establish SAML Authentication as the principal method of authentication for the production environment, we recommend that you retain the use of form-based authentication by enabling the Alternate Security Zone and leaving it configured to use form-based authentication. You can continue to use the Alternate Security Zone for system maintenance tasks under a form based sign in.
Notes:
Before you begin, complete the prerequisites for Pre-Authentication. For more information, see Configuring Pre-Authentication, External Authentication or External Authorization.
There may be additional prerequisites, such as configuring WebFOCUS for SSL. For an introduction to the steps required by the SSL configuration, see Configuring WebFOCUS for SSL. For information about other prerequisites, contact Customer Support.
We recommend that you use the Export command to back up the Security Settings configuration files before making changes to the Authentication page. For more information, see How to Export Security Configuration Files.
This procedure is optional. You can use the default keystore, wfKeystore.jks, and the default alias within it to support SAML Authentication operations.
keytool -genkey -alias aliasname -keyalg RSA -keysize 2048 -keypass keypass -storepass storepass -validity 3650 -keystore keystorename.jks
where:
Note: keytool is a Java command typically found in the Java bin directory.
The command prompt displays the first in a series of questions.
For example, John Doe
For example, Technical Content Management
For example, TIBCO
For example, New York
For example, NY
For example, US
For example, Is CN= John Doe, OU= Technical Content Management, O= TIBCO, L= New York, ST= NY, C= US correct?
If they are not correct, type n and retype the keytool command from step 2.
If they are correct, the new keystore is ready for use.
keytool -list -v -keystore keystorename.jks -storepass storepass
where:
drive:\ibi\WebFOCUS82\config\was
You can use the default keystore, wfKeystore.jks, and the default alias to sign and encrypt WebFOCUS certificates for the identity provider. You can substitute a customized keystore and alias if your identity provider requires.
This location corresponds to the location where you placed the keystore when you created it, drive:\ibi\WebFOCUS82\config\was.
This is the password you assigned to the storepass option when you created the keystore.
The entry for the new keystore appears in The Certificate Alias and Password Map box.
Before you begin this configuration, ensure that a keystore is available in the following directory:
drive:\ibi\WebFOCUS82\config\was
You can use the default keystore, wfKeystore.jks, and the default alias to sign and encrypt WebFOCUS certificates for the identity provider, or you can substitute a customized keystore and alias, if your identity provider requires.
The Edit SAML Authentication Settings dialog box opens.
The default location is:
file:{IBI_CONFIGURATION_DIRECTORY}/was/saml/wfspMetadata.xml
where:
Is the value that identifies the path from the root directory to the sub-folders that follow this setting. For example:
drive:\ibi\WebFOCUS82\config\
These values identify the WebFOCUS alias as the presenter of the Signing Certificate and the Encryption Certificate to the SAML identity provider.
The Service Provider (SP) Metadata Generation dialog box opens.
Note: If the value localhost appears in this field, you must replace it with the fully-qualified URL that is used to access WebFOCUS. For example:
https://SERVER.DOMAIN.COM/ibi_apps/sp
Note: If you are configuring SAML Authentication for the Alternate Security Zone, and the value localhost appears in this field, you must replace it with a fully-qualified URL that is used to access WebFOCUS. For example:
https://SERVER.DOMAIN.COM/ibi_apps
drive:\ibi\WebFOCUS82\config\was\saml
In the rare event that no metadata file is available from the identification service provider, click OK to close the Edit SAML Authentication Settings dialog box and save the Authentication page, as described in, How to Save a SAML Configuration.
Before you begin this configuration, ensure that the SAML Identity provider has delivered a metadata file to you.
drive:\ibi\WebFOCUS82\config\was\saml
Use the following format:
file:{IBI_CONFIGURATION_DIRECTORY}/was/saml/idpMetadata.xml
where:
Is the value that identifies the path from the root directory to the sub-folders that follow this setting, for example:
drive:\ibi\WebFOCUS82\config\
Change these settings only if required by your identity provider.
Note: Settings on the Advanced tab are configured automatically when you generate a metafile. Typically, there is no need to adjust these settings. However, you can clear or select the following check boxes, if required.
The user name retrieved from this attribute can be used to support external authorization. For more information, see Understanding External Authorization.
The group name retrieved from this attribute can be used to support external authorization. For more information, see Group Mapping.
When SAML Authentication is enabled in a security zone, all other methods of authentication in that zone must be disabled.
Enabling the Alternate Security Zone makes form based authentication accessible to administrators when they must bypass SAML authentication for configuration and administration tasks.
The status changes from Disabled to Enabled, and the Alternate Security Zone is ready for use.
In this section: |
How to: |
Trusted ticket pre-authentication uses a trusted ticket to authenticate the identity of a user requesting access to WebFOCUS content and resources that are embedded in a trusted Embedded BI (Business Intelligence) Application. WebFOCUS provides this trusted ticket to an Embedded BI Application during the sign-in process.
Trusted ticket authentication makes it possible for users of an Embedded BI Application to take advantage of the single sign on (SSO) capability. It also protects WebFOCUS by ensuring that the resources it provides are only made available to known users who maintain defined roles and access privileges.
To support this method, both the Embedded BI Application and WebFOCUS must maintain records of Embedded BI Application users, and these users must be assigned to groups in the domains that contain the content and resources embedded in the external application. The Embedded BI Application must be configured to send the variables that support trusted ticket authentication, and WebFOCUS must be configured to accept these variables in the Security Zone that supports Embedded BI Applications.
Trusted ticket authentication requires three exchanges of messages, as shown in the following image.
User Sign-In to the Embedded BI Application
In the first exchange, users sign in to an Embedded BI Application. To sign in, users present credentials, such as a User ID and Password, that identify them as valid users with the authority to work within that application. The Embedded BI Application authenticates their credentials, and begins the work session.
Trusted Ticket Request
In the second exchange, the Embedded BI Application submits an HTTP GET or POST request message for a trusted ticket from WebFOCUS. For example:
GET http://host:port/ibi_apps/service/wf_security_trusted.jsp?IBIB_userid=userone
Note: You can use http:// or https:// for this request.
This second exchange of messages between the Embedded BI Application and WebFOCUS is typically referred to as a back channel request because the connection is established directly between the server hosting the Embedded BI Application and the server hosting WebFOCUS. Therefore, the connection is not seen by the network that runs the web browser of the user.
When WebFOCUS receives a trusted ticket request, it determines if the request includes an IBIB_appname parameter. If the request includes this parameter, WebFOCUS ensures that the application is one of the valid applications on the Application List of the Trusted Ticket Authentication Settings dialog box.
If there is no match for the application name in the IBIB_appname parameter, the trusted ticket request is rejected.
If there is a match for the application name, WebFOCUS then compares the IP address of the application requesting the trusted ticket to the list of Accepted IP Addresses for that application. If the IP address is not included in that list, the request is rejected. If the IP address is included in that list, the trusted ticket is created.
If the IBIB_appname parameter is not included in the trusted ticket request, WebFOCUS determines if any of the applications in the list are identified as the default application.
If there is no default application, the request is rejected.
If there is a default application, WebFOCUS determines if the IP Address of the application requesting the trusted ticket is included in the IP Accepted Address list for the default application. If it is not included in the list, the request is rejected. If it is included in the list, a trusted ticket is created.
The trusted ticket contains encrypted information that is utilized by WebFOCUS for the subsequent trusted sign-on request. The trusted ticket takes values from the parameters in the trusted ticket request, including the required IBIB_userid parameter, the optional IBIB_appname and IBIB_useripaddr parameters, and the time at which the ticket was created. Later, in the trusted sign-on request, WebFOCUS uses the encrypted values from these parameters to validate the authenticity of the user and the trusted sign-on request itself. The trusted ticket must be returned to WebFOCUS as part of a trusted sign-on request within the time specified by the ticket validity period for that application. The length of this period is defined in The ticket validity period (seconds) field in the Application Settings for Trusted Ticket dialog box for each Embedded BI Application.
When the trusted ticket is created, WebFOCUS returns it to the Embedded BI Application. This application then returns the trusted ticket to the browser of the user who initiated the sign-on request.
Trusted Sign-on Request
In the third exchange, the browser of the user of the Embedded BI Application submits a trusted sign-on request to WebFOCUS. This request takes the form of an HTTP GET or POST request message to WebFOCUS. For example:
GET http://host:port/ibi_apps/service/wf_security_trusted.jsp
where:
Is the name or IP address of the host used to access WebFOCUS.
Is the number of the port on which the Web Server or Application Server listens.
This value is optional, and it should be excluded if the URL uses the default port for the protocol it uses in the scheme, which is port 80 for URLs using the http protocol or port 443 for URLs using the https protocol.
Note: You can use http:// or https:// for this request.
This trusted ticket sign-on request includes one required parameter and two optional parameters.
When WebFOCUS receives a trusted sign-on request, it ensures that the request arrived within the ticket validity time period defined for the Embedded BI Application of the user that initiated the trusted sign-on request, and that the user making the request exists within WebFOCUS. If the trusted sign-on request occurs after the ticket validity period expires, the request is rejected.
If the request arrived within the ticket validity period, WebFOCUS validates the name of the requesting application, as described in the trusted ticket request validation. If the name provided by the IBIB_appname parameter is not on the Application List, the trusted sign-on request is rejected. If the trusted sign-on request does not include the IBIB_appname parameter, and no default application is identified, the request is rejected.
If the trusted sign-on request passes the validation, WebFOCUS retrieves and decrypts the IBIB_userid, IBIB_appname, and IBIB_useripaddr parameters from the trusted ticket.
If WebFOCUS cannot find an existing account for the user ID identified in the IBIB_userid parameter, it identifies the value in the Account Creation on Sign In setting. If this value is All, a new account for the user is created automatically. This setting can also use the value Off, or Mapped External Groups. For additional information on these configuration options, see AUTOADD.
If the trusted ticket includes the IP Address of the user in the IBIB_useripaddr parameter, and the Client IP Matching check box for the Embedded BI Application is selected, WebFOCUS ensures that the IP address from the trusted ticket matches the IP address of the browser of the Embedded BI Application user who initiated the trusted ticket request. If the IP addresses do not match, the trusted sign-on request is rejected. If the IP addresses match, the trusted sign-on request is accepted.
If WebFOCUS accepts the trusted sign-on request, it opens a session for the user, and directs that user to the destination identified in the IBIB_Destination parameter. The Embedded BI Application can then request content and resources on behalf of this user from WebFOCUS through URL requests or the WebFOCUS RESTful Web Services API.
If the Embedded BI Application must make POST requests that create or update WebFOCUS resources, a Cross-Site Request Forgery (CSRF) token must be obtained from WebFOCUS and submitted with these requests. Typically, the response to a Trusted Sign On Request returns XML that contains a CSRF token name and value pair that can be used for the session.
In general, there is no requirement to enable the Alternate Security Zone to support the deployment of Embedded BI Applications. If it is not required, the Alternate Security Zone should remain disabled because it can complicate troubleshooting for trusted ticket authentication configurations.
However, if the Alternate Security Zone must be enabled while supporting trusted ticket authentication, WebFOCUS will first determine if a client request should be processed by the Alternate Security Zone configuration. By default, the Alternate Security Zone is configured to capture requests made to the localhost IP addresses 127.0.0.1 and 0:0:0:0:0:0::1. To create this configuration, enable trusted ticket authentication on the Alternate Security zone, and add the IP address of the host where the Embedded BI Application resides.
In this section: |
The configuration of trusted ticket authentication requires administrators to configure the Embedded BI application and WebFOCUS to exchange information and authenticate Trusted Ticket requests and Trusted Sign-On requests.
To prepare the Embedded BI Application to support trusted ticket authentication, an Embedded BI Application developer must:
For more information about how to configure the Embedded BI Application to make a trusted ticket request and a trusted sign-on request, see the TIBCO WebFOCUS® Embedded Business Intelligence User's Guide.
This configuration and the information identification delivered by the Embedded BI Application must be available before an administrator can add the external application to the Trusted Ticket configuration within WebFOCUS.
To prepare WebFOCUS to support trusted ticket authentication, an administrator must:
The Fintoso Embedded BI demo, which you must install in drive:\ibi\WebFOCUS82\samples\embedded_demo, includes the following two pages that can help you evaluate the Trusted Ticket feature:
http(s):/host:port/embeddemo/tester/create_trusted_ticket.jsp
http(s):/host:port/embeddemo/tester/test_trusted_ticket.jsp
where:
Is the name or IP address of the host used to access WebFOCUS.
Is the number of the port on which the Web Server or Application Server listens.
This value is optional, and it should be excluded if the URL uses the default port for the protocol it uses in the scheme, which is port 80 for URLs using the http protocol or port 443 for URLs using the https protocol.
These pages identify the required and optional fields for each of the two transactions.
For more information about these two pages, see theTIBCO WebFOCUS® Embedded Business Intelligence User's Guide. .
Note: The address of the machine that hosts the browser that issues the request to the create_trusted_ticket.jsp page must appear in the Application List of the Edit Trusted Ticket Authentication Settings dialog box. If this address does not appear, the Create a Trusted Ticket page will not accept the request to create a trusted ticket. For more information about adding the address to this list, see How to Configure Trusted Ticket Authentication.
Before you begin, complete the prerequisites for Pre-Authentication. For more information, see Configuring Pre-Authentication, External Authentication or External Authorization.
There may be additional prerequisites, such as configuring WebFOCUS for SSL. For an introduction to the steps required by this configuration, see Configuring WebFOCUS for SSL. For information about other prerequisites, contact Customer Support.
Work with the developer of the Embedded BI Application to configure it to support a trusted ticket request and a trusted sign-on request. For more information, see the TIBCO WebFOCUS® Embedded Business Intelligence User's Guide.
We also recommend that you use the Export command to back up the Security Settings configuration files before making changes to the Authentication page. For more information, see How to Export Security Configuration Files.
Note: If you support Embedded BI Applications in both zones, configure trusted ticket authentication for the Default Security Zone first and then configure it for the Alternate Security Zone.
or
Right-click the Trusted Ticket Authentication entry, and then click Edit.
These settings are configured to minimize the number of concurrent sessions by signing out an existing user when a new Trusted Ticket sign on request arrives during an open session and signing in the user that sent the new sign on request. We do not recommend that you clear these check boxes.
Use the same spelling and capitalization as that of the application name that will be delivered in the HTTP Request message.
Note: To provide increased security, you can create a new certificate, add it to the WebFOCUS keystore, make an alias for it, and then click the name of that alias in the Alias of the Certificate list.
You can use the IPv4 format, as shown in the following image.
Or you can use the IPv6 format, as shown in the following image.
Type only one address in the IP Address Pattern field.
The new embedded application appears in the Application List, as shown in the following image.
If the Embedded BI Application and WebFOCUS are deployed on two separate servers, configure WebFOCUS to Allow Embedding for the zones that support Embedded BI Applications. For more information, see How to Allow Embedding for a Security Zone.
If the Embedded BI Application must make POST requests that create or update WebFOCUS resources, establish cross-origin resource sharing for the zones that support Embedded BI Applications. For more information, see How to Allow Cross-Origin Resource Sharing for a Security Zone.