Ca Siteminder Erp Agents: Agent Guide For Siebel
Ca Siteminder Erp Agents: Agent Guide For Siebel
Ca Siteminder Erp Agents: Agent Guide For Siebel
™ ®
This Documentation may not be copied, transferred, reproduced, disclosed, modified or duplicated, in whole or in
part, without the prior written consent of CA. This Documentation is confidential and proprietary information of CA
and protected by the copyright laws of the United States and international treaties.
Notwithstanding the foregoing, licensed users may print a reasonable number of copies of the Documentation for
their own internal use, and may make one copy of the related software as reasonably required for back-up and
disaster recovery purposes, provided that all CA copyright notices and legends are affixed to each reproduced copy.
Only authorized employees, consultants, or agents of the user who are bound by the provisions of the license for
the product are permitted to have access to such copies.
The right to print copies of the Documentation and to make a copy of the related software is limited to the period
during which the applicable license for the product remains in full force and effect. Should the license terminate for
any reason, it shall be the user’s responsibility to certify in writing to CA that all copies and partial copies of the
Documentation have been returned to CA or destroyed.
EXCEPT AS OTHERWISE STATED IN THE APPLICABLE LICENSE AGREEMENT, TO THE EXTENT PERMITTED BY
APPLICABLE LAW, CA PROVIDES THIS DOCUMENTATION “AS IS” WITHOUT WARRANTY OF ANY KIND, INCLUDING
WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
OR NONINFRINGEMENT. IN NO EVENT WILL CA BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY
LOSS OR DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT
LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF CA IS EXPRESSLY
ADVISED OF SUCH LOSS OR DAMAGE.
The use of any product referenced in the Documentation is governed by the end user’s applicable license
agreement.
Provided with “Restricted Rights.” Use, duplication or disclosure by the United States Government is subject to the
restrictions set forth in FAR Sections 12.212, 52.227-14, and 52.227-19(c)(1) - (2) and DFARS Section 252.227-
7014(b)(3), as applicable, or their successors.
All trademarks, trade names, service marks, and logos referenced herein belong to their respective companies.
Chapter 3: Installation 19
Installing the ERP Agent for Siebel ............................................................. 19
Run InstallAnywhere in GUI Mode .......................................................... 19
Run InstallAnywhere in Console Mode ...................................................... 21
Installing on the Policy Server ................................................................. 22
Install the Authentication Scheme.......................................................... 22
Create SiteMinder Policies ................................................................. 25
Installing on the Web Server .................................................................. 28
Install the Startup Page ................................................................... 28
Verify SiteMinder Responses ............................................................... 29
Installing on the Object Manager .............................................................. 30
Security Adapter File Names ............................................................... 30
Install Security Adapter ................................................................... 31
Configuring Security Adapter .............................................................. 31
Executing the Security Adapter Test ........................................................ 35
Enable v7.0.x and v7.5.x Security Adapter ................................................. 36
Enabling v7.7 and v7.8.2 Security Adapter ................................................. 37
Activate v7.0.x or v7.5.x Security Adapter .................................................. 39
Configure External Applications to Use SWELogin.swt ....................................... 40
Test Security Adapter Within Siebel ........................................................ 41
Contents v
Test Single Signon ........................................................................ 42
Direct Users Through the SSO Process ..................................................... 42
Chapter 5: Troubleshooting 49
Response Test or Session Startup Errors ....................................................... 49
Unable to Reach Siebel Startup or Siebel Login Page ............................................ 50
500 Server Error .......................................................................... 50
Server Busy Error ......................................................................... 50
Ticket Outside Acceptance Window Issue ................................................... 51
Agent API Not Loaded......................................................................... 52
Resolving Various Issues ...................................................................... 54
Connecting to Server Error .................................................................... 54
Web Server Trace File Issue ................................................................... 55
Monitoring the Processing of a Request ........................................................ 55
Generation of a Siebel Authentication Ticket ................................................ 56
Siebel User Response ..................................................................... 56
Anonymous User Authentication ........................................................... 56
Security Provider Contacts Policy Server.................................................... 57
Policy Server Verifies the User Credentials .................................................. 58
Security Provider Checks the SIEBELUSER Response ........................................ 59
Contents vii
Chapter 1: Overview and Architecture
This section contains the following topics:
Background
The Web is becoming the standard interface for newly deployed applications.
In an effort to meet the requirements of customers and to enable more
widespread use of applications, many leading ERP vendors, including Siebel,
have developed either web-based versions of applications or web-based front
ends for applications. As a minimum, these web-based front ends provide:
A standard look and feel for employees
User authentication
Basic security (user identity and password)
Single signon (SSO) capability
Tier 1 Integration
Tier 2 Integration
In Tier 2 implementation, the point of trust moves away from the web server
and into a more trusted host, in this case the Siebel Object Manager.
In Tier 2 integrations, the application that implements the application logic and
security is given the ability to call SiteMinder APIs to communicate with a
Policy server, to validate the information that is presented, ostensibly, from
the web agent. The API used in this integration is a Siebel-specific API called
the Security Adapter API.
Session Linking
Due to the enormous value of the data stored in Siebel, CA believes that extra
security measures are warranted. The integration documented here includes
the SessionLinker component, whose purpose is to prevent such session
synchronization issues. SessionLinker is a web server plug-in that monitors the
SiteMinder Session ID header and Siebel session cookie. When the two
sessions diverge, action is taken to prevent the application from operating
until a new session within Siebel is established. By default the action is to
destroy the Siebel session, which causes Siebel to create a new session for the
correct user.
Architecture
Components
The main components of the eTrust SiteMinder Agent for Siebel are the
following:
A SiteMinder Active Response that generates an “Authentication Ticket”
securely identifying the user.
Siebel templates and a session initiator page.
A SiteMinder-enabled Siebel Security Adapter conforming to Siebel’s
Security Adapter API.
The web server code used for initiating a Siebel session through the
Security Adapter.
A SiteMinder Authentication Scheme that accepts the Authentication
tickets generated by the Active Response.
SessionLinker, which is a web server plug-in that maintains a mapping
from the SiteMinder session to the Siebel session to prevent session
hijacking attacks.
Conventional Environment
Integrated Environment
The flow changes after SiteMinder and the eTrust SIteMinder Agent for Siebel
have been added to the environment. Before reaching the Siebel Web Engine
on the web server, the web agent either collects and verifies the user’s
credentials or verifies an existing SiteMinder session by communicating with
the Policy server. A single signon ticket is generated and passed through the
Siebel server in place of the user’s password. The web agent allows the
request to be passed on to the Siebel Web Engine.
The Siebel Web Engine passes the request along to the Siebel server –
including the username and ticket (in place of a password). The Siebel server,
via a customized Security Adapter, communicates with the Policy server to
verify the username and ticket.
Thick Clients
In addition to single signon through the web, the eTrust SiteMinder agent for
Siebel provides support for conventional Siebel thick clients authenticating
with username and passwords through the Siebel server. Once eTrust
SiteMinder agent for Siebel is installed, user passwords stored in the database
are no longer accepted for authentication; instead users need to present their
SiteMinder username and password.
Data Flow
2. Web Agent intercepts the request, and uses Policy server to perform
SiteMinder Authentication/Authorization.
Note: If the Siebel responses are configured for a Get-Post rule under the
realm protecting the Siebel application in the Policy server, steps 3, 4 and
5 are implemented. Otherwise, control passes to step 6.
5. Web Agent receives the Active response and Siebel user response from
Policy server, and generates the HTTP headers for these responses:
HTTP_SIEBELTICKET and HTTP_SIEBELUSER. These responses are sent to
the session launching code.
6. The Siebel web component (SWSE) intercepts the request, performs some
Siebel-controlled request transformation, and sends the request to Siebel
Object Manager using Anonymous user credentials.
a. On receiving the request from SWSE, Siebel Object Manager checks for
the Anonymous user credentials before sending the Siebel Login Web
template (SWELogin.swt) customized with the Siebel Agent session
launching code back to the SWSE. For verifying the anonymous user
credentials, Object manager calls Security Adapter (or Security
Provider).
http://<machine.domainname:Port/SiebelConnector/siebelstartup.asp
?URL=http%3A//corsairerp.ca.com/service_enu/start.swe%3FSWECm
d%3DStart%26SWEHo%3Dcorsairerp.ca.com
Important! The above two responses get fired irrespective of the fact
that they have or have not got fired in the previous step 3. The values
generated by these responses in the above two steps are used in the
subsequent steps.
http://<machine.domainname:port>/service_enu/start.swe?SWECmd
=ExecuteLogin&SWEUserName=test&SWEPassword=%5BNDSEnc%2D
D%5DOgUW%2BrRBnuuopBC42MXk%2B6NZgEawPMd67%2FdqK6S4p
4w%3D
7. SWSE again sends the request to Siebel Object manager along with the
above user credentials. Siebel Object Manager calls Security Adapter or
Security Provider and passes the user credentials to it for verification.
9. Policy server uses the Siebel SSO authentication scheme to verify the user
credentials.
10. The Siebel SSO Authentication scheme results are returned to Policy
server.
11. Policy server returns the results of user credentials authentication back to
Security Adapter. These results also contain relevant information, such as
Siebel Roles and Siebel User Response.
More information:
System Requirements
The minimum requirements for using the ERP Agent for Siebel are the
following:
SiteMinder Policy server v5.5
A web server with a SiteMinder web agent v5QMRx
For updated information about platform and web server support, see the
appropriate Platform Support Matrix available at the http://ca.com/support
site.
SessionLinker
To ensure security, SessionLinker must be installed. Although eTrust
SiteMinder Agent for Siebel provides single signon to Siebel without
SessionLinker, unless SessionLinker is installed, the integration is not secure.
Pre-installation Steps 17
Selecting and Configuring Database Credentials
The Siebel Object Manager continues to communicate with the database for all
data; however, because users no longer present credentials that the Object
Manager can use to connect on their behalf, a special administrative account is
necessary. This account’s credentials need not be published, and are not used
by any person or application other than the Siebel Object Manager.
The use of a generic database user does not in any way impair the ability to
audit user activity because Siebel’s internal access control, data protection,
and audit capabilities continue to operate as with individual user database
accounts. A database account should be created and the password set to a
complex, non-guessable value.
A benefit of Siebel using a generic database account is that after the eTrust
SiteMinder agent for Siebel is installed, individual database accounts are no
longer necessary. This relieves the system of the administrative burden of
account creation, password maintenance or synchronization, and removal
upon termination of employment.
Perform the following procedure to install the ERP for Siebel agent in GUI
mode.
1. Access the executable file in the installation media, and click it. A window
appears, with the caption InstallAnywhere is preparing to Install..., and a
progress bar shows you the progress of the operation. When
InstallAnywhere is loaded, the CA Siteminder ERP Agents v5.6 SP3
Introduction window appears.
Note: It is recommended that you quit all programs before continuing with
the installation.
3. Check the "I accept the terms of the License Agreement" check box, and
click Next. The Important Information window appears.
Installation 19
Installing the ERP Agent for Siebel
5. Select the radio button next to Siebel Agent, and click Next. The Finding
Installed Software window appears.
Policy server
6. Mark the check box(es) next to the relevant software, and click Next. The
Choose Install Folder window appears.
7. You must specify the location where you want the Siebel agent to be
installed. A default folder C:\Program Files\CA\erpconn is indicated. You
may accept the default folder or click Choose, browse to the required
folder and click OK. Click Next. The Pre-Installation Summary window
appears.
8. Review your selections, and click Previous to change any of your choices
or click Install. The installation takes place, and a progress bar appears,
indicating the installation of the Merge Module. When the installation is
achieved, the Install Complete window appears: a message indicates that
the installation is finished. In case errors occurred, a relevant message is
issued. You are directed to view the installation log for details.
Note: The log indicates the following:
Perform the following procedure to install the ERP for Siebel agent in console
mode.
1. Run the executable installer file from the command line, using the
following command:
executable name -i console
Note: It is recommended that you quit all programs before continuing with
the installation.
2. Press the Enter key to continue. The License Agreement window appears.
Read it, pressing the Enter key as necessary to view the whole text. At the
end of the text, the "I accept the terms of the License Agreement" text
appears.
3. Enter Y if you accept, and want to continue Installing the ERP Agent, and
press the Enter key to continue. The Important Information window
appears.
2- PeopleSoft Agent
3- Siebel Agent
You are prompted to ENTER THE NUMBER FOR YOUR CHOICE OR PRESS
<ENTER> TO ACCEPT THE DEFAULT, WHICH IS MARKED BY AN ARROW.
5. Enter the number that corresponds to Siebel Agent, and press the Enter
key. The Finding Installed Software window appears.
3- Policy server
Installation 21
Installing on the Policy Server
6. Enter your selection, for example, 1,3. The Choose Install Folder appears.
7. You must specify the location where you want the Siebel agent to be
installed. A default folder, Path to your home directory/CA/erpconn, is
indicated. You may accept the default folder and press the Enter key or
enter the full path to the required folder. The Pre-Installation Summary
window appears.
8. Review your selections, and press the Enter key to Install. The installation
takes place, and a progress bar appears. When the installation is
complete, a confirmation message is issued. In case errors occurred, a
relevant message is issued. You are directed to view the installation log for
details.
1. Open the SiteMinder Policy server user interface and log in as a SiteMinder
administrator.
Keyword Value
Protection Level 5
Library SiebelSSOAuth
Installation 23
Installing on the Policy Server
Keyword Value
/siteminderagent/forms/login.fcc
ATTR=<User attribute>
The creation of SiteMinder Policies will protect Siebel applications and provide
the framework for single signon (SSO). For additional information on any of
these steps, see eTrust Policy Design Guide.
2. Within the Policy Domain, create one realm for each Siebel application to
be integrated. For example, create a /sales/ realm and a /purchase/
realm. Make sure the Agent Object used to protect this realm is enabled to
Support 4.x agents, which is done by clicking the 4.x check box in the
Agent Object dialog box.
A rule with the actions Get and Post for the * resource
4. For each of the realms, make sure to select the Authentication Scheme
you created in Install the Authentication Scheme (see page 22).
6. Create a policy:
7. Create a Realm within the same Policy Domain for the SiteMinder Agent
startup URL (/SiebelConnector/). Make sure the Agent Object used to
protect this realm is enabled to Support 4.x agents (by clicking the 4.x
check box on the Agent Object dialog box).
8. Make sure to select the Authentication Scheme you created in Install the
Authentication Scheme (see page 22).
One rule with the actions Get and Post for the * resource
Installation 25
Installing on the Policy Server
11. In the SiteMinder Response Attribute Editor, create two responses for the
WebAgent-HTTP-Header-Variable attribute:
A response for the single signon (SSO) ticket. Specify the following
values:
ATTR=<User attribute>
SECRET=<Secret String>
1. Click the Advanced tab and remove the equal sign (=), which, if it exists,
is found before the less than (<) sign.
2. Create a Policy binding the OnAuthAccept rule with the response for all
users that should have access to Siebel.
Installation 27
Installing on the Web Server
1. Locate the folder that is appropriate for the web server you are using,
from the following list:
3. For the IBM HTTP server, you might need to do the following:
b. Define the ExecCGI option for the SiebelConnector folder. Specify the
cgi handler for the .pl files. The following sample configuration might
help in defining in the httpd.conf file:
c. If you use the Siebel 7.5.3 web server extensions on IHS 2.0.41.1 with
prefix PQ73029, make sure the following links have been created in
the IHS-Root/lib folder:
ln –s libapr-0.so libapr.so
ln –s libaprutil-0.so libaprutil.so
d. If you use the startapa and stopapa scripts to start and stop the IHS
web server, modify the scripts to append the path of the SWSE bin
folder to the LIBPATH variable rather than preceding it.
Do not change the files in any way. After the installation is operating properly,
you may customize the files while preserving the functionality. Some of the
files contain comments to help you customize the files.
To verify responses, open a web browser and access the relevant URL page,
depending on your web server:
http://<machine.domain.com>/SiebelConnector/test.asp
http://<machine.domain.com>/SiebelConnector/test.jsp
http://<machine.domain.com>/SiebelConnector/test.pl
When loaded, this page verifies the contents of the SiteMinder responses for
the Siebel Username and Ticket.
The SiteMinder login page should appear. If the SiteMinder login page does
not appear, stop the installation and verify the SiteMinder Policies. See
Creating SiteMinder Policies (see page 25) to determine the cause of the
problem before continuing with the installation.
– If the page has green OK indicators and a message that no errors are
found, verification is successful. Continue with the installation by going
to Installing on the Object Manager (see page 30).
Installation 29
Installing on the Object Manager
ProviderTest
libsmagentapi.so
Windows: SmSecurityProvider.dll
ProviderTest.exe
SmAgentAPI.dll
Files differ according to the platform. File names containing the number 75 are
used for versions v7.5.x, v7.7 and v7.8.2.
ProviderTest75
libsmagentapi.so
HP-UX: libSmSecurityProvider75.sl
ProviderTest75
libsmagentapi.sl
Windows: SmSecurityProvider75.dll
ProviderTest75.exe
SmAgentAPI.dll
1. Copy the files from the folder Siebel Agent Installation folder\Siebel\bin\ to
the Siebel Server installation's bin directory. (See the list of files in
Security Adapter File Names (see page 30).)
\SmSiebelSSO.ini
\SmSiebelSSO.conf
– For v7.0.x and v7.5.x, copy only the configuration file from the Siebel
Agent Installation folder\Siebel\config\SecurityAdapter folder to the
Siebel Server installation's bin directory:
\SmSiebelSSO.conf
Security Adapter ignores comments (lines beginning with the # character) and
unrecognized settings.
Installation 31
Installing on the Object Manager
PolicyServer=127.0.0.1
AgentName=siebel1
SharedSecret=secret
Resource=/SiebelConnector/
Parameter Description
LogFile (Optional) Specifies the full path to the log file. Make
sure the folder containing the log file exists.
0 No logging
1 Errors
2 Information
3 Debug
For production, CA recommends that you set LogLevel to
1.
Parameter Description
Example: 127.0.0.1
127.0.0.1,44441,44442,44443
192.168.122.1,44441,44442,44443
Example: siebel1
Example: secret
Installation 33
Installing on the Object Manager
Parameter Description
Example: /SiebelConnector/
Example: sadmin
For v7.7 or v7.8.2, you copied the initialization file (SmSiebelSSO.ini) from the
Siebel Agent Installation folder\config\SecurityAdapter folder (see Installing
Security Adapter). Modify the parameters in the SmSiebelSSO.ini file according
to your environment requirements. Common settings are listed in the following
table.
Parameter Description
[SiteMinder] This value should match the config section name specified
in Step 3 of the To create a named subsystem procedure in
Creating Named Subsystem for Custom Security Adapter
(see page 37).
Example: [SiteMinder]
d:\siebel\bin\enu\SmSiebelSSO.conf
After you modify the configuration file (Configuring Security Adapter (see
page 31)), test Security Adapter by verifying the installation and the settings
in the configuration file (SmSiebelSSO.conf).
C:\>providertest
Enter username: dsherman
Enter password: password
Testing provider with username 'dsherman' and password 'password'
Loading library... OK
Finding entry point... OK
enter Config File: test.conf
Calling SecurityLogin()...OK
Return code is OK
Test 1: GetUsername()
Username: dsherman
Test 2: GetAccountStatus()
Account state: ACTIVE
Test 3: GetCredentials()
pCred->m_pType:
pCred->m_pUsername: DBUser
pCred->m_pPassword: 10 characters long
Test 4: GetUserInfo:
m_accountStatus: ACTIVE
m_bPasswordSet: 0
m_pCredentialsArray
#: Type | Username | Password
----------------------------------------
0: | DBUser | 10 chars
m_pNewUsername: (null)
m_p_Password: (null)
Test 5: GetRoles()
GetRoles returned SecurityErrOK
Role 00: A
Role 01: B
Role 02: C
Role 03: D
Total: 4 roles
Installation 35
Installing on the Object Manager
These steps are only for v7.0.x and v7.5.x of Security Adapter. If you have
v7.7 or v7.8.2, see Enabling v7.7 and v7.8.2 Security Adapter (see page 37).
For each Siebel application that will use the eTrust SiteMinder Agent for Siebel,
edit the appropriate configuration file on the Siebel Application Server, for
example, the file esales.cfg for E-Sales. Refer to the Siebel documentation to
determine the appropriate configuration file. A sample .cfg file is located in the
Siebel Agent Installation folder\Siebel\config\siebsrvr\ExampleConfigFile
folder.
1. Make sure you have completed the steps in Executing the Security Adapter
Test (see page 35).
A sample configuration file, which you can use for reference, is located in
the following folder:
Siebel Agent Installation folder\Siebel\Config\siebsrvr\ExampleConfigFile\sample_esales.cfg
7. Scroll to the end of the file and add a new section similar to the following
section (for your platform), updating the file paths as appropriate for your
environment:
[SiteMinder]
DllName = C:\Program Files\CA\Siebel Connector\SmSecurityProvider.dll
ConfigFile = C:\Program Files\CA\Siebel Connector\SmSiebelSSO.conf
The DllName setting should be the full path to the DLL or shared object.
For UNIX, the full path should be to the corresponding library. If the
installation is under Siebel Security Adapter v7.5.x, the file name should
contain the number 75, for example SmSecurityProvider75.
8. Restart Siebel Object Manager after you modify the configuration files.
After restarting Siebel Object Manager, all authentication attempts will
pass through the eTrust SiteMinder agent for Siebel to the SiteMinder
Policy server.
9. You are now ready to activate Security Adapter. See Activating v7.0.x and
v7.5.x Security Adapter (see page 39).
/e ent_name
/g gtwy
/s srvr
/u username
/p password
Installation 37
Installing on the Object Manager
PA ALIAS PA VALUE
CustomSecAdpt_CRC ********
CustomSecAdpt_SecAdptD11Name
ConfigFileName
CustomSecAdpt_HashAlgorithm RSASHA1
CustomSecAdpt_HashDBPwd False
CustomSecAdpt_HashUserPwd False
CustomSecAdpt_PropagateChange False
ConfigSectionName
CustomSecAdpt_SingleSignOn False
CustomSecAdpt_TrustToken ********
CustomSecAdpt_UseAdapterUsername False
11 rows returned.
PA ALIAS PA VALUE
CustomSecAdpt_CRC ********
CustomSecAdpt_SecAdptD11Name SmSecurityProvider75
ConfigFileName d:\siebel\bin\enu\
CustomSecAdpt_HashAlgorithm RSASHA1
CustomSecAdpt_HashDBPwd False
CustomSecAdpt_HashUserPwd False
CustomSecAdpt_PropagateChange False
ConfigSectionName SiteMinder
CustomSecAdpt_SingleSignOn False
CustomSecAdpt_TrustToken ********
CustomSecAdpt_UseAdapterUsername False
11 rows returned.
1. Execute the following commands for the desired server component, such
as esales_enu Object Manager:
The following steps are required for v7.0.x and v7.5.x only.
2. From within the Siebel application select View, and Site Map.
3. In the Site Map, select the Server Administration section, and then
Components.
Installation 39
Installing on the Object Manager
5. Select the Component Parameters tab from the lower window, and query
for a Parameter of SecurityAdapter.
Note: The Effective Immed check does not indicate that the setting takes
effect immediately; the server must be restarted for this change to take
effect.
2. After the server is restarted, open a web browser and access the selected
application. For example, select the application esales by specifying:
http://machine.domain.com/esales/
Be sure to include the full domain name so that the browser accepts
SiteMinder’s cookies. If a SiteMinder session has not yet been established,
the SiteMinder login screen appears, Enter a valid username and password
and complete the SiteMinder login process.
More information:
Installation 41
Installing on the Object Manager
When you verify that Security Adapter and Authentication Scheme are
functioning correctly, SSO should also succeed.
http://machine.domain.com/SiebelConnector/testsso.asp
http://machine.domain.com/SiebelConnector/testsso.jsp
http://machine.domain.com/SiebelConnector/testsso.pl
2. Enter the correct URL for the Siebel.COM application (for example, esales),
which you configured in either Enabling v7.0.x and v7.5.x Security Adapter
(see page 36) or Enabling v7.7 and v7.8.2 Security Adapter (see page 37).
3. Click Test Single Sign On. No additional login pages need to be presented
and the application startup page automatically appears.
5. If single signon is unsuccessful, examine the Security Adapter log file and
the relevant Policy server log (either Authentication or Authorization) for
additional information. The most common causes for failure are the
following:
Failing to select the Siebel SSO Auth Scheme for the realm used by
Security Adapter (tested in Step 11 in Create SiteMinder Policies (see
page 25)). Re-check the Policy server configuration.
Once single signon is functioning correctly, you can have all users
automatically directed through the single signon process rather than
presenting the Siebel login page.
3. Modify the file to work with your web server (it is currently set up to work
with .asp files). If you use .jsp or .pl files, open the SWELogin.swt file and
change the instances of asp to jsp or pl respectively.
Post-installation Options 43
Providing Siebel Roles from SiteMinder Policies
2. Consider the implications and possibly create additional realms, rules and
policies within SiteMinder exclusively for use by Security Adapter. If you
have any questions, contact CA for assistance.
3. Add the following text to the existing parameter for the SiebelSSOAuth
Authentication Scheme:
;AcceptPassword=No
More information:
Note: The connector can add to a user's privileges but cannot remove roles
and responsibilities configured within Siebel itself. This is an important
consideration for privilege management because security can be compromised
if roles and responsibilities are administered in both the enterprise directory
and Siebel.
To provide roles to Siebel via the connector, create responses (and appropriate
values) with the name SIEBELROLE. The connector does not attempt to
validate the roles provided to Siebel; it simply passes to Siebel the values
provided as responses for Siebel’s use.
When you configure policies, create an agent group, which should contain all
of the Web Agents that will be protecting Siebel, and add the Security Adapter
agents to that Agent Group.
To understand why each Security Adapter has its own agent name, consider
the following environment as a similar case:
2. When this environment includes more than one SPS in a load balanced
configuration, the Web Agent configuration remains unchanged; it makes
no difference to the Web Agents which SPS instance sent the request to
the web server, or even that the SPS was involved.
Using a number of web servers in front of a single Siebel Object Manager with
the eTrust SiteMinder Agent for Siebel is virtually identical to the SPS and Web
Agent environment described above. Access permissions to the Siebel Object
Manager, protected by SiteMinder Security Adapter, are predicated upon the
policies and it makes no difference what web server was used to reach Object
Manager.
The following steps assume that the Web Agent and Siebel Security Adapter
use different agent names and are in a common Agent Group. If both the Web
Agent and Security Adapter are configured to use the same agent name, one
of the agent names will need to be changed and the relevant system restarted.
1. Open the SiteMinder Policy Management GUI and create another realm.
a. For the agent, select the agent name used by Security Adapter.
b. For the Authentication Scheme, select the Siebel SSO Auth scheme
you already created.
3. Create a Policy binding the GET/POST rule to the existing response for all
users that should gain access to Siebel.
Post-installation Options 45
Supporting Multiple Siebel User Attribute Responses for Siebel 7.8
/SecurityAdapter/
7. Change the realm for the Web Agent to use the desired Authentication
Scheme.
More information:
Note: For the multiple user attribute functionality to be used correctly with
the SiteMinder agent for Siebel, for any user request only one of the Siebel
user attribute responses configured in Policy server should carry a value.
All other Siebel user attribute responses should be empty for the signing in
user.
Based on your environment, modify the following Siebel agent web server
files to check for the Siebel user response, which is carrying a value, and
pass a valid non-null and non-empty value to the SWEUsername
parameter in URL before redirection:
Post-installation Options 47
Chapter 5: Troubleshooting
This section contains the following topics:
Solution:
3. Enter the correct validation realm resource (for example, /esales/), the
action GET, and click IsProtected.
Troubleshooting 49
Unable to Reach Siebel Startup or Siebel Login Page
Symptom:
The web browser shows a 500 Server Error page or the web browser
continuously returns to the SiteMinder login page.
Solution:
Note: Customers continuing to have this problem should open a support case
with CA. This problem does not relate to the Siebel SSO agent– it is a problem
in the site’s Web Agent configuration.
Symptom:
Solution:
More information:
Symptom:
The symptoms of this problem include an infinite loop in the browser window
and the following message that appears in the Policy server Authentication
Log:
Ticket outside acceptance window - replay attack?
Solution:
1. Open the response and adjust the Attribute Caching setting (see the
Attribute Caching parameter in Step 11 in the section Create SiteMinder
Policies (see page 25)).
These versions include the fix to the GUI problem, allowing you to set
attribute cache through the GUI.
This script examines the Policy Store, verifies the response cache
value, and rectifies any error in the Attribute Caching setting. The
script is in the
To use the script, extract the contents of the .zip file, read the
Readme.txt file contained in the .zip, and run the responsecheck file
for your platform.
Troubleshooting 51
Agent API Not Loaded
objectclass: ResponseAttr
Oid: 08-ebf2fc68-1a78-4449-846d-b1de5e15cad0
DomainOid: 03-0583c2f4-180b-4c24-a3c9-10ea686e7c4d
Response: 07-c6d204e-d9f2-894a-701775c05092
AgentTypeAttr: 11-8d78bb90-ae15-11d1-9cdd-006008aac24b
Value:
TTL: 0
Flags: 20
ActiveExpr: 1f-c7249c4f-6128-43cd-90b7-7c93f3c82144
objectclass: ActiveExpression
Oid: 1f-c7249c4f-6128-43cd-90b7-7c93f3c82144
DomainOid: 03-0583c2f4-180b-4c24-a3c9-10ea686e7c4d
Expr: <@lib="SiebelSSOAuth" func="GetSSOTicket" param="SECR
Variables:
UsesVariables: false
Within this file there is an entry for the SiebelSSOAuth ticket. This line
indicates that the change in the Time To Live (TTL) value needs to be
made in the ResponseAttr which points to the active expression
containing SiebelSSOTicket.
The value of TTL is the maximum amount of time, in seconds, that the
response can be cached by the Web Agent. A value of 0 indicates that
the response can be cached indefinitely. The TTL value must be less
than the value of the PERIOD setting of the Authentication Scheme.
The TTL for this ResponseAttr should be set to 30 seconds or less. The
resulting file can be imported with the command smobjimport and the
command line option -f to forcibly overwrite any pre-existing value.
Security Adapter attempts to dynamically load the SiteMinder Agent API when
needed. If the Agent API library cannot be found, the following message
appears in the Security Adapter log file:
This message indicates that the system is unable to locate the relevant
SiteMinder Agent API file (SmAgentAPI.dll, libsmagentapi.so,
libsmagentapi.sl).
Solution:
Check that the Agent API file is present (see Security Adapter File Names (see
page 30)).
If the file is present, but this error persists, do the following, according to your
platform:
AIX or Solaris: Do one of the following:
Note: Within the Security Adapter file (SmSiebelSSO.conf), the settings for
LogFile and LogLevel determine what information is logged. Make sure you
have defined a log file and a level of logging.
More information:
Troubleshooting 53
Resolving Various Issues
Solution:
CA support will typically be the best help in resolving issues within the login
library, however there are a number of simple steps that can be taken before
checking with CA. The following steps will enable CA to assist in the resolution
of problems:
1. Set the log level to 2, and examine the logs. The most common problems
reported to CA are the result of errors in the configuration of the Policy
server, IP Agent Name and Shared Secret. At log level 2, many of these
errors will appear and the solution will be obvious. For example, the
following message implies that the agent name or shared secret is the
likely cause of the problem:
Failed to connect agent - check shared secret and agent name
2. Increase log level to 3, and examine logs again. This level reveals
additional information including the cause of the problem.
Symptom:
Solution:
Set the SiteMinder session to a large value, and set the Siebel session timeout
to a lower value so that Siebel governs the idle session timeouts.
Symptom:
The web agent trace file on the web server does not log additional information.
Solution:
When Siebel WSE resides on IIS6, it creates a virtual folder for the Siebel
application within the default website that has a different application
associated to it.
Troubleshooting 55
Monitoring the Processing of a Request
.
****************************************************
…….Siebel SSO Ticket Generation Parameters
*****************************************************
.
.
Generating SSO ticket WITHOUT DN
.
[SIEBELTICKET=[NDSEnc-D]IhOoXn6KH6D9GMSQ2yQOywuZa4Hw+Qcr6zYdZ/oqzxM=]
Firing a Siebel user response, which sends a user attribute whose value maps
to a valid Siebel user, is recorded in the Policy server trace, as shown in the
following example:
[SIEBELUSER=test]
.
Checking for Anonymous user
Anonymous user password correct
.
The process in which Security Provider contacts Policy server and accesses the
protected resource /SiebelConnector/ can be seen in the Siebel Agent Security
Adapter log, as shown in the following example:
.
.
SecurityLogin8() called
Username: 'test'
Password: *Not shown* (54 chars)
Config file already loaded
SmAgentConnection::Connect()
Checking for Anonymous user
Anonymous user, checking password
Invalid Anonymous password - user will be authenticated via SiteMinder
SecurityLogin8() calling AuthAzAndCollectResponse()
.
.
Troubleshooting 57
Monitoring the Processing of a Request
The process in which Policy server uses the Siebel SSO authentication scheme
to verify the user credentials can be seen in the Policy server traces as shown
in the following example:
.
.
[SiebelConnector: Authentication phase]
.
[SiebelConnector: Authenticating user with SSO ticket]
.
[SiebelConnector: Username to be validated is 'test']
.
[SiebelConnector: Validating token [NDSEnc-D]LYwrQqKp9mugsmf6mdHid3MRaQch4iilKUzi+PD0oIw= for user
test]
.
[SiebelConnector: Ticket decrypted to 19 bytes]
.
[SiebelConnector: Decrypted ticket - checking contents]
.
[SiebelConnector: Ticket parser results:]
.
[SiebelConnector: Time: 1132825779]
.
[SiebelConnector: LoginName: test]
.
[SiebelConnector: Ticket in acceptance window]
.
[SiebelConnector: Auth succeeded]
.
Security provider checks the SIEBELUSER response against the response that
was extracted from the HTTP headers. This can be seen in Siebel Agent
Security Adapter log, as shown in the following example:
.
AuthAzAndCollectResponse - Authentication ACCEPTED
AuthAzAndCollectResponse - Authorization ACCEPTED
Found SIEBELUSER Response
Usernames match
There are 0 responses saved
Credentials for user 'sadmin' accepted
User authenticated - returning SecurityErrOK
SecurityGetCredentials8() called
Requested credential type is ServerDataSrc
Returning SecurityErrOK
Troubleshooting 59
Appendix A: NPSEncrypt and
NPSVersion Tools
This section contains the following topics:
NPSEncrypt Tool
Sometimes, secret values must be stored in a configuration file. For security
purposes, you may want to encrypt and store the encrypted form of these
secret values. To do this, use the NPSEncrypt tool.
When a setting allows encrypted values to be used, this product will decrypt it
before use. If the setting is not encrypted, the value entered will be used as is.
The NPSEncrypt utility takes plain text entered on the command line, encrypts
it, and prints the result on the screen. The resulting encrypted text can be cut
and pasted wherever it is needed.
A product that allows an encrypted value will automatically decrypt the value
when needed.
To encrypt a value, use the command prompt and type the NPSEncrypt
command followed by a space and followed by the text to be encrypted, as
shown in the following example:
C:\>npsencrypt secret
[NPSEncrypt Version 1.1 - NPSEncrypt Revision 1]
[NDSEnc-B]CKtyevyWkrF24Aj9Ly+xEQ==
[NDSEnc-B]CKtyevyWkrF24Aj9Ly+xEQ==
When you copy and paste, grab the entire line, including the portion beginning
with [NDSEnc-].
NPSEncrypt will encrypt the same text to many different cipher-text values.
Use any of the values, for example:
C:\>npsencrypt secret
[NPSEncrypt Version 1.1 - NPSEncrypt Revision 1]
[NDSEnc-C]iQO2KVyRN2fB4tMwjtgRYQ==
C:\>npsencrypt secret
[NPSEncrypt Version 1.1 - NPSEncrypt Revision 1]
[NDSEnc-C]FWhVC+MiA7aNnA87szw76g==
C:\>npsencrypt secret
[NPSEncrypt Version 1.1 - NPSEncrypt Revision 1]
[NDSEnc-B]PD24A2Iz6H+KeDh7j4zUIg==
NPSVersion Tool
Use the NPSVersion tool to extract version information from many CA
products. To use this tool, type the NPSVersion on a command line followed by
a space and the name of the executable whose version information you want,
for example:
You may use the NPSVersion tool on one platform to extract information for a
product built for any other platform. The actual information displayed might
differ in format and content from that shown above, but the relevant lines
when discussing any issues with Support are Package and Component. Each
line has a version number.
Package refers to the version of the Product, in this case the SessionLinker
version 1.3 product.
Component refers to the actual part of the product that is enclosed within this
specific file. It is not uncommon for this version number to be larger than the
Package version number. This is usually due to the Component having one of
more bugs repaired or minor enhancements added, which did not require the
entire Package to be rebuilt or renumbered.
This new feature allows Siebel to perform SSO Authentication within the
Authentication Scheme rather than relying upon SiteMinder to do this work.
This feature is useful in a number of environments including, but not limited
to, environments where the following occur:
The Siebel username differs from the SiteMinder username
SiteMinder does not know how to search the user directory (for example,
with custom directory providers and with certain database configurations)
This feature might cause problems in environments where the following occur:
The user DN is large, resulting in a ticket larger than the largest length
supported by Siebel
You want the eTrust SiteMinder agent for Siebel to perform authentication
or authorization against a different user directory than that used for the
Web Agent
5. Wait several minutes to allow all agents to begin again using this Policy
server.
6. Repeat Step 2 through Step 5 for each Policy server in the environment.
7. Open the SiteMinder Admin GUI and find the response for the Siebel
Ticket. Change the Function Name from CreateSSOTicket to
CreateSSOTicketWithDN (you do not have to flush the cache manually, it
happens automatically).
8. Wait several minutes for every Policy server to detect the changed
response and for the cache on every Web Agent to be flushed.
Note: Manually flushing the cache does not accelerate this process.
Introduction
The initialization and configuration files for Security Adapter are located in the
Siebel Agent Installation folder:
For v7.7 or v7.8.2, you must have both the initialization and configuration
files:
You install these files on the Siebel Application Server’s Object Manager, and
modify the settings in the configuration file.
If you make any changes to the configuration file(s) after Security Adapter is
enabled in Siebel, restart Object Manager.
More information:
Settings
LogFile
Specify the full path to the file that Security Adapter will use as a log file. On
Windows systems, this path should include the drive, directory and file name.
For example:
c:\logs\connector.log
/var/log/siebelconnector.log
LogLevel
Note: At higher log levels (2 through 4) the file can increase in size very
quickly. At a production site, using log level 1 is recommended.
PolicyServer
Security Adapter must communicate with the same Policy server or servers as
the Web Agent. You may specify a single Policy server, multiple Policy servers,
or even one or more Policy servers running on non-default ports.
Minimally, you can set the IP address of a single Policy server, for example:
127.0.0.1
In this case, Security Adapter assumes that the Policy server is operating on
the default ports.
More information:
For multiple Policy servers, you can specify all IP addresses or host names.
You must enter them on a single line, separating them with a space. An
example of two Policy servers is:
192.168.1.4 192.168.1.5
In this case, Security Adapter assumes that the Policy servers are operating on
the default ports.
Specifying Ports
If you do not specify ports, Security Adapter assumes that the Policy server(s)
is/are operating on the default ports, which are the following:
1. 44441—Accounting port
2. 44442—Authentication port
3. 44443—Authorization port
If a Policy server is not operating on the default ports, you must specify the
ports. Use commas (not spaces) to separate the information items in the
Policy server string:
IPAddress,AccountingPort,AuthenticationPort,AuthorizationPort
For example:
192.168.1.4,44441,44442,44443
If multiple Policy servers are using ports other than the default, you must
separate each Policy server string (which includes Policy server and ports) by a
space, for example:
192.168.1.4,44441,44442,44443 192.168.1.5,44441,44442,44443
Although the Accounting server might not be used and the eTrust SiteMinder
Agent for Siebel does not connect to the SiteMinder Accounting server, 44441
is entered here for consistency with SiteMinder Web Agent configuration file
syntax as well as to allow for future expandability. (You must specify the first
port as the Accounting port, even though it is not being used internally.)
As with Web Agents, Security Adapter supports more than one Policy server in
either failover or round robin mode. This setting allows you to define the
mode.
Encryption
You cannot copy and paste a value encrypted with the Web Agent’s encryption
tools; you must use the NPSEncrypt tool. The tool is located in the following
folder:
More information:
SiteMinder 5.X
When you use the SiteMinder Agent Dialog box to create an agent for Security
Adapter, make sure to place a check in the check box labeled Support 4.x
agents.
The Action and Resource settings define the strings that the Security Adapter
should send to the Policy server when validating the user’s ticket and their
authorization to access Siebel. These strings are typically GET and
/SiebelConnector/ and should only be changed by customers that fully
understand SiteMinder Policies and have a reason for not being able to use
GET and /SiebelConnector/.
Once the Security Adapter is installed, Object Manager uses the username and
password specified by the settings DatabaseUser and DatabasePassword
whenever credentials are needed for communication to another system. The
most common system for which Object Manager needs these credentials is the
underlying database. Customers should refer to the section Select/Configure
Database Credentials for additional information on the security implications of
using the same credentials for all users when communicating with the
database.
More information:
Credential Types
Using the same credentials to communicate with any other system is generally
not a problem in test environments because administrative accounts tend to
share a common set of credentials. In production environments, however, this
can be a problem because security requirements typically dictate that common
passwords may not be used for multiple systems.
In addition, the Server Manager’s log file shows the following information:
(admauth.cpp 9(148) err=901042 sys=2) ADM-01042: Login failed for specified username, password, and data
source
To configure Security Adapter properly, examine the Security Adapter’s log file
(with the log level set to 3) for the entry beginning with:
To change the credentials returned, add two lines to the configuration file, one
each for the username and password. Use the following format:
Credentials.Type.Username=<Username>
Credentials.Type.Password =<Password>
Credentials.GatewayDataSrc.Username=sadmin
Credentials.GatewayDataSrc.Password=sadminpassword
You may encrypt the credentials password by using the NPSEncrypt tool.
Once installed, Siebel Security Adapter is called by the Object Manager every
time a username and password are presented. This feature allows SiteMinder
to integrate fully with Siebel and support both username and password-based
signon, and the ticket-based single signon.
Having Object Manager call Security Adapter for every username and
password presented does have one unintended consequence, which is that the
Siebel Web Server Extension (WSE) connects to the Object Manager to
download the Login page (typically SWELogin.swt file).
The eTrust SiteMinder agent for Siebel has a feature that allows sites to define
one special user that the eTrust SiteMinder agent for Siebel will not verify
against SiteMinder. To ensure security, use this feature only for the WSE.
More information: