In this section: |
Reference: |
When you configure pre-authentication, external authentication, or external authorization, the WebFOCUS Client uses the security providers configured on the WebFOCUS Server (WFRS) to query the external source for information about users. The security provider may be LDAP or Active Directory, or it may use a custom method of authentication or authorization, such as authenticating users to a web service or authorizing them based on information stored in a table in a relational database management system (RDBMS).
The WebFOCUS Server supports multiple concurrent security providers. You must always configure a primary provider and may optionally configure one or more secondary providers. It is recommended that you authorize WebFOCUS users through the primary provider.
When you install the WebFOCUS Server, PTH (internal authentication) is automatically configured as the default security provider. In order to see this default configuration in the Server browser interface, you must start the WebFOCUS Server with the Start Security ON command. You can use the PTH Server Administrator that is automatically created during installation to configure the external sources that you plan to use for pre-authentication or external authentication. Once you have configured your preferred method of authentication, it is recommended that you configure PTH as a secondary security provider. This ensures that you can access the Server browser interface even if the primary provider is unavailable.
PTH can also be useful as the security provider for the WebFOCUS Server service account used to communicate with the WebFOCUS Client. Governance policies often require that passwords in the external source be changed on a regular basis and never be stored in configuration files, prohibiting the use of a non-expiring password for an account that belongs to the primary service provider. To avoid the necessity of managing updates to the service account password, you can specify a PTH account that does not exist in the external source and give the account the Server Administrator role and a password that is set never to expire.
Note: When you do not specify the provider for a user account, it is treated as an account from the primary provider. To use multiple WebFOCUS Server security providers for authentication, prefix the WebFOCUS user ID with the secondary security provider name for any individuals associated with it. For example, if the WebFOCUS Server has two LDAP providers, a primary provider named ldap01 and a secondary provider named ldap02, then the user accounts ldap01\user1 and ldap02\user2 must be created in WebFOCUS as user1 and ldap02\user2, respectively.
In this section: |
How to: |
To configure a new LDAP or Active Directory security provider, you create the provider, set up user search and group search, and configure the security provider to allow trusted connection from other applications. You may also want to change its status to primary provider or secondary provider, since new providers are automatically configured as inactive.
Note: You can change properties by right-clicking the provider name to access the Security Configuration pane.
Or
On the banner, select Security Providers, New Provider, and LDAP.
The LDAP Security Configuration tab opens.
This name appears as the vendor name in the Access Control navigation pane.
Select Explicit if you use an explicit bind to authenticate your connection to the LDAP Security provider. This bind is performed under the account that is defined by the configuration parameters ldap_principal and ldap_credentials. Type the name of the service account in the ldap_principal field and its nonexpiring password in the ldap_credentials field.
Note: The Explicit option is recommended when integrating the WebFOCUS Reporting Server with WebFOCUS Client security.
The page refreshes and expands the User Search section. The Group Search, Trusted Connections, and Environment sections also appear in collapsed form.
If the fields for a specific window are not visible, click the down arrow on the separator bar for that window to open.
If your directory does not use the default values for its type, consult your AD or LDAP administrator for the appropriate settings.
The Testing LDAP Security dialog box opens.
If the credentials are successfully authenticated, the WebFOCUS Server displays the list of LDAP or Active Directory groups found for the user. If you are using a custom attribute, the WebFOCUS Server displays the attribute values for this user.
If the credentials are not successfully authenticated, you receive an error message that provides details.
Note: The test typically finishes within a second. If the results are slow to appear, check with your directory and network administrators to ensure that the connection, user, and group configuration settings are optimal for your environment.
The Activate Providers pane appears. The new provider appears in the list of security providers as an inactive provider.
Reference: |
You must specify connection properties, user properties, and group properties for each LDAP provider configured.
Specifies a name for the LDAP provider.
Is a host identifier consisting of a host name or an IPv4 dotted string representing the IP address of the host running the LDAP server.
Alternatively, the entry for the ldap_host field may consist of a list of space-delimited host identifiers. Each host identifier may include a trailing colon and port number. When more than one host identifier is specified, each host identifier will be contacted in turn until a successful connection is established.
The following examples are all valid values for the ldap_host setting:
directory.example.com 192.0.2.0 directory.example.com:1050 people.catalog.com 192.0.2.0
Specifies whether the WebFOCUS Server uses a Secure Socket Layer (SSL) connection to the LDAP server. The default value is No.
An LDAP security provider supports SSL API calls to establish an SSL/TLS connection. Using Server authentication only, the WebFOCUS Server initiates API calls to verify that the LDAP server being connected to is the same server that provided certification.
If you select IBM, Sun, or Novell as your ldap_lib_vendor and specify an SSL connection, additional options appear:
Specifies the LDAP attribute that the API uses to establish the SSL/TLS connection. Values depend on the LDAP vendor, as follows:
Note: SSL requires Global Security Kit (GSK) libraries in addition to IBM LDAP client libraries. GSK must be installed on Windows machines.
For Novell, specifies the standard used to encode the certificate. Encryption and file format depend on API vendor specifications. The options are B64 and DER.
Is a positive integer that defines the TCP port number used to connect to the LDAP server. Note that ldap_port is ignored for any host identifier which includes a colon and port number. The default port is 389 or 636 (for SSL connections).
Anonymous or Windows security - NEGOTIATE
No credentials are required. This is the default value.
If the Server is installed on a Windows machine, the bind defaults to NEGOTIATE when this option is selected. Otherwise, the bind is anonymous.
In negotiation, a Windows-specific API authenticates WebFOCUS Server connections against Active Directory. The bind is performed by the current Windows user (the Windows account that started the Server). The Windows machine that hosts the WebFOCUS Server should be in the same domain as the Active Directory server.
Explicit
The bind is performed by the account defined by the ldap_principal and ldap_credentials settings.
The Explicit option is recommended when integrating the WebFOCUS Reporting Server with WebFOCUS Client security.
When connecting to Active Directory using Explicit or Anonymous or Windows security - NEGOTIATE, the default value for ldap_user_attribute is sAMAccountName. You can customize this as desired.
Specifies the name of the service account.
Note: This setting is visible only when the security setting is Explicit.
Specifies the password of the service account. It is recommended that this password be nonexpiring.
Note: This setting is visible only when the security setting is Explicit.
Specifies how long (in seconds) LDAP searches can last before they time out.
Specifies if child domains should be searched following the referrals returned by the root domain. The default value is No.
Specifies the Active Directory Global Catalog host name.
Specifies the Active Directory Global Catalog port. Note that ldap_gcport should be chosen in pair with ldap_port. Either a non ssl-pair(389/3268) should be used or an ssl pair(636/3269). If a value is assigned to this field, it must be a positive integer.
If you select OpenLDAP on LINUX, the additional properties of ldap_libldap and ldap_liblber also appear. Both properties specify the names of OpenLDAP libraries that the Server loads at run time. The path to the libraries must be available to the Server at run time, when you will be prompted to specify the library names. If you do not supply names at that time, the library names entered in ldap_libldap and ldap_liblber will be used.
Specifies the DN of the entry that serves as the starting point for the LDAP server search for users.
Specifies where the WebFOCUS Server starts to search through the LDAP directory for users. Options are:
Subtree. Search everything under the base DN. This is the default value.
Onelevel. Search only entries one level down from the base DN.
Base. Search only the base DN.
Specifies the object class used when searching for user entries.
Specifies the attribute used when searching for user entries. A common reason to change the default value is to allow users to sign in with an email address instead of a user ID. To do this, you would set the LDAP_user_attribute to mail or userPrincipalName (if this corresponds with the name of the appropriate attribute in your directory).
Specifies the attribute used to identify a group in a user object.
Specifies the attribute whose value contains the description of an object (user, group).
Specifies the attribute that contains the email address of the user.
Ldap_user_class, ldap_user_attribute, ldap_group_class, ldap_group_attribute are parameters that form a search filter. The search filter standard syntax conforms to the following structure:
(&(Property_Name=Property_Value)(Property_Name=Property_Value))
If you change the value of the ldap_user_class and ldap_group_class parameters to an asterisk (*), the search filter syntax can be reduced to the following simplified form (although group support will not work properly):
(Property_Name=Property_Value)
By specifying an asterisk for these parameters, you achieve a simplified search filter syntax, but disable group support.
Specifies the DN of the entry that serves as the starting point for the LDAP server search for groups. Ldap_group_base consists of name-value pairs separated by commas.
Specifies where the WebFOCUS Server starts to search through the LDAP directory for groups. Options are:
Subtree. Search everything under the base DN. This is the default value.
Onelevel. Search only entries one level down from the base DN.
Base. Search only the base DN.
Specifies the object class used when searching for group entries. The default value for LDAP is groupofuniquenames. The default value for Active Directory is group.
Specifies the attribute used to identify the name of the group. The default is cn.
Specifies the attribute used to identify users in a group. The default value is uniqueMember. The default value for Active Directory is Member.
Enables LDAP nested groups support. The default value is No, which disables nested group support.
Contains additional information about the ldap group.
How to: |
Reference: |
User information can be retrieved from a relational database management system (RDBMS). For example, you may want to retrieve email addresses, descriptions, and user authorizations from an existing database, rather than re-creating them in WebFOCUS. The information can be retrieved with SQL queries or with SQL stored procedures, but in either case, you create custom FOCUS procedures to get the information.
External authorization from an RDBMS table requires two FOCUS procedures. A third procedure is required if you will be authenticating users against information in the RDBMS as well. If the RDBMS does not contain user authentication information, configure the WebFOCUS Client to pre-authenticate users to identify them for external authorization. For more information about pre-authentication, see Configuring Pre-Authentication.
To enable the custom server security provider, you need to provide code that allows the WebFOCUS Server to perform the following tasks:
Synonyms used by custom provider procedures should be moved to the directory EDACONF/catalog/custom. The WebFOCUS Server will protect adapter connections used by custom procedures by denying access to these connections by users who are not Server Administrators.
Or
In the banner, select Security Providers, New Provider, and CUSTOM.
The CUSTOM Security Provider Configuration tab opens.
Note: We recommend that this name be all lowercase.
If the procedure retrieves the information successfully, the WebFOCUS Server responds that the user information is valid.
If the credentials are not successfully authenticated, an error message provides details.
Note: The test typically finishes within a second. If the results are slow to appear, check with your directory and network administrators to ensure that the connection, user, and group configuration settings are optimal for your environment.
The Activate Providers pane appears. The new custom provider appears in the list of security providers as an inactive provider.
When you configure a new custom security provider, you enter values for the following properties:
Specifies a name for the custom provider. By default, this setting displays the value custnn
Where:
Is the two-digit sequence number of the provider.
Is the name of the procedure that authenticates users.
If you prefer, you can specify a default Server Administrator user ID and password to use when connecting to the WebFOCUS Server, instead of using an authentication procedure.
For information about creating an authentication procedure, see the TIBCO WebFOCUS® Reporting Server Administration manual.
Is the name of the procedure that returns the list of all users or, if the group name is passed to the procedure, the list of all users in the group.
For information about creating a procedure that returns users, see the TIBCO WebFOCUS® Reporting Server Administration manual.
Is the name of the procedure that returns the list of all groups or, if a user ID is passed to the procedure, the list of all groups for the user ID. For information about creating a procedure that returns groups, see the TIBCO WebFOCUS® Reporting Server Administration manual.
Is the name of the WebFOCUS Server data service under which the procedure used to retrieve user information runs. This can be a service that already exists or a custom service you create in the Data Services tab.
Specifies whether the custom provider requires the use of a hash password to authenticate the connection. The default value is no.
Specifies whether the WebFOCUS Server accepts trusted connections. The default value is no.
How to: |
A Server security provider can be assigned a primary, secondary, or inactive status. Only one security provider can be identified as a primary security provider. All other active security providers are identified as secondary. Any other security providers that are configured but not in use are inactive. When you do not specify a security provider for a user account, it is treated as an account from the primary provider.
When you change the status of the primary security provider, one of the other secondary security providers must be identified as the new primary security provider. If you do not select a new security provider to replace the existing primary provider the WebFOCUS Server identifies a new primary security provider automatically.
When changing security providers, we recommend that you always retain PTH<Internal> as a secondary security provider. This practice ensures that administrators can obtain access to the WebFOCUS Server, even if the primary security provider becomes unavailable.
We also recommend that you maintain a backup copy of the current version of the admin.cfg file, located in drive:\ibi\profiles\. This file contains PTH user information. You can use the backup copy to restore the PTH security provider if the main admin.cfg file becomes corrupted.
WebFOCUS registers a Server Administrator account for the PTH (Internal) security provider during installation. You may wish to register additional users or groups as Server Administrators, either for those providers or for other providers you add later.
At least one of the active security providers in your configuration must have a registered Server Administrator account. However, you can designate any security provider to be the primary security provider even if no Server Administrator account is registered to it.
The page refreshes to conform to the layout for your selected provider. This layout is the same for each provider with a few minor variations as noted in the following steps.
Note: Use the domain name\user ID format if required.
Select a different Server Role only if required to do so. For more information about Server Roles, see the Server Administration technical content.
Note: The WebFOCUS Server uses this password when conducting scheduled report distribution runs.
Before you begin: Ensure that you have created a security administrator for the new primary security provider as described in How to Register a User Account as a Server Administrator. You will be unable to access the Reporting Server browser interface after designating a new primary security provider if you do not have an administrator for it.
If you previously selected a Primary security provider, the status of that provider automatically changes to Secondary.
The WebFOCUS Server displays a message notifying you that it is restarting.
Before you begin: Ensure that you have created a security administrator for the new primary security provider as described in How to Register a User Account as a Server Administrator. You will be unable to access the Reporting Server browser interface after designating a new primary security provider if you do not have an administrator for it.
Only one Security Provider can be identified as the Primary Security Provider within the WebFOCUS Server configuration. Therefore, when you replace an existing primary security provider with a different security provider, the existing primary security provider automatically becomes a secondary security provider.
When changing security providers, we recommend that you always retain PTH<internal> as a secondary security provider. This practice ensures that you can continue to access the WebFOCUS Server, even if the primary security provider becomes unavailable.
Note: If another security provider is already identified as the primary security provider, the status of that security provider automatically changes to Secondary.
The tab refreshes after each selection.
Note: If you have activated the OPSYS security provider but have not yet identified a Server Administrator for OPSYS, you receive a message prompting you to register a Server Administrator for the OPSYS security provider, follow the steps described in How to Register a User Account as a Server Administrator.
If you do not receive this message, continue with the following step.
The WebFOCUS Server displays a message notifying you that it is restarting.
The following table lists the requests that are used to retrieve security information from the WebFOCUS Server.
WebFOCUS Request
(shown in event.log) |
Corresponding Server Message |
Definition |
---|---|---|
getProviders() |
get all providers |
Retrieves the security providers configured on the WebFOCUS Server node that is used for external authentication or authorization. |
authConnect |
authenticate and get user info, u=userid |
When your installation is configured to use external authentication, authenticates users and retrieves user descriptions and email addresses from the security provider. |
getGroupsForUser() |
get groups, u=userid |
Retrieves external group memberships or other external authorization information for a user. Also generates group membership reports for users in the Security Center. |
getUsersForGroup() |
get users, g=group |
Retrieves the users who belong to a mapped group. |
getGroups() [mask:searchstring] |
get groups, [g=searchstring,] provider=providerName |
Retrieves external groups or other attributes used for external authorization when you click the Browse button in the Edit Group dialog box. |
getUsers() |
get user info, u=userid, provider=providerName |
Retrieves the user description and email in pre-authenticated configurations. |