Copyright © 2011-2013 ForgeRock, Inc.
Publication date: June 20, 2013
Guide to installing OpenAM policy agents. OpenAM provides open source Authentication, Authorization, Entitlement and Federation software.
This guide shows you how to install OpenAM web server and Java EE policy agents, as well as how to integrate with other access management software. Unless you are planning a throwaway evaluation or test installation, read the Release Notes before you get started.
This guide is written for anyone installing OpenAM policy agents to interface with supported web servers and Java EE application containers.
This guide covers procedures that you theoretically perform only once per version. This guide aims to provide you with at least some idea of what happens behind the scenes when you perform the steps.
You do not need to be an OpenAM wizard to learn something from this guide, though a background in access management and maintaining web application software can help. You do need some background in managing services on your operating systems and in your application servers. You can nevertheless get started with this guide, and then learn more as you go along.
Some items are formatted differently from other text, like
filenames, commands, and
literal values.
$ echo Command line sessions are formatted with lines folded for easier reading. In HTML documents click the [-] image for a flat, copy-paste version. Click the [+] image for an expanded, line-wrapped version. > /dev/null
In many cases, sections pertaining to UNIX, GNU/Linux, Mac OS X, BSD,
and so forth are marked (UNIX). Sections pertaining to Microsoft Windows
might be marked (Windows). To avoid repetition, however, file system
directory names are often given only in UNIX format as in
/path/to/server, even if the text applies to
C:\path\to\server as well.
Absolute path names usually begin with the placeholder
/path/to/, which might translate to
/opt/, C:\Program Files\, or
somewhere else on your system. Unless you install from native packages,
you create this location before you install.
class Test {
public static void main(String [] args) {
System.out.println("This is a program listing.");
}
}Core documentation, such as what you are now reading, aims to be technically accurate and complete with respect to the software documented. Core documentation therefore follows a three-phase review process designed to eliminate errors. The review process help to ensure that documentation you get with a stable release is technically accurate and complete.
Fully reviewed, published core documentation is available at docs.forgerock.org.
In-progress documentation can be found at each project site under the Developer Community projects page.
The ForgeRock Community Wikis provide additional documentation. We encourage you to join the community, so that you can update the Wikis, too.
After you sign up to join the ForgeRock community, you can edit the Community Wikis, and also log bugs and feature requests in the issue tracker.
If you have a question regarding a project but cannot find an answer in the project documentation or Wiki, browse to the Developer Community page for the project, where you can find details on joining the project mailing lists, and find links to mailing list archives. You can also suggest updates to documentation through the ForgeRock docs mailing list.
The Community Wikis describe how to check out and build source code. Should you want to contribute a patch, test, or feature, or want to author part of the core documentation, first have a look on the ForgeRock site at how to get involved.
OpenAM web policy agents provide light touch integration for web applications running on supported web servers. This chapter covers what web policy agents do and how they work.
A policy agent enforces policy for OpenAM. A web policy agent installed in a web server intercepts requests from users trying to access a protected web resource, and denies access until the user has authorization from OpenAM to access the resource.
Imagine that a user attempts to access a protected resource before having authenticated by pointing her browser to a web page. Assume that you have configured OpenAM to protect the web page. Then the web policy agent intercepting her browser's request finds no session token in the request, and so redirects the user's browser to the OpenAM login page for authentication. After the user has successfully authenticated, OpenAM sets a session token in a browser cookie, and redirects her browser back to the page she tried to access initially.
When the user's browser reiterates the request, the policy agent again checks that the request has a session token, finds a session token this time, and validates the session token with OpenAM. Given the valid session token, the policy agent gets a policy decision from OpenAM concerning whether the user can access the page. If OpenAM's Policy Service determines that the user is allowed to access the page, OpenAM responds to the policy agent that access should be granted. The web policy agent then permits the web page to be returned to the user's browser.
The following diagram shows how the pieces fit together when a web client accesses a web page protected by a policy agent. This diagram is simplified to show only the essential principals rather than to describe every possible case.
A web policy agent is a library installed in the web server and configured to be called by the web server when a client requests access to a protected resource in a web site.
The web client requests access to a protected resource.
The web server runs the request through the policy agent that protects the resource according to OpenAM policy. The policy agent acts to enforce policy, whereas the policy configuration and decisions are handled by OpenAM.
The policy agent communicates with OpenAM to get the policy decision to enforce.
For a resource to which OpenAM approves access, the policy agent allows access.
The web server returns the requested access to the web client.
You install web policy agents in the web servers holding web resources that you want to protect. By default, the web policy agent has only enough configuration at installation time to connect to OpenAM in order to get the rest of its configuration from the OpenAM configuration store. With nearly all configuration stored centrally, you can manage policy agents centrally from the OpenAM console.
You can opt to store the agent configuration locally if necessary. If you store the configuration locally, then avoid issues with the configuration by making sure you provide valid values for configuration properties ending in the following.
.cookie.name
.fqdn.default
.agenturi.prefix
.naming.url
.login.url
.instance.name
.username
.password
.connection_timeout
.policy_clock_skew
You configure web policy agents per realm. Thus to access centralized
configuration, you select Access Control > Realm
Name > Agents > Web > Agent
Name. Web policy agent configuration is distinct from
policy configuration. The only policy-like configuration that you apply to
web policy agents is indicating which URLs in the web server can be
ignored (not enforced URLs) and which client IP
address are exempt from policy enforcement (not enforced
IPs).
For each aspect of web policy agent configuration, you can configure the policy agent through the OpenAM console during testing, and then export the resulting configuration in order to script configuration in your production environment.
This chapter covers installation of the policy agent for Apache Web Server 2.0.x.
Make sure OpenAM is installed, running, that you can contact OpenAM from the system running the policy agent. Next, create a profile for your policy agent as described in the Administration Guide section on Creating Agent Profiles. To protect resources with the agent also create at least one policy as described in the section on Configuring Policies. Consider creating a simple policy, such as a policy that allows only authenticated users to access your resources, in order to test your policy agent after installation.
You must install Apache HTTP Server before you install the policy agent, and you must stop the server during installation.
You must install a Java 6 runtime environment, and set the
JAVA_HOME environment variable. The policy agent installer
requires Java.
$ echo $JAVA_HOME /path/to/java1.6 $ which java /usr/bin/java
>Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent. Also verify the checksum of the file you download against the checksum posted on the download page.
Unzip the file in the directory where you plan to install the web policy agent. The agent you install stores its configuration and logs under this directory.
When you unzip the policy agent .zip download, you find the following
directories under the web_agents/apache_agent
directory.
binContains the installation and configuration program, agentadmin; the certificate management tool certutil and the password hashing tool crypt_util.
configConfiguration templates used by the agentadmin command during installation
dataNot used
etcApache configuration template used during installation
installer-logsLocation for log files written during installation
libShared libraries used by the web policy agent
localeProperty files used by the installation program
Complete the following procedures to install the policy agent.
Regardless of whether you store configurations centrally in OpenAM or locally with your agents, the agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name> Agents > Web,
and then click the New... button in the Agent table.
Complete the web form using the following hints.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The web server URL that the agent protects
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
Create a text file containing only the password.
$ echo password > /tmp/pwd.txt
Protect the password file you create as appropriate for your operating system.
$ chmod 400 /tmp/pwd.txt
Shut down the Apache 2.0 server where you plan to install the agent.
$ /path/to/apache20/bin/apachectl -k stop
Make sure OpenAM is running.
Run ./agentadmin --install to install the agent.
$ cd /path/to/web_agents/apache_agent/bin/ $ ./agentadmin --install ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Apache Server Config Directory : /path/to/apache20/conf OpenAM server URL : http://openam.example.com:8080/openam Agent URL : http://www.example.com:80 Agent Profile name : Apache 2.0 Agent Agent Profile Password file name : /tmp/pwd.txt ... SUMMARY OF AGENT INSTALLATION ----------------------------- Agent instance name: Agent_001 Agent Bootstrap file location: /path/to/web_agents/apache_agent/Agent_001/config/ OpenSSOAgentBootstrap.properties Agent Configuration Tag file location /path/to/web_agents/apache_agent/Agent_001/config/ OpenSSOAgentConfiguration.properties Agent Audit directory location: /path/to/web_agents/apache_agent/Agent_001/logs/audit Agent Debug directory location: /path/to/web_agents/apache_agent/Agent_001/logs/debug Install log file location: /path/to/web_agents/apache_agent/installer-logs/audit/install.log ...
Upon successful completion, the installer has added the agent as a module to the Apache 2.0 configuration, and also set up configuration and log directories for the agent.
If the agent is in a different domain than the server, refer to the Administration Guide procedure, Configuring Cross-Domain Single Sign On.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
numbered configuration and logs directory. The first agent's configuration
and logs are thus located under the directory
web_agents/apache_agent/Agent_001/.
config/OpenSSOAgentBootstrap.propertiesUsed to bootstrap the web policy agent, allowing the agent to connect to OpenAM and download its configuration
config/OpenSSOAgentConfiguration.propertiesOnly used if you configured the web policy agent to use local configuration
logs/audit/Operational audit log directory, only used if remote logging to OpenAM is disabled
logs/debug/Debug directory where the amAgent debug file
resides. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/), then you must edit config/OpenSSOAgentBootstrap.properties to identify the sub-realm that has your policy agent configuration. Find com.sun.identity.agents.config.organization.name and change the / to the path to your policy agent profile. This allows the policy agent to properly identify itself to the OpenAM server.
Start the Apache 2.0 server where you installed the agent.
$ /path/to/apache20/bin/apachectl -k start
Check the Apache 2.0 error log after you start the server to make sure startup completed successfully.
$ tail -n 1 /path/to/apache20/logs/error_log [Fri Sep 09 17:01:37 2011] [notice] Apache/2.0.64 (Unix) configured -- resuming normal operations
Check the amAgent debug log to verify that
no errors occurred on startup.
$ tail /path/to/web_agents/apache_agent/Agent_001/logs/debug/amAgent 2011-09-09 17:01:37.179 -1 14516:94c6e58 all: ==============...===== 2011-09-09 17:01:37.179 -1 14516:94c6e58 all: Version: ... 2011-09-09 17:01:37.179 -1 14516:94c6e58 all: 2011-09-09 17:01:37.179 -1 14516:94c6e58 all: Build Date: ... 2011-09-09 17:01:37.179 -1 14516:94c6e58 all: Build Machine: ..forgerock.com 2011-09-09 17:01:37.179 -1 14516:94c6e58 all: ==============...=====
If you have a policy configured, you can test your policy agent.
For example, try to browse to a resource that your policy agent protects.
You should be redirected to OpenAM to authenticate, for example as user
demo, password changeit. After
you authenticate, OpenAM then redirects you back to the resource you tried
to access.
When running multiple Apache 2.0 servers on the same host, use ./agentadmin --custom-install.
When performing a scripted, silent installation, use
./agentadmin --install --saveResponse
response-file
to create a response file for scripted installation. Then install silently
using ./agentadmin --install --useResponse
response-file.
With ./agentadmin --custom-install, you can opt to
create the policy agent profile during installation. The OpenAM administrator
must first create an agent administrator user, as described in Delegating Agent
Profile Creation, and provide you with the agent
administrator user name and password. Before running the
./agentadmin --custom-install command, put the password
alone in a read-only file only the user installing can access, as for the
agent password. When the agentadmin command prompts you to
create the profile during installation, enter true, and
then respond to the agentadmin prompts for the agent
administrator user name and password file.
Shut down the Apache 2.0 server before you uninstall the policy agent.
$ /path/to/apache20/bin/apachectl -k stop
To remove the web policy agent, use ./agentadmin --uninstall.
$ ./agentadmin --uninstall ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Apache Server Config Directory : /path/to/apache20/conf ... Deleting the config directory /path/to/web_agents/apache_agent/Agent_001/config ...DONE. Removing Agent parameters from /path/to/apache20/conf/httpd.conf file ...DONE. Uninstall log file location: /path/to/web_agents/apache_agent/installer-logs/audit/uninstall.log ...
This chapter covers installation of the policy agent for Apache HTTP Server 2.2.x.
Make sure OpenAM is installed, running, that you can contact OpenAM from the system running the policy agent. Next, create a profile for your policy agent as described in the Administration Guide section on Creating Agent Profiles. To protect resources with the agent also create at least one policy as described in the section on Configuring Policies. Consider creating a simple policy, such as a policy that allows only authenticated users to access your resources, in order to test your policy agent after installation.
You must install Apache HTTP Server before you install the policy agent, and you must stop the server during installation.
You must install a Java 6 runtime environment, and set the
JAVA_HOME environment variable. The policy agent installer
requires Java.
$ echo $JAVA_HOME /path/to/java1.6 $ which java /usr/bin/java
>Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent. Also verify the checksum of the file you download against the checksum posted on the download page.
Unzip the file in the directory where you plan to install the web policy agent. The agent you install stores its configuration and logs under this directory.
When you unzip the policy agent .zip download, you find the following
directories under the web_agents/apache22_agent
directory.
binContains the installation and configuration program, agentadmin; the certificate management tool certutil and the password hashing tool crypt_util.
configConfiguration templates used by the agentadmin command during installation
dataNot used
etcApache configuration template used during installation
installer-logsLocation for log files written during installation
libShared libraries used by the web policy agent
localeProperty files used by the installation program
Complete the following procedures to install the policy agent.
Regardless of whether you store configurations centrally in OpenAM or locally with your agents, the agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name> Agents > Web,
and then click the New... button in the Agent table.
Complete the web form using the following hints.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The web server URL that the agent protects
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
Create a text file containing only the password.
$ echo password > /tmp/pwd.txt
Protect the password file you create as appropriate for your operating system.
$ chmod 400 /tmp/pwd.txt
Shut down the Apache 2.2 server where you plan to install the agent.
$ /path/to/apache22/bin/apachectl -k stop
Make sure OpenAM is running.
Run ./agentadmin --install to install the agent.
$ cd /path/to/web_agents/apache22_agent/bin/ $ ./agentadmin --install ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Apache Server Config Directory : /path/to/apache22/conf OpenAM server URL : http://openam.example.com:8080/openam Agent URL : http://www.example.com:80 Agent Profile name : Apache Web Agent Agent Profile Password file name : /tmp/pwd.txt ... SUMMARY OF AGENT INSTALLATION ----------------------------- Agent instance name: Agent_001 Agent Bootstrap file location: /path/to/web_agents/apache22_agent/Agent_001/config/ OpenSSOAgentBootstrap.properties Agent Configuration Tag file location /path/to/web_agents/apache22_agent/Agent_001/config/ OpenSSOAgentConfiguration.properties Agent Audit directory location: /path/to/web_agents/apache22_agent/Agent_001/logs/audit Agent Debug directory location: /path/to/web_agents/apache22_agent/Agent_001/logs/debug Install log file location: /path/to/web_agents/apache22_agent/installer-logs/audit/install.log ...
Upon successful completion, the installer has added the agent as a module to the Apache 2.2 configuration, and also set up configuration and log directories for the agent.
If the agent is in a different domain than the server, refer to Administration Guide procedure, Configuring Cross-Domain Single Sign On.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
numbered configuration and logs directory. The first agent's configuration
and logs are thus located under the directory
web_agents/apache22_agent/Agent_001/.
config/OpenSSOAgentBootstrap.propertiesUsed to bootstrap the web policy agent, allowing the agent to connect to OpenAM and download its configuration
config/OpenSSOAgentConfiguration.propertiesOnly used if you configured the web policy agent to use local configuration
logs/audit/Operational audit log directory, only used if remote logging to OpenAM is disabled
logs/debug/Debug directory where the amAgent debug file
resides. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/), then you must edit config/OpenSSOAgentBootstrap.properties to identify the sub-realm that has your policy agent configuration. Find com.sun.identity.agents.config.organization.name and change the / to the path to your policy agent profile. This allows the policy agent to properly identify itself to the OpenAM server.
Start the Apache 2.2 server where you installed the agent.
$ /path/to/apache22/bin/apachectl -k start
Check the Apache 2.2 error log after you start the server to make sure startup completed successfully.
$ tail -n 2 /path/to/apache22/logs/error_log [Sat Sep 03 13:28:16 2011] [notice] Policy web agent shared memory conf... [Sat Sep 03 13:28:16 2011] [notice] Apache/2.2.19 (Unix) DSAME/3.0 configured -- resuming normal operations
Check the amAgent debug log to verify that
no errors occurred on startup.
$ tail /path/to/web_agents/apache22_agent/Agent_001/logs/debug/amAgent 2011-09-03 13:28:16.971 -1 32686:9daae60 all: ==============...===== 2011-09-03 13:28:16.972 -1 32686:9daae60 all: Version: ... 2011-09-03 13:28:16.972 -1 32686:9daae60 all: 2011-09-03 13:28:16.972 -1 32686:9daae60 all: Build Date: ... 2011-09-03 13:28:16.972 -1 32686:9daae60 all: Build Machine: ..forgerock.com 2011-09-03 13:28:16.972 -1 32686:9daae60 all: ==============...=====
If you have a policy configured, you can test your policy agent.
For example, try to browse to a resource that your policy agent protects.
You should be redirected to OpenAM to authenticate, for example as user
demo, password changeit. After
you authenticate, OpenAM then redirects you back to the resource you tried
to access.
When running multiple Apache 2.2 servers on the same host, use ./agentadmin --custom-install.
When performing a scripted, silent installation, use
./agentadmin --install --saveResponse
response-file
to create a response file for scripted installation. Then install silently
using ./agentadmin --install --useResponse
response-file.
With ./agentadmin --custom-install, you can opt to
create the policy agent profile during installation. The OpenAM administrator
must first create an agent administrator user, as described in Delegating Agent
Profile Creation, and provide you with the agent
administrator user name and password. Before running the
./agentadmin --custom-install command, put the password
alone in a read-only file only the user installing can access, as for the
agent password. When the agentadmin command prompts you to
create the profile during installation, enter true, and
then respond to the agentadmin prompts for the agent
administrator user name and password file.
Shut down the Apache 2.2 server before you uninstall the policy agent.
$ /path/to/apache22/bin/apachectl -k stop
To remove the web policy agent, use ./agentadmin --uninstall.
$ ./agentadmin --uninstall ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Apache Server Config Directory : /path/to/apache22/conf ... Deleting the config directory /path/to/web_agents/apache22_agent/Agent_001/config ...DONE. Removing Agent parameters from /path/to/apache22/conf/httpd.conf file ...DONE. Uninstall log file location: /path/to/web_agents/apache22_agent/installer-logs/audit/uninstall.log ...
This chapter covers installation of the policy agent for Apache HTTP Server 2.4.x.
Make sure OpenAM is installed, running, that you can contact OpenAM from the system running the policy agent. Next, create a profile for your policy agent as described in the Administration Guide section on Creating Agent Profiles. To protect resources with the agent also create at least one policy as described in the section on Configuring Policies. Consider creating a simple policy, such as a policy that allows only authenticated users to access your resources, in order to test your policy agent after installation.
You must install Apache HTTP Server before you install the policy agent, and you must stop the server during installation.
You must install a Java 6 runtime environment, and set the
JAVA_HOME environment variable. The policy agent installer
requires Java.
>Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent. Also verify the checksum of the file you download against the checksum posted on the download page.
Unzip the file in the directory where you plan to install the web policy agent. The agent you install stores its configuration and logs under this directory.
When you unzip the policy agent .zip download, you find the following
directories under the web_agents/apache24_agent
directory.
binContains the installation and configuration program, agentadmin; the certificate management tool certutil and the password hashing tool crypt_util.
configConfiguration templates used by the agentadmin command during installation
dataNot used
etcApache configuration template used during installation
installer-logsLocation for log files written during installation
libShared libraries used by the web policy agent
localeProperty files used by the installation program
Complete the following procedures to install the policy agent.
Regardless of whether you store configurations centrally in OpenAM or locally with your agents, the agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name> Agents > Web,
and then click the New... button in the Agent table.
Complete the web form using the following hints.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The web server URL that the agent protects
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
Create a text file containing only the password.
$ echo password > /tmp/pwd.txt
Protect the password file you create as appropriate for your operating system.
$ chmod 400 /tmp/pwd.txt
Shut down the Apache 2.4 server where you plan to install the agent.
$ /path/to/apache24/bin/apachectl -k stop
Make sure OpenAM is running.
Run ./agentadmin --install to install the agent.
$ cd /path/to/web_agents/apache24_agent/bin/ $ ./agentadmin --install ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Apache Server Config Directory : /path/to/apache24/conf OpenAM server URL : http://openam.example.com:8080/openam Agent URL : http://www.example.com:80 Agent Profile name : Apache Web Agent Agent Profile Password file name : /tmp/pwd.txt ... SUMMARY OF AGENT INSTALLATION ----------------------------- Agent instance name: Agent_001 Agent Bootstrap file location: /path/to/web_agents/apache24_agent/Agent_001/config/ OpenSSOAgentBootstrap.properties Agent Configuration Tag file location /path/to/web_agents/apache24_agent/Agent_001/config/ OpenSSOAgentConfiguration.properties Agent Audit directory location: /path/to/web_agents/apache24_agent/Agent_001/logs/audit Agent Debug directory location: /path/to/web_agents/apache24_agent/Agent_001/logs/debug Install log file location: /path/to/web_agents/apache24_agent/installer-logs/audit/install.log ...
Upon successful completion, the installer has added the agent as
a module to the Apache 2.4 configuration, and also set up configuration
and log directories for the agent. You can find a backup Apache HTTPD
configuration file, http.conf-preAmAgent-*,
in the Apache HTTPD configuration directory.
If the agent is in a different domain than the OpenAM server, refer to the Administration Guide procedure, Configuring Cross-Domain Single Sign On.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
numbered configuration and logs directory. The first agent's configuration
and logs are thus located under the directory
web_agents/apache24_agent/Agent_001/.
config/OpenSSOAgentBootstrap.propertiesUsed to bootstrap the web policy agent, allowing the agent to connect to OpenAM and download its configuration
config/OpenSSOAgentConfiguration.propertiesOnly used if you configured the web policy agent to use local configuration
logs/audit/Operational audit log directory, only used if remote logging to OpenAM is disabled
logs/debug/Debug directory where the amAgent debug file
resides. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/),
then you must edit
config/OpenSSOAgentBootstrap.properties to
indentify the sub-realm that has your policy agent configuration.
Find com.sun.identity.agents.config.organization.name and change
the / to the path to your policy agent profile. This allows the
policy agent to properly identify itself to the OpenAM server.
Start the Apache 2.4 server where you installed the agent.
$ /path/to/apache24/bin/apachectl -k start
Check the Apache 2.4 error log after you start the server to make sure startup completed successfully.
$ tail -n 2 /path/to/apache24/logs/error_log [Fri Sep 14 12:48:55.765192 2012] [dsame:notice] [pid 18991:tid 3075335872] Policy web agent shared memory configuration: notif_shm_size[2099200], pdp_shm_size[3213312], max_pid_count[256], max_pdp_count[256] [Fri Sep 14 12:48:55.774790 2012] [mpm_event:notice] [pid 18991:tid 3075335872] AH00489: Apache/2.4.3 (Unix) DSAME/3.0 configured -- resuming normal operations
Check the amAgent debug log to verify that
no errors occurred on startup.
$ tail /path/to/web_agents/apache24_agent/Agent_001/logs/debug/amAgent 2012-09-14 12:48:55.613 -1 18991:85fdd48 all: ==============...===== 2012-09-14 12:48:55.614 -1 18991:85fdd48 all: Version: ... 2012-09-14 12:48:55.614 -1 18991:85fdd48 all: Revision: ... 2012-09-14 12:48:55.614 -1 18991:85fdd48 all: Build Date: ... 2012-09-14 12:48:55.614 -1 18991:85fdd48 all: Build Machine: ... 2012-09-14 12:48:55.614 -1 18991:85fdd48 all: ==============...=====
If you have a policy configured, you can test your policy agent.
For example, try to browse to a resource that your policy agent protects.
You should be redirected to OpenAM to authenticate, for example as user
demo, password changeit. After
you authenticate, OpenAM then redirects you back to the resource you tried
to access.
When running multiple Apache 2.4 servers on the same host, use ./agentadmin --custom-install.
When performing a scripted, silent installation, use
./agentadmin --install --saveResponse
response-file
to create a response file for scripted installation. Then install silently
using ./agentadmin --install --useResponse
response-file.
With ./agentadmin --custom-install, you can opt to
create the policy agent profile during installation. The OpenAM administrator
must first create an agent administrator user, as described in Delegating Agent
Profile Creation, and provide you with the agent
administrator user name and password. Before running the
./agentadmin --custom-install command, put the password
alone in a read-only file only the user installing can access, as for the
agent password. When the agentadmin command prompts you to
create the profile during installation, enter true, and
then respond to the agentadmin prompts for the agent
administrator user name and password file.
Shut down the Apache 2.4 server before you uninstall the policy agent.
$ /path/to/apache24/bin/apachectl -k stop
To remove the web policy agent, use ./agentadmin --uninstall.
$ ./agentadmin --uninstall ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Apache Server Config Directory : /path/to/apache24/conf ... Deleting the config directory /path/to/web_agents/apache24_agent/Agent_001/config ...DONE. Removing Agent parameters from /path/to/apache24/conf/httpd.conf file ...DONE. Uninstall log file location: /path/to/web_agents/apache24_agent/installer-logs/audit/uninstall.log ...
This chapter covers installation of the policy agent for Microsoft Internet Information Services 6.
Make sure OpenAM is installed, running, that you can contact OpenAM from the system running the policy agent. Next, create a profile for your policy agent as described in the Administration Guide section on Creating Agent Profiles. To protect resources with the agent also create at least one policy as described in the section on Configuring Policies. Consider creating a simple policy, such as a policy that allows only authenticated users to access your resources, in order to test your policy agent after installation.
You must install Microsoft IIS 6 before you install the policy agent,
and make sure that IIS 6 allows anonymous authentication. Make sure that IIS
6 listens on the URL used during the web policy agent installation, such as
http://win2003.example.com:80/. Furthermore, you
must reset IIS 6 after installing the policy agent.
>Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent. Also verify the checksum of the file you download against the checksum posted on the download page.
Unpack the file in the directory where you plan to install the web policy agent. The agent you install stores its configuration and logs under this directory.
When you unpack the policy agent you download, you find the following
directories under the web_agents\iis6_agent\
directory.
binContains the configuration creation script, IIS6CreateConfig.vbs; the agent administration and installation script, IIS6Admin.vbs; the certificate management tool certutil.exe; the password hashing tool cryptit.exe; additional .dll and support files.
configConfiguration templates used by the scripts during configuration and installation
Complete the following procedures to install the policy agent.
Regardless of whether you store configurations centrally in OpenAM or locally with your agents, the agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name> Agents > Web,
and then click the New... button in the Agent table.
Complete the web form using the following hints.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The web server URL that the agent protects
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
Protect the password file you will create as appropriate.
Create a text file containing only the password.
C:\>notepad C:\Windows\Temp\pwd.txt
Log on as a user with Administrator privileges.
Change to the directory where you unpacked the agent download.
C:\>cd web_agents\iis6_agent\bin
Create a configuration file using the IIS6CreateConfig.vbs script.
The Web Site Identifier is the value of id,
not the site name.
C:\web_agents\iis6_agent\bin>cscript IIS6CreateConfig.vbs config.txt ... Enter the Agent Resource File Name [IIS6Resource.en] : Enter the Agent URL (Example: http://agent.example.com:80) : http://windows2003.example.com:80 Displaying the list of Web Sites and its corresponding Identifiers Site Name (Site Id) Default Web Site (1) Web Site Identifier : 1 ... Enter the URL where the OpenAM server is running...: http://openam.example.com:8080/openam Please enter the Agent Profile name : IIS 6 Web Agent Enter the Agent profile password file : C:\Windows\Temp\pwd.txt ----------------------------------------------------- Agent Configuration file created : config.txt -----------------------------------------------------
Log on as a user with Administrator privileges.
Make sure OpenAM is running.
Run IIS6Admin.vbs to install the agent.
C:\web_agents\iis6_agent\bin>cscript IIS6Admin.vbs -config config.txt ... Enter the Agent Resource File Name [IIS6Resource.en] : Creating the Agent Config Directory Creating the OpenSSOAgentBootstrap.properties and OpenSSOAgentConfiguration.properties File Updating the Windows Product Registry Loading the IIS 6.0 Agent Completed Configuring the IIS 6.0 Agent
Restart IIS 6.
C:\web_agents\iis6_agent\bin>iisreset Attempting stop... Internet services successfully stopped Attempting start... Internet services successfully restarted
If the agent is in a different domain than the server, refer to Administration Guide procedure, Configuring Cross-Domain Single Sign On.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
configuration and logs directory. The agent protecting the Default Web
Site (1) shown in the examples above has configuration and logs located
under the directory
web_agents\iis6_agent\Identifier_1.
The number in the path to the agent configuration reflects the IIS site ID,
unlike the other agents for which the number in the path is a counter.
The number in the path therefore remains the same when you uninstall and
then reinstall an agent to protect the same site.
config\OpenSSOAgentBootstrap.propertiesUsed to bootstrap the web policy agent, allowing the agent to connect to OpenAM and download its configuration
config\OpenSSOAgentConfiguration.propertiesOnly used if you configured the web policy agent to use local configuration
audit\Operational audit log directory, only used if remote logging to OpenAM is disabled
debug\Debug directory where the amAgent debug file
resides. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/), then you must edit config\OpenSSOAgentBootstrap.properties to identify the sub-realm that has your policy agent configuration. Find com.sun.identity.agents.config.organization.name and change the / to the path to your policy agent profile. This allows the policy agent to properly identify itself to the OpenAM server.
If the web policy agent performs naming URL validation, which you
can configure by setting the
com.forgerock.agents.ext.url.validation.disable property
in config\OpenSSOAgentBootstrap.properties, then
make sure the IUSR_
user has read-write access to MachineNameC:\Windows\Temp\ before
you start IIS.
If you have a policy configured, you can test your policy agent.
For example, try to browse to a resource that your policy agent protects.
You should be redirected to OpenAM to authenticate, for example as user
demo, password changeit. After
you authenticate, OpenAM then redirects you back to the resource you tried
to access.
When protecting multiple IIS 6 websites on the same host, use different configuration files for each site.
When preparing a scripted, silent installation, notice that the configuration file generated using IIS6CreateConfig.vbs is a text file containing all of the configuration information in clear text plus the encrypted password retrieved originally from the password file. Encrypt passwords using cryptit.exe.
C:\web_agents\iis6_agent\bin>cryptit.exe pwd-file encryption-key
This chapter covers installation of the policy agent for Microsoft Internet Information Services 7.
Make sure OpenAM is installed, running, that you can contact OpenAM from the system running the policy agent. Next, create a profile for your policy agent as described in the Administration Guide section on Creating Agent Profiles. To protect resources with the agent also create at least one policy as described in the section on Configuring Policies. Consider creating a simple policy, such as a policy that allows only authenticated users to access your resources, in order to test your policy agent after installation.
You must install Microsoft IIS 7 before you install the policy agent,
and make sure that IIS 7 allows anonymous authentication. Make sure that IIS
7 listens on the URL used during the web policy agent installation, such as
http://windows7.example.com:80/. Furthermore, you
must reset IIS 7 after installing the policy agent.
>Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent. Also verify the checksum of the file you download against the checksum posted on the download page.
Unpack the file in the directory where you plan to install the web policy agent. The agent you install stores its configuration and logs under this directory.
When you unpack the policy agent you download, you find the following
directories under the web_agents\iis7_agent\
directory.
binContains the configuration creation script, IIS7CreateConfig.vbs; the agent administration and installation script, IIS7Admin.vbs; the certificate management tool certutil.exe; the password hashing tool cryptit.exe; additional .dll and support files.
configConfiguration templates used by the scripts during configuration and installation
Complete the following procedures to install the policy agent.
Regardless of whether you store configurations centrally in OpenAM or locally with your agents, the agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name> Agents > Web,
and then click the New... button in the Agent table.
Complete the web form using the following hints.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The web server URL that the agent protects
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
Protect the password file you will create as appropriate.
Create a text file containing only the password.
C:\>notepad C:\Windows\Temp\pwd.txt
Log on as a user with Administrator privileges.
Change to the directory where you unpacked the agent download.
C:\>cd web_agents\iis7_agent\bin
Create a configuration file using the IIS7CreateConfig.vbs script.
The Web Site Identifier is the value of id,
not the site name.
C:\web_agents\iis7_agent\bin>cscript IIS7CreateConfig.vbs config.txt ... Enter the Agent Resource File Name [IIS7Resource.en] : Enter the Agent URL (Example: http://agent.example.com:80) : http://windows7.example.com:80 Displaying the list of Web Sites and its corresponding Identifiers (id) SITE "Default Web Site" (id:1,bindings:http/*:80:,state:Started) Web Site Identifier : 1 ... Enter the URL where the OpenAM server is running...: http://openam.example.com:8080/openam Please enter the Agent Profile name : IIS 7 Web Agent Enter the Agent profile password file : C:\Windows\Temp\pwd.txt ----------------------------------------------------- Agent Configuration file created : config.txt -----------------------------------------------------
Log on as a user with Administrator privileges.
Make sure OpenAM is running.
Run IIS7Admin.vbs to install the agent.
C:\web_agents\iis7_agent\bin>cscript IIS7Admin.vbs -config config.txt ... Enter the Agent Resource File Name [IIS7Resource.en] : Creating the Agent Config Directory Creating the OpenSSOAgentBootstrap.properties and OpenSSOAgentConfiguration.properties File Updating the Windows Product Registry Installing policy web agent module in IIS (status: 0) Adding policy web agent module to "Default Web Site" (status: 0) Completed Configuring the IIS 7.0 Agent
Make sure the authentication method for IIS 7 is set to anonymous.
Restart IIS 7.
C:\web_agents\iis7_agent\bin>iisreset Attempting stop... Internet services successfully stopped Attempting start... Internet services successfully restarted
If the agent is in a different domain than the server, refer to Administration Guide procedure, Configuring Cross-Domain Single Sign On.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
configuration and logs directory. The agent protecting the Default Web
Site (id: 1) shown in the examples above has configuration and logs located
under the directory
web_agents\iis7_agent\Identifier_1.
The number in the path to the agent configuration reflects the IIS site ID,
unlike the other agents for which the number in the path is a counter.
The number in the path therefore remains the same when you uninstall and
then reinstall an agent to protect the same site.
config\OpenSSOAgentBootstrap.propertiesUsed to bootstrap the web policy agent, allowing the agent to connect to OpenAM and download its configuration
config\OpenSSOAgentConfiguration.propertiesOnly used if you configured the web policy agent to use local configuration
audit\Operational audit log directory, only used if remote logging to OpenAM is disabled
debug\Debug directory where the amAgent debug file
resides. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/), then you must edit config\OpenSSOAgentBootstrap.properties to identify the sub-realm that has your policy agent configuration. Find com.sun.identity.agents.config.organization.name and change the / to the path to your policy agent profile. This allows the policy agent to properly identify itself to the OpenAM server.
If you have a policy configured, you can test your policy agent.
For example, try to browse to a resource that your policy agent protects.
You should be redirected to OpenAM to authenticate, for example as user
demo, password changeit. After
you authenticate, OpenAM then redirects you back to the resource you tried
to access.
When protecting multiple IIS 7 websites on the same host, use different configuration files for each site.
When preparing a scripted, silent installation, notice that the configuration file generated using IIS7CreateConfig.vbs is a text file containing all of the configuration information in clear text plus the encrypted password retrieved originally from the password file. Encrypt passwords using cryptit.exe.
C:\web_agents\iis7_agent\bin>cryptit.exe pwd-file encryption-key
The IIS 7 web policy agent now supports IIS 7 basic authentication and password replay. You must use the appropriate software versions.
For Microsoft Office integration, you must use Microsoft Office 2007 SP2 or later.
For Microsoft SharePoint integration, you must use Microsoft SharePoint Server 2007 SP2 or later.
You must also apply workarounds as described for the following Microsoft issues.
Link: http://support.microsoft.com/kb/841215
Description: Error message when you try to connect to a Windows SharePoint document library: "System error 5 has occurred"
Summary: Enable Basic Authentication on the client computer.
Link: http://support.microsoft.com/kb/870853
Description: Office 2003 and 2007 Office documents open read-only in Internet Explorer
Summary: Add registry keys as described in Microsoft's support document.
Link: http://support.microsoft.com/kb/928692
Description: Error message when you open a Web site by using Basic authentication in Expression Web on a computer that is running Windows Vista: "The folder name is not valid"
Summary: Edit the registry as described in Microsoft's support document.
Link: http://support.microsoft.com/kb/932118
Description: Persistent cookies are not shared between Internet Explorer and Office applications
Summary: Add the web site the list of trusted sites.
Link: http://support.microsoft.com/kb/943280
Description: Prompt for Credentials When Accessing FQDN Sites From a Windows Vista or Windows 7 Computer
Summary: Edit the registry as described in Microsoft's support document.
Link: http://support.microsoft.com/kb/968851
Description: SharePoint Server 2007 Cumulative Update Server Hotfix Package (MOSS server-package): April 30, 2009
Summary: Apply the fix from Microsoft if you use SharePoint.
Link: http://support.microsoft.com/kb/2123563
Description: You cannot open Office file types directly from a server that supports only Basic authentication over a non-SSL connection
Summary: Enable SSL encryption on the web server.
Follow these steps.
Generate and store an encryption key.
Generate the key using
com.sun.identity.common.DESGenKey using the .jars
where you deployed OpenAM, as in the following example.
$ cd /path/to/tomcat/webapps/openam/WEB-INF/lib $ java -cp openam-core-10.2.0-SNAPSHOT.jar:openam-shared-10.2.0-SNAPSHOT.jar com.sun.identity.common.DESGenKey Key ==> sxVoaDRAN0o=
Store the key in the agent configuration on the property in the
OpenAM console under Access Control >
realm-name > Agents > Web >
agent-name > Advanced > Microsoft IIS
Server > Replay Password Key (property name:
com.sun.identity.agents.config.replaypasswd.key),
and then Save your work.
Store the key in the server configuration in the OpenAM console
under Configuration > Servers and Sites >
server-name > Advanced > Add... to add
the property com.sun.am.replaypasswd.key with the
key you generated as the value, and then Save your work.
In the OpenAM console under Access Control >
realm-name > Authentication > All Core
Settings... > Authentication Post Processing Classes, add the class
com.sun.identity.authentication.spi.ReplayPasswd,
and then Save your work.
If you require Windows logon, or you need to use basic authentication with SharePoint or OWA, then you must configure Active Directory as a user date store, and you must configure the IIS 7 policy agent profile User ID Parameter and User ID Parameter Type so that the policy agent requests OpenAM to provide the appropriate account information from Active Directory in its policy response.
Skip this step if you do not use SharePoint or OWA and no Windows logon is required.
Make sure OpenAM data store is configured to use Active Directory as the user data store.
In the OpenAM console under Access Control >
realm-name > Agents > Web >
agent-name > OpenAM Services > Policy
Client Service, set User ID Parameter and User ID Parameter Type, and then
Save your work. For example if the real username for Windows domain logon
in Active Directory is stored on the samaccountname
attribute, then set the User ID Parameter to
samaccountname, and the User ID Parameter Type to
LDAP.
Setting the User ID Parameter Type to LDAP causes
the policy agent to request that OpenAM get the value of the User ID
Parameter attribute from the data store, in this case Active Directory.
Given that information, the policy agent can set the HTTP headers
remote_user, auth_user, or
logon_user and user_password with
Active Directory attribute values suitable for Windows logon, setting the
remote user, and so forth.
To set the encrypted password in the AUTH_PASSWORD header, in the
OpenAM console under Access Control >
realm-name > Agents > Web >
agent-name > Advanced > Custom Properties,
add com.sun.identity.agents.config.iis.password.header=true.
To have the agent perform Windows logon (for user token
impersonation), in the OpenAM console under Access Control >
realm-name > Agents > Web >
agent-name > Advanced > Custom Properties,
add com.sun.identity.agents.config.iis.logonuser=true.
In the OpenAM console under Access Control >
realm-name > Agents > Web >
agent-name > Advanced > Microsoft IIS
Server, set Authentication Type to basic, and then Save your work.
To use the agent with SharePoint or Microsoft Office, configure
OpenAM to support the iPlanetDirectoryPro as a persistent
cookie.
In the OpenAM console under Access Control >
realm-name > Authentication > All Core
Settings... > Persistent Cookie Mode, select Enabled, and then Save
your work.
This chapter covers installation of the policy agent for Sun Web Server.
Make sure OpenAM is installed, running, that you can contact OpenAM from the system running the policy agent. Next, create a profile for your policy agent as described in the Administration Guide section on Creating Agent Profiles. To protect resources with the agent also create at least one policy as described in the section on Configuring Policies. Consider creating a simple policy, such as a policy that allows only authenticated users to access your resources, in order to test your policy agent after installation.
You must install Apache HTTP Server before you install the policy agent, and you must stop the server during installation.
You must install a Java 6 runtime environment, and set the
JAVA_HOME environment variable. The policy agent installer
requires Java.
$ echo $JAVA_HOME /path/to/java1.6 $ which java /usr/bin/java
>Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent. Also verify the checksum of the file you download against the checksum posted on the download page.
Unzip the file in the directory where you plan to install the web policy agent. The agent you install stores its configuration and logs under this directory.
When you unzip the policy agent .zip download, you find the following
directories under the web_agents/sjsws_agent
directory.
binContains the installation and configuration program, agentadmin; the certificate management tool certutil and the password hashing tool crypt_util.
configConfiguration templates used by the agentadmin command during installation
dataNot used
etcNot used
installer-logsLocation for log files written during installation
libShared libraries used by the web policy agent
localeProperty files used by the installation program
Complete the following procedures to install the policy agent.
Regardless of whether you store configurations centrally in OpenAM or locally with your agents, the agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name> Agents > Web,
and then click the New... button in the Agent table.
Complete the web form using the following hints.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The web server URL that the agent protects
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
Create a text file containing only the password.
$ echo password > /tmp/pwd.txt
Protect the password file you create as appropriate for your operating system.
$ chmod 400 /tmp/pwd.txt
Shut down Sun Web Server instance where you plan to install the agent.
Make sure OpenAM is running.
Run agentadmin --install to install the agent.
$ /path/to/web_agents/sjsws_agent/bin/agentadmin --install ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Sun Java System Web Server Config Directory : /path/to/webserver7/https-www.example.com/config/ OpenAM server URL : http://openam.example.com:8080/openam Agent URL : http://www.example.com:8080 Agent Profile name : Sun Web Server Agent Agent Profile Password file name : /tmp/pwd.txt ... SUMMARY OF AGENT INSTALLATION ----------------------------- Agent instance name: Agent_001 Agent Bootstrap file location: /path/to/web_agents/sjsws_agent/Agent_001/config/ OpenSSOAgentBootstrap.properties Agent Configuration Tag file location /path/to/web_agents/sjsws_agent/Agent_001/config/ OpenSSOAgentConfiguration.properties Agent Audit directory location: /path/to/web_agents/sjsws_agent/Agent_001/logs/audit Agent Debug directory location: /path/to/web_agents/sjsws_agent/Agent_001/logs/debug Install log file location: /path/to/web_agents/sjsws_agent/installer-logs/audit/install.log ...
Upon successful completion, the installer has backed up and updated the Sun Web Server instance configuration, and has also set up configuration and log directories for the agent.
If the agent is in a different domain than the server, refer to Administration Guide procedure, Configuring Cross-Domain Single Sign On.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
numbered configuration and logs directory. The first agent's configuration
and logs are thus located under the directory
web_agents/sjsws_agent/Agent_001/.
config/OpenSSOAgentBootstrap.propertiesUsed to bootstrap the web policy agent, allowing the agent to connect to OpenAM and download its configuration
config/OpenSSOAgentConfiguration.propertiesOnly used if you configured the web policy agent to use local configuration
logs/audit/Operational audit log directory, only used if remote logging to OpenAM is disabled
logs/debug/Debug log directory. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/), then you must edit config/OpenSSOAgentBootstrap.properties to identify the sub-realm that has your policy agent configuration. Find com.sun.identity.agents.config.organization.name and change the / to the path to your policy agent profile. This allows the policy agent to properly identify itself to the OpenAM server.
Set up ownership of the log directory. The default is to run as a webservd user instead of root. To post its logs, the agent needs permission to add the files to the directory.
chown -R webservd:webservd /opt/web_agents/sjsws_agent/Agent_number/logs
Restart the Sun Web Server instance where you installed the agent.
Check that the agent protects the web site.
If you have not yet configured any policies to allow access, then
you should receive an HTTP 403 Forbidden error. In the above example, when
accessing http://www.example.com:8080/, the content of
the page returned appears in the browser as follows.
Forbidden
Your client is not allowed to access the requested object.
If it appears the protection is inadequate, complete one of the following steps.
A potential cause for the protection failing is updates to the
server.xml file for the object-file
property. A object-file property refers to the
obj.conf file created during the web server installation.
Multiple servers create their own obj.conf files, which can
cause problems with protection. Also, admin changes can update the
obj.conf file. For more information, checkout the
Syntax and Use of obj.conf.
This step removes the obj.conf file if it is
not needed.
Open the server.xml and remove the object-file
property. The web server will use the default obj.conf
configuration.
Do not change the original file.
$ vi /path/to/webserver7/config/server.xml <virtual-server> <name>virtual.example.com</name> <http-listener-name>http-listener-1</http-listenername> <host>virtual.example.com</host> - <object-file>virtual.example.com-obj.conf</object-file> <document-root>/path/to/webserver7/htdocs</document-root> <name>virtual.example.com</name> </virtual-server>
This step updates the obj.conf file if it
is needed.
Open the server.xml and manually update the
object-file property to validate the location of
the obj.conf file.
Do not change the original file.
$ vi /path/to/webserver7/config/server.xml <Object path="*/dummypost/sunpostpreserve*"> Service type=text/* method=(GET) fn=append_post_data </Object> <Object path="*/UpdateAgentCacheServlet*"> Service type=text/* method=(POST) fn=process_notification </Object>
Save the file and restart the Sun Web Server.
For alternative installations, use agentadmin --custom-install.
When performing a scripted, silent installation, use
agentadmin --install --saveResponse
response-file
to create a response file for scripted installation. Then install silently
using agentadmin --install --useResponse
response-file.
With ./agentadmin --custom-install, you can opt to
create the policy agent profile during installation. The OpenAM administrator
must first create an agent administrator user, as described in Delegating Agent
Profile Creation, and provide you with the agent
administrator user name and password. Before running the
./agentadmin --custom-install command, put the password
alone in a read-only file only the user installing can access, as for the
agent password. When the agentadmin command prompts you to
create the profile during installation, enter true, and
then respond to the agentadmin prompts for the agent
administrator user name and password file.
This chapter covers installation of the policy agent for Varnish HTTP Accelerator 3.0.3.
Varnish is unlike the other policy agents supported for OpenAM. It does not require the Java environment necessary for the other policy agents, and it has a unique set of instructions for the agentadmin command. Varnish uses a directory called vmods. This is the location where you will need to handle any required installation or Varnish updates, and it requires the user to have administrative rights to update this directory for changes to take effect. You can also configure your Varnish instance using the Varnish Configuration Language (VCL) file.
You need to setup your container and OpenAM before installing the web agent.
Install the server.
Create and delegating an agent profile.
Download and prepare the policy agent for installation.
Make sure OpenAM is installed and running.
Contact OpenAM from the system running the policy agent.
Install the Varnish HTTP Accelerator.
To create a new web agent profile, you need a name and password, and the URLs to OpenAM and the application to protect. The agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name> Agents > Web,
and then click the New... button in the Agent table.
Complete the web form.
Use the following information to help you with the form.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The web server URL that the agent protects
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
After creating the agent profile, you can click the link to the new profile to adjust and export the configuration.
Create a text file containing only the password.
$ echo password > /tmp/pwd.txt
Protect the password file you create as appropriate for your operating system.
$ chmod 400 /tmp/pwd.txt
Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent.
Verify the checksum of the file you download against the checksum posted on the download page.
Unzip the file in the directory where you plan to install the policy agent. The agent you install stores its configuration and logs under this directory.
Complete the following procedure to install the policy agent.
Stop Varnish.
$ sudo service varnish stop
Make sure OpenAM is running.
Run ./agentadmin to install the agent.
$ cd /path/to/web_agents/varnish/bin/ $ ./agentadmin
If the agent is in a different domain than the server, refer to the Administration Guide chapter, Configuring Cross-Domain Single Sign On.
Accept the ForgeRock Web Policy Agent License. Select Configure Varnish Web Policy Agent instance from the subsequent window.
Click on Configure Varnish Web Policy Agent instance and enter the following information for each consecutive screen.
Press F3 to move to the next field, or F2 to return to the previous field to make a correction. Be careful as you make your entires, backspace will erase the entire entry, not just the last character.
URL where the OpenAM server runs
Enter URL where the OpenAM server is running: http://openam.example.com:8080/openam
Agent URL that protects the web container
Enter URL where Agent is protecting the Web Container: http://www.website.example.com:80
Profile ID and password
Enter the Agent profile attributes in the OpenAM server: Profile ID: webagent Password: cangetin
Path to Varnish modules directory
Enter the path to Varnish modules directory /usr/lib/varnish/vmods
Once you have configured your agent, you will get a page displaying the agent configuration results. Verify the information. Click F4 when you are done.
Agent configuration results:
OpenAM URL: http://openam.example.com:8080/openam
Agent URL: http://website.example.com
Profile: webagent
WebServer configuration:
/opt/webagent/web_agents/varnish/bin/instances/agent_1/config/am.vclEncrypt the password if you want additional security.
The new agent appears as agent_1. You can return
to this screen at any time by running /path/to/web_agents/varnish/bin/agentadmin
to remove it.
Exit the screen.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
numbered configuration and logs directory. The first agent's configuration
and logs are thus located under the directory
/path/to/web_agents/varnish/instances/agent_1/.
config/OpenAMAgentBootstrap.propertiesUsed to bootstrap the web policy agent, allowing the agent to connect to OpenAM and download its configuration
config/OpenAMAgentConfiguration.propertiesOnly used if you configured the web policy agent to use local configuration
logs/audit/Operational audit log directory, only used if remote logging to OpenAM is disabled
logs/debug/Debug directory where the amAgent debug file
resides. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/), then you must edit config/OpenAMAgentBootstrap.properties to identify the sub-realm that has your policy agent configuration. Find com.sun.identity.agents.config.organization.name and change the / to the path to your policy agent profile. This allows the policy agent to properly identify itself to the OpenAM server.
Setup the backend by updating the following lines in the VLC script. Make sure port and host are set correctly.
$ vi /path/to/web_agents/varnish/instances/agent_1/config/am.vcl
import am;
backend default {
.host = "127.0.0.1";
.port = "8080";
}Start Varnish with the following command. It will also load the VLC script.
varnishd -u root -F -T localhost:8080 -f /path/to/web_agents/varnish/instances/agent_1/config/am.vcl -a :80 -s malloc,50M
Check the Varnish error log after you start the server to make sure startup completed successfully.
Check the amAgent debug log to verify that
no errors occurred on startup.
$ tail /path/to/web_agents/varnish/instances/agent_1/logs/debug/amAgent 2011-09-03 13:28:16.971 -1 32686:9daae60 all: ==============...===== 2011-09-03 13:28:16.972 -1 32686:9daae60 all: Version: ... 2011-09-03 13:28:16.972 -1 32686:9daae60 all: Revision: ... 2011-09-03 13:28:16.972 -1 32686:9daae60 all: Build Date: ... 2011-09-03 13:28:16.972 -1 32686:9daae60 all: Build Machine: ..forgerock.com 2011-09-03 13:28:16.972 -1 32686:9daae60 all: ==============...=====
If you have a policy configured, you can test your policy agent.
For example, try to browse to a resource that your policy agent protects.
You should be redirected to OpenAM to authenticate, for example as user
demo, password changeit. After
you authenticate, OpenAM then redirects you back to the resource you tried
to access.
Varnish is unique because modifications are done in Command Line Mode where you can use it to create a new server configuration template/vcl file, such as instance/agent_1/config. This file is then used to start Varnish to create the file or directory links to the Varnish vmods, where it will be properly loaded when Varnish is started.
You can use the following commands for customizing your Varnish policy agent.
agentadmin -l
Lists all of the agent instances
agentadmin -r agent_1
Removes the agent_1 instance create in the example
agentadmin -e password
Encrypts the password using an base64 output for the encoded password and encryption key
agentadmin -o openamurl -a agenturl -i agent_profile_id
-p /path/to/passwordfile -c /usr/lib/varnish/vmods
Creates the agent instance with the configuration parameters. Based on the examples in the procedures, you would get the following:
openamurl for the OpenAM server at http://openam.example.com:80/openam
agenturl of the Agent server url is http://www.website.example.com:80
agent_profile is the agent profile name shown in OpenAM
/path/to/passwordfile is the path where you saved the agent profile password file
/path/to/varnish/vmod is the path to the Varnish vmods directory
/usr/lib/varnish/vmods
agentadmin -v
View the version
agentadmin -?
Displays a list of all possible options supported by Varnish
OpenAM Java EE policy agents provide medium touch integration for web applications running in supported web application containers. Java EE policy agents require some configuration and code changes to deployed web applications. This chapter covers what Java EE policy agents do and how they work.
A policy agent enforces policy for OpenAM. A J2EE policy agent installed in a web application container intercepts requests from users trying to access resources in protected web applications. The agent denies access until the user has authorization from OpenAM to access a particular resource.
Imagine that a user attempts to access a protected resource before having authenticated by pointing her browser to a page in a protected application. Assume that you have configured OpenAM to protect the web application. You have therefore installed the J2EE agent in the web container, and also configured the protected web application to use the agent filter, thus sending requests through the agent. Then the J2EE policy agent intercepting her filtered browser's request finds no session token in the request, and so redirects the user's browser to the OpenAM login page for authentication. After the user has successfully authenticated, OpenAM sets a session token in a browser cookie, and redirects her browser back to the page she tried to access initially.
When the user's browser reiterates the request, the policy agent again checks that the request has a session token, finds a session token this time, and validates the session token with OpenAM. Given the valid session token, the policy agent gets a policy decision from OpenAM concerning whether the user can access the page. If OpenAM's Policy Service determines that the user is allowed to access the page, OpenAM responds to the policy agent that access should be granted. The J2EE policy agent then permits the page to be returned to the user's browser.
You can also configure J2EE agent filters to work in tandem with the J2EE security policies defined alongside the policies for OpenAM. In this case the filter ensures the J2EE security policy grants access to the resource before the agent gets a decision from OpenAM.
The following diagram shows how the pieces fit together when a Java EE client accesses a resource protected by a policy agent. This diagram is simplified to show only the essential principals rather than to describe every possible case.
A Java EE policy agent is a web application installed in the web application container. Other applications have filters configured to call the policy agent when a client requests access to a protected resource in the application.
The web client requests access to a protected resource.
The web application filter settings put the request through the policy agent that protects the resource according to OpenAM policy. The policy agent acts to enforce policy, whereas the policy configuration and decisions are handled by OpenAM.
The policy agent communicates with OpenAM to get the policy decision to enforce.
For a resource to which OpenAM approves access, the policy agent allows access.
The web application returns the requested access to the web client.
You install J2EE policy agents in the web application containers serving web applications that you want to protect. J2EE policy agents are themselves web applications running in the container whose applications you configure OpenAM to protect. By default, the J2EE policy agent has only enough configuration at installation time to connect to OpenAM in order to get the rest of its configuration from the OpenAM configuration store. With nearly all configuration stored centrally, you can manage policy agents centrally from the OpenAM console.[1]
For each web application that you protect, you also configure at least
the deployment descriptor to filter requests through the policy agent.
ForgeRock delivers the J2EE policy agents with a sample application under
j2ee_agents/
demonstrating the configuration to use to protect your web application.container_agent/sampleapp/
You configure J2EE policy agents per OpenAM realm. Thus to access
centralized configuration, you select Access Control > Realm
Name > Agents > J2EE > Agent
Name. J2EE policy agent configuration is distinct from
policy configuration. The only policy-like configuration that you apply to
J2EE policy agents is indicating which URLs in the web server can be
ignored (not enforced URLs) and which client IP
address are exempt from policy enforcement (not enforced
IPs).
For each aspect of J2EE policy agent configuration, you can configure the policy agent through the OpenAM console during testing, and then export the resulting configuration in order to script configuration in your production environment.
This chapter covers installation of the policy agent for Apache Tomcat.
Make sure OpenAM is installed and running, and that you can contact OpenAM from the system running the policy agent. Next, create a profile for your policy agent as described in the Administration Guide section on Creating Agent Profiles. To protect resources with the agent also create at least one policy as described in the section on Configuring Policies. Consider creating a simple policy, such as a policy that allows only authenticated users to access your resources, in order to test your policy agent after installation.
You must install Apache Tomcat before you install the policy agent, and you must stop the server during installation.
All of the Tomcat scripts must be present in
$CATALINA_HOME/bin. The Tomcat Windows executable
installer does not include the scripts, for example. If the scripts
are not present in your installation, copy the contents of the
bin directory from a .zip download of Tomcat of
the same version as the one you installed.
You must install a Java 6 runtime environment, and set the
JAVA_HOME environment variable.
$ echo $JAVA_HOME /path/to/java1.6 $ which java /usr/bin/java
>Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent. Also verify the checksum of the file you download against the checksum posted on the download page.
Unzip the file in the directory where you plan to install the J2EE policy agent. The agent you install stores its configuration and logs under this directory.
When you unzip the policy agent, you find the following directories
under the j2ee_agents/tomcat_v6_agent directory.
binThe installation and configuration program, agentadmin.
configConfiguration templates used by the agentadmin command during installation
dataNot used
etcConfiguration templates used during installation
installer-logsLocation for log files written during installation
libShared libraries used by the J2EE policy agent
localeProperty files used by the installation program
sampleappSample application that demonstrates key features of the policy agent. Wait until you have installed the agent to deploy this.
Complete the following procedures to install the policy agent.
Regardless of whether you store configurations centrally in OpenAM or locally with your agents, the agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name > Agents > J2EE,
and then click the New... button in the Agent table.
Complete the web form using the following hints.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The URL to the J2EE application that the agent protects
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
Create a text file containing only the password.
$ echo password > /tmp/pwd.txt
Protect the password file you create as appropriate for your operating system.
$ chmod 400 /tmp/pwd.txt
Shut down the Tomcat server where you plan to install the agent.
$ /path/to/tomcat/bin/shutdown.sh
Make sure OpenAM is running.
Run agentadmin --install to install the agent.
$ /path/to/j2ee_agents/tomcat_v6_agent/bin/agentadmin --install ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Tomcat Server Config Directory : /path/to/tomcat/conf OpenAM server URL : http://openam.example.com:8080/openam $CATALINA_HOME environment variable : /path/to/tomcat Tomcat global web.xml filter install : true Agent URL : http://www.example.com:8080/agentapp Agent Profile name : Tomcat Agent Agent Profile Password file name : /tmp/pwd.txt ... SUMMARY OF AGENT INSTALLATION ----------------------------- Agent instance name: Agent_001 Agent Bootstrap file location: /path/to/j2ee_agents/tomcat_v6_agent/Agent_001/config/ OpenSSOAgentBootstrap.properties Agent Configuration file location /path/to/j2ee_agents/tomcat_v6_agent/Agent_001/config/ OpenSSOAgentConfiguration.properties Agent Audit directory location: /path/to/j2ee_agents/tomcat_v6_agent/Agent_001/logs/audit Agent Debug directory location: /path/to/j2ee_agents/tomcat_v6_agent/Agent_001/logs/debug Install log file location: /path/to/j2ee_agents/tomcat_v6_agent/installer-logs/audit/install.log ...
Upon successful completion, the installer has added the agent configuration to Tomcat's configuration, and also set up configuration and log directories for the agent.
If the agent is in a different domain than the server, refer to Administration Guide procedure, Configuring Cross-Domain Single Sign On.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
numbered configuration and logs directory. The first agent's configuration
and logs are thus located under the directory
j2ee_agents/tomcat_v6_agent/Agent_001/.
config/OpenSSOAgentBootstrap.propertiesUsed to bootstrap the J2EE policy agent, allowing the agent to connect to OpenAM and download its configuration
config/OpenSSOAgentConfiguration.propertiesOnly used if you configured the J2EE policy agent to use local configuration
logs/audit/Operational audit log directory, only used if remote logging to OpenAM is disabled
logs/debug/Debug directory where the debug.out debug
file resides. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/), then you must edit config/OpenSSOAgentBootstrap.properties to identify the sub-realm that has your policy agent configuration. Find com.sun.identity.agents.config.organization.name and change the / to the path to your policy agent profile. This allows the policy agent to properly identify itself to the OpenAM server.
If you choose not to let the installer install a global filter in
Tomcat's web.xml, then you must add the filter
manually for each protected application's web.xml
configuration, following the opening <web-app> tag. The file for
the sample application delivered with the agent is
/path/to/j2ee_agents/tomcat_v6_agent/sampleapp/etc/web.xml.
<filter> <filter-name>Agent</filter-name> <display-name>Agent</display-name> <description>OpenAM Policy Agent Filter</description> <filter-class>com.sun.identity.agents.filter.AmAgentFilter</filter-class> </filter> <filter-mapping> <filter-name>Agent</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>INCLUDE</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>ERROR</dispatcher> </filter-mapping>
Add the agent application web archive to Tomcat's webapps.
$ cp /path/to/j2ee_agents/tomcat_v6_agent/etc/agentapp.war /path/to/tomcat/webapps/
Start the Tomcat server where you installed the agent.
$ /path/to/tomcat/bin/startup.sh
Check the Tomcat server log after you start the server to make sure startup completed successfully.
$ tail -n 1 /path/to/tomcat/logs/catalina.out INFO: Server startup in 810 ms
Check the debug.out debug log to verify that
the agent did start up.
$ tail -n 7 /path/to/j2ee_agents/tomcat_v6_agent/Agent_001/logs/debug/debug.out ======================================= Version: ... Revision: 3111 Build Date: 20120915 Build Machine: builds.forgerock.org =======================================
If you have a policy configured, you can test your policy agent.
For example, try to browse to a resource that your policy agent protects.
You should be redirected to OpenAM to authenticate, for example as user
demo, password changeit. After
you authenticate, OpenAM then redirects you back to the resource you tried
to access.
When performing a scripted, silent installation, use
agentadmin --install --saveResponse
response-file
to create a response file for scripted installation. Then install silently
using agentadmin --install --useResponse
response-file.
Shut down the Tomcat server before you uninstall the policy agent.
$ /path/to/tomcat/bin/shutdown.sh
To remove the J2EE policy agent, use agentadmin --uninstall. You must provide the Tomcat server configuration directory location.
Uninstall does not remove the agent instance directory, but you can do so manually after removing the agent configuration from Tomcat.
This chapter covers installation of the policy agent for GlassFish.
Make sure OpenAM is installed and running, and that you can contact OpenAM from the system running the policy agent. Next, create a profile for your policy agent as described in the Administration Guide section on Creating Agent Profiles. To protect resources with the agent also create at least one policy as described in the section on Configuring Policies. Consider creating a simple policy, such as a policy that allows only authenticated users to access your resources, in order to test your policy agent after installation.
You must install GlassFish before you install the policy agent, and you must stop the domain with applications to protect during installation.
You must install a Java 6 runtime environment, and set the
JAVA_HOME environment variable.
$ echo $JAVA_HOME /path/to/java1.6 $ which java /usr/bin/java
>Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent. Also verify the checksum of the file you download against the checksum posted on the download page.
Unzip the file in the directory where you plan to install the J2EE policy agent. The agent you install stores its configuration and logs under this directory.
When you unzip the policy agent, you find the following directories
under the j2ee_agents/appserver_v10_agent directory.
binThe installation and configuration program, agentadmin.
configConfiguration templates used by the agentadmin command during installation
dataNot used
etcAgent web application used during installation
installer-logsLocation for log files written during installation
libShared libraries used by the J2EE policy agent
localeProperty files used by the installation program
sampleappSample application that demonstrates key features of the policy agent. Wait until you have installed the agent to deploy this.
Complete the following procedures to install the policy agent.
Regardless of whether you store configurations centrally in OpenAM or locally with your agents, the agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name > Agents > J2EE,
and then click the New... button in the Agent table.
Complete the web form using the following hints.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The URL to the J2EE agent application, such as
http://www.example.com:8080/agentapp
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
Create a text file containing only the password.
$ echo password > /tmp/pwd.txt
Protect the password file you create as appropriate for your operating system.
$ chmod 400 /tmp/pwd.txt
Shut down the GlassFish domain where you plan to install the agent.
$ /path/to/glassfish/bin/asadmin stop-domain domain1 Waiting for the domain to stop .... Command stop-domain executed successfully.
Make sure OpenAM is running.
Run agentadmin --install to install the agent.
$ /path/to/j2ee_agents/appserver_v10_agent/bin/agentadmin --install ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Application Server Config Directory : /path/to/glassfish/glassfish/domains/domain1/config Application Server Instance name : server OpenAM server URL : http://openam.example.com:8080/openam Agent URL : http://www.example.com:8080/agentapp Agent Profile name : GlassFish Agent Agent Profile Password file name : /tmp/pwd.txt ... SUMMARY OF AGENT INSTALLATION ----------------------------- Agent instance name: Agent_001 Agent Bootstrap file location: /path/to/j2ee_agents/appserver_v10_agent/Agent_001/config/ OpenSSOAgentBootstrap.properties Agent Configuration file location /path/to/j2ee_agents/appserver_v10_agent/Agent_001/config/ OpenSSOAgentConfiguration.properties Agent Audit directory location: /path/to/j2ee_agents/appserver_v10_agent/Agent_001/logs/audit Agent Debug directory location: /path/to/j2ee_agents/appserver_v10_agent/Agent_001/logs/debug Install log file location: /path/to/j2ee_agents/appserver_v10_agent/installer-logs/audit/install.log ...
Upon successful completion, the installer has updated the GlassFish configuration, and also set up configuration and log directories for the agent.
If the agent is in a different domain than the server, refer to Administration Guide procedure, Configuring Cross-Domain Single Sign On.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
numbered configuration and logs directory. The first agent's configuration
and logs are thus located under the directory
j2ee_agents/appserver_v10_agent/Agent_001/.
config/OpenSSOAgentBootstrap.propertiesUsed to bootstrap the J2EE policy agent, allowing the agent to connect to OpenAM and download its configuration
config/OpenSSOAgentConfiguration.propertiesOnly used if you configured the J2EE policy agent to use local configuration
logs/audit/Operational audit log directory, only used if remote logging to OpenAM is disabled
logs/debug/Debug directory where the debug file resides. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/), then you must edit config/OpenSSOAgentBootstrap.properties to identify the sub-realm that has your policy agent configuration. Find com.sun.identity.agents.config.organization.name and change the / to the path to your policy agent profile. This allows the policy agent to properly identify itself to the OpenAM server.
To protect a web application, you must add the following filter
to the application's web.xml configuration,
following the opening <web-app> tag. The file for the sample
application delivered with the agent is
/path/to/j2ee_agents/appserver_v10_agent/sampleapp/etc/web.xml.
<filter> <filter-name>Agent</filter-name> <display-name>Agent</display-name> <description>OpenAM Policy Agent Filter</description> <filter-class>com.sun.identity.agents.filter.AmAgentFilter</filter-class> </filter> <filter-mapping> <filter-name>Agent</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>INCLUDE</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>ERROR</dispatcher> </filter-mapping>
Start the GlassFish domain where you installed the agent.
$ /path/to/glassfish/bin/asadmin start-domain domain1 Waiting for domain1 to start ..... Successfully started the domain : domain1 domain Location: /path/to/glassfish/glassfish/domains/domain1 Log File: /path/to/glassfish/glassfish/domains/domain1/logs/server.log Admin Port: 4848 Command start-domain executed successfully.
Deploy the agent web application.
cd /path/to/glassfish/glassfish/bin/asadmin
$ deploy --name agentapp --contextroot /agentapp
/path/to/j2ee_agents/appserver_v10_agent/etc/agentapp.warCheck your work by quickly deploying the sample application,
/path/to/j2ee_agents/appserver_v10_agent/sampleapp/dist/agentsample.ear
through the GlassFish administration console, and verifying that the agent
redirects to OpenAM for authentication and that access is denied after
successful login to OpenAM. (Access is denied because when no policy exists
for a protected resource the default decision for OpenAM is to deny all
access.)
When performing a scripted, silent installation, use
agentadmin --install --saveResponse
response-file
to create a response file for scripted installation. Then install silently
using agentadmin --install --useResponse
response-file.
Shut down the GlassFish domain before you uninstall the policy agent.
$ /path/to/glassfish/bin/asadmin stop-domain domain1
Waiting for the domain to stop ....
Command stop-domain executed successfully.To remove the J2EE policy agent, use agentadmin --uninstall. You must provide the GlassFish configuration directory location, and the instance name.
Uninstall does not remove the agent instance directory, but you can do so manually after removing the agent configuration from GlassFish.
This chapter covers installation of the policy agent for JBoss Application Server.
Make sure OpenAM is installed and running, and that you can contact OpenAM from the system running the policy agent. Next, create a profile for your policy agent as described in the Administration Guide section on Creating Agent Profiles. To protect resources with the agent also create at least one policy as described in the section on Configuring Policies. Consider creating a simple policy, such as a policy that allows only authenticated users to access your resources, in order to test your policy agent after installation.
You must install JBoss before you install the policy agent, and you must stop the server during installation.
You must install a Java 6 runtime environment, and set the
JAVA_HOME environment variable.
$ echo $JAVA_HOME /path/to/java1.6 $ which java /usr/bin/java
>Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent. Also verify the checksum of the file you download against the checksum posted on the download page.
Unzip the file in the directory where you plan to install the J2EE policy agent. The agent you install stores its configuration and logs under this directory.
When you unzip the policy agent, you find the following directories
under the j2ee_agents/jboss_v42_agent directory.
binThe installation and configuration program, agentadmin.
configConfiguration templates used by the agentadmin command during installation
dataNot used
etcAgent web application and configuration templates used during installation
installer-logsLocation for log files written during installation
libShared libraries used by the J2EE policy agent
localeProperty files used by the installation program
sampleappSample application that demonstrates key features of the policy agent. Wait until you have installed the agent to deploy this.
Complete the following procedures to install the policy agent.
Regardless of whether you store configurations centrally in OpenAM or locally with your agents, the agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name > Agents > J2EE,
and then click the New... button in the Agent table.
Complete the web form using the following hints.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The URL to the J2EE agent application, such as
http://www.example.com:8080/agentapp
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
Create a text file containing only the password.
$ echo password > /tmp/pwd.txt
Protect the password file you create as appropriate for your operating system.
$ chmod 400 /tmp/pwd.txt
Shut down the JBoss server where you plan to install the agent.
Make sure OpenAM is running.
Run agentadmin --install to install the agent.
$ /path/to/j2ee_agents/jboss_v42_agent/bin/agentadmin --install ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- JBoss Server Config Directory : /path/to/jboss/server/default/conf JBoss Server Home Directory : /path/to/jboss OpenAM server URL : http://openam.example.com:8080/openam Agent URL : http://www.example.com:8080/agentapp Agent Profile name : JBoss Agent Agent Profile Password file name : /tmp/pwd.txt Agent permissions gets added to java permissions policy file : false ... SUMMARY OF AGENT INSTALLATION ----------------------------- Agent instance name: Agent_001 Agent Bootstrap file location: /path/to/j2ee_agents/jboss_v42_agent/Agent_001/config/ OpenSSOAgentBootstrap.properties Agent Configuration file location /path/to/j2ee_agents/jboss_v42_agent/Agent_001/config/ OpenSSOAgentConfiguration.properties Agent Audit directory location: /path/to/j2ee_agents/jboss_v42_agent/Agent_001/logs/audit Agent Debug directory location: /path/to/j2ee_agents/jboss_v42_agent/Agent_001/logs/debug Install log file location: /path/to/j2ee_agents/jboss_v42_agent/installer-logs/audit/install.log ...
Upon successful completion, the installer has updated the JBoss
configuration, created a
JBOSS_HOME/bin/setAgentClasspathdefault.sh script,
added the agent web application under
JBOSS_HOME/server/default/deploy/, and also set up
configuration and log directories for the agent.
If the agent is in a different domain than the server, refer to Administration Guide procedure, Configuring Cross-Domain Single Sign On.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
numbered configuration and logs directory. The first agent's configuration
and logs are thus located under the directory
j2ee_agents/jboss_v42_agent/Agent_001/.
config/OpenSSOAgentBootstrap.propertiesUsed to bootstrap the J2EE policy agent, allowing the agent to connect to OpenAM and download its configuration
config/OpenSSOAgentConfiguration.propertiesOnly used if you configured the J2EE policy agent to use local configuration
logs/audit/Operational audit log directory, only used if remote logging to OpenAM is disabled
logs/debug/Debug directory where the debug file resides. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/), then you must edit config/OpenSSOAgentBootstrap.properties to identify the sub-realm that has your policy agent configuration. Find com.sun.identity.agents.config.organization.name and change the / to the path to your policy agent profile. This allows the policy agent to properly identify itself to the OpenAM server.
To protect a web application, you must add the following filter
to the application's web.xml configuration,
following the opening <web-app> tag. The file for the sample
application delivered with the agent is
/path/to/j2ee_agents/jboss_v42_agent/sampleapp/etc/web.xml.
<filter> <filter-name>Agent</filter-name> <display-name>Agent</display-name> <description>OpenAM Policy Agent Filter</description> <filter-class>com.sun.identity.agents.filter.AmAgentFilter</filter-class> </filter> <filter-mapping> <filter-name>Agent</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>INCLUDE</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>ERROR</dispatcher> </filter-mapping>
You must also add the following security domain specification to the
application's jboss.xml and
jboss-web.xml configuration files.
<security-domain>java:/jaas/AMRealm</security-domain>
Render the script to set the agent classpath executable.
$ chmod +x $JBOSS_HOME/bin/setAgentClasspathdefault.sh
Open the JBOSS_HOME/bin/run.sh script for
editing, and locate the following code block.
if [ "x$JBOSS_CLASSPATH" = "x" ]; then
JBOSS_CLASSPATH="$JBOSS_BOOT_CLASSPATH"
else
JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_BOOT_CLASSPATH"
fi
if [ "x$JAVAC_JAR_FILE" != "x" ]; then
JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JAVAC_JAR_FILE"
fiEdit the JBOSS_HOME/bin/run.sh script
to set the classpath needed for the agent, by adding these lines after
the code block you located in the previous step.
if [ -r "$JBOSS_HOME/bin/setAgentClasspathdefault.sh" ]; then
. $JBOSS_HOME/bin/setAgentClasspathdefault.sh
fiStart the JBoss server where you installed the agent.
$ cd $JBOSS_HOME ; ./bin/run.sh -b 0.0.0.0 ... 16:30:31,172 INFO [ServerImpl] JBoss ... Started in 1m:44s:759ms
If you have a policy configured, you can test your policy agent.
For example, try to browse to a resource that your policy agent protects.
You should be redirected to OpenAM to authenticate, for example as user
demo, password changeit. After
you authenticate, OpenAM then redirects you back to the resource you tried
to access.
When performing a scripted, silent installation, use
agentadmin --install --saveResponse
response-file
to create a response file for scripted installation. Then install silently
using agentadmin --install --useResponse
response-file.
Shut down the JBoss server before you uninstall the policy agent.
To remove the J2EE policy agent, use agentadmin --uninstall. You must provide the JBoss configuration directory location.
Uninstall does not remove the agent instance directory, but you can do so manually after removing the agent configuration from JBoss.
This chapter covers installation of the policy agent for Jetty.
Make sure OpenAM is installed and running, and that you can contact OpenAM from the system running the policy agent. Next, create a profile for your policy agent as described in the Administration Guide section on Creating Agent Profiles. To protect resources with the agent also create at least one policy as described in the section on Configuring Policies. Consider creating a simple policy, such as a policy that allows only authenticated users to access your resources, in order to test your policy agent after installation.
You must install Jetty before you install the policy agent, and you must stop the server during installation.
You must install a Java 6 runtime environment, and set the
JAVA_HOME environment variable.
$ echo $JAVA_HOME /path/to/java1.6 $ which java /usr/bin/java
>Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent. Also verify the checksum of the file you download against the checksum posted on the download page.
Command line examples in this chapter show Jetty accessed remotely. If
you are following the examples and have issues accessing Jetty remotely,
you might have to change the test filter settings in
/path/to/jetty/webapps/test/WEB-INF/web.xml.
<filter> <filter-name>TestFilter</filter-name> <filter-class>com.acme.TestFilter</filter-class> <init-param> <param-name>remote</param-name> <param-value>true</param-value> <!-- default: false --> </init-param> </filter>
Unzip the file in the directory where you plan to install the J2EE policy agent. The agent you install stores its configuration and logs under this directory.
When you unzip the policy agent, you find the following directories
under the j2ee_agents/jetty_v61_agent directory.
binThe installation and configuration program, agentadmin.
configConfiguration templates used by the agentadmin command during installation
dataNot used
etcAgent web application used during installation
installer-logsLocation for log files written during installation
libShared libraries used by the J2EE policy agent
localeProperty files used by the installation program
sampleappSample application that demonstrates key features of the policy agent. Wait until you have installed the agent to deploy this.
Complete the following procedures to install the policy agent.
Regardless of whether you store configurations centrally in OpenAM or locally with your agents, the agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name > Agents > J2EE,
and then click the New... button in the Agent table.
Complete the web form using the following hints.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The URL to the J2EE agent application, such as
http://www.example.com:8080/agentapp
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
Create a text file containing only the password.
$ echo password > /tmp/pwd.txt
Protect the password file you create as appropriate for your operating system.
$ chmod 400 /tmp/pwd.txt
Shut down the Jetty server where you plan to install the agent.
Make sure OpenAM is running.
Run agentadmin --install to install the agent.
$ /path/to/j2ee_agents/jetty_v61_agent/bin/agentadmin --install ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Jetty Server Config Directory : /path/to/jetty/etc OpenAM server URL : http://openam.example.com:8080/openam Jetty installation directory. : /path/to/jetty Agent URL : http://www.example.com:8080/agentapp Agent Profile name : Jetty Agent Agent Profile Password file name : /tmp/pwd.txt ... SUMMARY OF AGENT INSTALLATION ----------------------------- Agent instance name: Agent_001 Agent Bootstrap file location: /path/to/j2ee_agents/jetty_v61_agent/Agent_001/config/ OpenSSOAgentBootstrap.properties Agent Configuration file location /path/to/j2ee_agents/jetty_v61_agent/Agent_001/config/ OpenSSOAgentConfiguration.properties Agent Audit directory location: /path/to/j2ee_agents/jetty_v61_agent/Agent_001/logs/audit Agent Debug directory location: /path/to/j2ee_agents/jetty_v61_agent/Agent_001/logs/debug Install log file location: /path/to/j2ee_agents/jetty_v61_agent/installer-logs/audit/install.log ...
Upon successful completion, the installer has updated Jetty's
start.jar to reference the agent, set up the agent
web application, and also set up configuration and log directories for the
agent.
If the agent is in a different domain than the server, refer to Administration Guide procedure, Configuring Cross-Domain Single Sign On.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
numbered configuration and logs directory. The first agent's configuration
and logs are thus located under the directory
j2ee_agents/jetty_v61_agent/Agent_001/.
config/OpenSSOAgentBootstrap.propertiesUsed to bootstrap the J2EE policy agent, allowing the agent to connect to OpenAM and download its configuration
config/OpenSSOAgentConfiguration.propertiesOnly used if you configured the J2EE policy agent to use local configuration
logs/audit/Operational audit log directory, only used if remote logging to OpenAM is disabled
logs/debug/Debug directory where the debug.out debug
file resides. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/), then you must edit config/OpenSSOAgentBootstrap.properties to identify the sub-realm that has your policy agent configuration. Find com.sun.identity.agents.config.organization.name and change the / to the path to your policy agent profile. This allows the policy agent to properly identify itself to the OpenAM server.
To protect a web application, you must add the following filter
to the application's web.xml configuration,
following the opening <web-app> tag. The file for the sample
application delivered with the agent is
/path/to/j2ee_agents/jetty_v61_agent/sampleapp/etc/web.xml.
<filter> <filter-name>Agent</filter-name> <display-name>Agent</display-name> <description>OpenAM Policy Agent Filter</description> <filter-class>com.sun.identity.agents.filter.AmAgentFilter</filter-class> </filter> <filter-mapping> <filter-name>Agent</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>INCLUDE</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>ERROR</dispatcher> </filter-mapping>
Start the Jetty server where you installed the agent.
$ cd /path/to/jetty ; java -jar start.jar ... 2011-09-15 12:49:55.469:INFO::Extract file:/path/to/jetty/webapps/agentapp.war ... 2011-09-15 12:50:14.163:INFO::Started SelectChannelConnector@0.0.0.0:8080
If you have a policy configured, you can test your policy agent.
For example, try to browse to a resource that your policy agent protects.
You should be redirected to OpenAM to authenticate, for example as user
demo, password changeit. After
you authenticate, OpenAM then redirects you back to the resource you tried
to access.
When performing a scripted, silent installation, use
agentadmin --install --saveResponse
response-file
to create a response file for scripted installation. Then install silently
using agentadmin --install --useResponse
response-file.
Shut down the Jetty server before you uninstall the policy agent.
To remove the J2EE policy agent, use agentadmin --uninstall. You must provide the Jetty configuration directory location.
Uninstall does not remove the agent instance directory, but you can do so manually after removing the agent configuration from Jetty.
This chapter covers installation of the policy agent for IBM WebSphere.
Make sure OpenAM is installed and running, and that you can contact OpenAM from the system running the policy agent. Next, create a profile for your policy agent as described in the Administration Guide section on Creating Agent Profiles. To protect resources with the agent also create at least one policy as described in the section on Configuring Policies. Consider creating a simple policy, such as a policy that allows only authenticated users to access your resources, in order to test your policy agent after installation.
You must install WebSphere before you install the policy agent, and you must stop the server during installation.
You must install a Java 6 runtime environment, and set the
JAVA_HOME environment variable.
$ echo $JAVA_HOME /path/to/java1.6 $ which java /usr/bin/java
If you are using IBM Java, see Procedure 14.1, “To Install With IBM Java”.
>Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent. Also verify the checksum of the file you download against the checksum posted on the download page.
Unzip the file in the directory where you plan to install the J2EE policy agent. The agent you install stores its configuration and logs under this directory.
When you unzip the policy agent, you find the following directories
under the j2ee_agents/websphere_v61_agent directory.
binThe installation and configuration program, agentadmin.
configConfiguration templates used by the agentadmin command during installation
dataNot used
etcAgent web application that handles notifications and Cross Domain SSO
installer-logsLocation for log files written during installation
libShared libraries used by the J2EE policy agent
localeProperty files used by the installation program
sampleappSample application that demonstrates key features of the policy agent. Wait until you have installed the agent to deploy this.
The WebSphere policy agent runs with IBM Java. In order to install the policy agent using IBM Java on platforms other than AIX, you must first change the agentadmin script to use IBMJCE.
Open the file, bin/agentadmin
(bin/agentadmin.bat on Windows), for editing.
Edit the line specifying AGENT_OPTS on platforms
other than AIX.
AGENT_OPTS="-DamKeyGenDescriptor.provider=IBMJCE \ -DamCryptoDescriptor.provider=IBMJCE -DamRandomGenProvider=IBMJCE"
Edit the last line to include the IBMJCE settings before the classpath is set.
$JAVA_VM \ -DamCryptoDescriptor.provider=IBMJCE -DamKeyGenDescriptor.provider=IBMJCE \ -classpath "$AGENT_CLASSPATH" $AGENT_OPTS \ com.sun.identity.install.tools.launch.AdminToolLauncher $*
Save your work.
You can now install the WebSphere policy agent with IBM Java as described in Section 14.2, “Installing the WebSphere Policy Agent”.
Complete the following procedures to install the policy agent.
Regardless of whether you store configurations centrally in OpenAM or locally with your agents, the agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name > Agents > J2EE,
and then click the New... button in the Agent table.
Complete the web form using the following hints.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The URL to the J2EE agent application, such as
http://www.example.com:8080/agentapp
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
Create a text file containing only the password.
$ echo password > /tmp/pwd.txt
Protect the password file you create as appropriate for your operating system.
$ chmod 400 /tmp/pwd.txt
Shut down the WebSphere server where you plan to install the agent.
Make sure OpenAM is running.
Run agentadmin --install to install the agent.
$ /path/to/j2ee_agents/websphere_v61_agent/bin/agentadmin --install ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Instance Config Directory : /path/to/WebSphere/AppServer/profiles/AppSrv01/config/cells/wwwNode01Cell/ nodes/wwwNode01/servers/server1 Instance Server name : server1 WebSphere Install Root Directory : /path/to/WebSphere/AppServer OpenAM server URL : http://openam.example.com:8080/openam Agent URL : http://www.example.com:9080/agentapp Agent Profile name : WebSphere Agent Agent Profile Password file name : /tmp/pwd.txt ... SUMMARY OF AGENT INSTALLATION ----------------------------- Agent instance name: Agent_001 Agent Bootstrap file location: /path/to/j2ee_agents/websphere_v61_agent/Agent_001/config/ OpenSSOAgentBootstrap.properties Agent Configuration file location /path/to/j2ee_agents/websphere_v61_agent/Agent_001/config/ OpenSSOAgentConfiguration.properties Agent Audit directory location: /path/to/j2ee_agents/websphere_v61_agent/Agent_001/logs/audit Agent Debug directory location: /path/to/j2ee_agents/websphere_v61_agent/Agent_001/logs/debug Install log file location: /path/to/j2ee_agents/websphere_v61_agent/installer-logs/audit/install.log ...
Upon successful completion, the installer has updated the WebSphere configuration, copied the agent libraries to WebSphere's external library directory, and also set up configuration and log directories for the agent.
If the agent is in a different domain than the server, refer to Administration Guide procedure, Configuring Cross-Domain Single Sign On.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
numbered configuration and logs directory. The first agent's configuration
and logs are thus located under the directory
j2ee_agents/websphere_v61_agent/Agent_001/.
config/OpenSSOAgentBootstrap.propertiesUsed to bootstrap the J2EE policy agent, allowing the agent to connect to OpenAM and download its configuration
config/OpenSSOAgentConfiguration.propertiesOnly used if you configured the J2EE policy agent to use local configuration
logs/audit/Operational audit log directory, only used if remote logging to OpenAM is disabled
logs/debug/Debug directory where the debug file resides. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/), then you must edit config/OpenSSOAgentBootstrap.properties to identify the sub-realm that has your policy agent configuration. Find com.sun.identity.agents.config.organization.name and change the / to the path to your policy agent profile. This allows the policy agent to properly identify itself to the OpenAM server.
Restart the WebSphere server.
Deploy the
/path/to/j2ee_agents/websphere_v61_agent/etc/agentapp.war
agent application in WebSphere.
For each web application to protect, add the following filter
to the application's web.xml configuration,
following the opening <web-app> tag. The file for the sample
application delivered with the agent is
/path/to/j2ee_agents/websphere_v61_agent/sampleapp/etc/web.xml.
<filter> <filter-name>Agent</filter-name> <display-name>Agent</display-name> <description>OpenAM Policy Agent Filter</description> <filter-class>com.sun.identity.agents.filter.AmAgentFilter</filter-class> </filter> <filter-mapping> <filter-name>Agent</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>INCLUDE</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>ERROR</dispatcher> </filter-mapping>
You might also have to update additional configuration files. See
the sample application located under
/path/to/j2ee_agents/websphere_v61_agent/sampleapp
for examples.
If you have a policy configured, you can test your policy agent.
For example, try to browse to a resource that your policy agent protects.
You should be redirected to OpenAM to authenticate, for example as user
demo, password changeit. After
you authenticate, OpenAM then redirects you back to the resource you tried
to access.
When performing a scripted, silent installation, use
agentadmin --install --saveResponse
response-file
to create a response file for scripted installation. Then install silently
using agentadmin --install --useResponse
response-file.
Shut down the WebSphere server before you uninstall the policy agent.
To remove the J2EE policy agent, use agentadmin --uninstall. You must provide the WebSphere configuration directory location.
Uninstall does not remove the agent instance directory, but you can do so manually after removing the agent configuration from WebSphere.
When using WebSphere Application Server Network Deployment, you must install policy agents on the Deployment Manager, on each Node Agent, and on each Application Server. Installation requires that you stop and then restart the Deployment Manager, each Node Agent, and each Application Server in the Network Deployment.
Before installation, synchronize each server configuration with the
profile saved by the Deployment Manager using the syncNode
command. After agent installation, copy the server configuration for each
node, stored in server.xml, to the corresponding
Deployment Manager profile. After you have synchronized the configurations,
you must restart the Deployment Manager for the Network Deployment.
This chapter covers installation of the policy agent for Oracle WebLogic.
Make sure OpenAM is installed and running, and that you can contact OpenAM from the system running the policy agent. Next, create a profile for your policy agent as described in the Administration Guide section on Creating Agent Profiles. To protect resources with the agent also create at least one policy as described in the section on Configuring Policies. Consider creating a simple policy, such as a policy that allows only authenticated users to access your resources, in order to test your policy agent after installation.
You must install WebLogic before you install the policy agent, and you must stop the server during installation.
You must install a Java 6 runtime environment, and set the
JAVA_HOME environment variable.
$ echo $JAVA_HOME /path/to/java1.6 $ which java /usr/bin/java
>Go to Obtaining OpenAM Software to determine which version of the agent to download and download the agent. Also verify the checksum of the file you download against the checksum posted on the download page.
Unzip the file in the directory where you plan to install the J2EE policy agent. The agent you install stores its configuration and logs under this directory.
When you unzip the policy agent, you find the following directories
under the j2ee_agents/weblogic_v10_agent directory.
binThe installation and configuration program, agentadmin.
configConfiguration templates used by the agentadmin command during installation
dataNot used
etcAgent web application and startup configuration
installer-logsLocation for log files written during installation
libShared libraries used by the J2EE policy agent
localeProperty files used by the installation program
sampleappSample application that demonstrates key features of the policy agent. Wait until you have installed the agent to deploy this.
Complete the following procedures to install the policy agent.
Regardless of whether you store configurations centrally in OpenAM or locally with your agents, the agent requires a profile so that it can connect to and communicate with OpenAM.
In the OpenAM console, browse to Access Control >
Realm Name > Agents > J2EE,
and then click the New... button in the Agent table.
Complete the web form using the following hints.
The name for the agent profile used when you install the agent
Password the agent uses to authenticate to OpenAM
Centralized configurations are stored in the OpenAM configuration store. You can manage the centralized configuration through the OpenAM console. Local configurations are stored in a file alongside the agent.
The full URL to an OpenAM instance, or if OpenAM is deployed in a site configuration (behind a load balancer) then the site URL
In centralized configuration mode, the Server URL is used to populate the agent profile for services such as Login, Logout, Naming, and Cross Domain SSO.
The URL to the J2EE agent application, such as
http://www.example.com:8080/agentapp
In centralized configuration mode, the Agent URL is used to populate the Agent Profile for services such as notifications.
Create a text file containing only the password.
$ echo password > /tmp/pwd.txt
Protect the password file you create as appropriate for your operating system.
$ chmod 400 /tmp/pwd.txt
Shut down the WebLogic server where you plan to install the agent.
Make sure OpenAM is running.
Run agentadmin --install to install the agent.
$ /path/to/j2ee_agents/weblogic_v10_agent/bin/agentadmin --install ... ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Startup script location : /path/to/domain/mydomain/bin/startWebLogic.sh WebLogic Server instance name : AdminServer WebLogic home directory : /path/to/wlserver OpenAM server URL : http://openam.example.com:8080/openam Agent URL : http://www.example.com:7001/agentapp Agent Profile name : WebLogic Agent Agent Profile Password file name : /tmp/pwd.txt ... SUMMARY OF AGENT INSTALLATION ----------------------------- Agent instance name: Agent_001 Agent Bootstrap file location: /path/to/j2ee_agents/weblogic_v10_agent/Agent_001/config/ OpenSSOAgentBootstrap.properties Agent Configuration file location /path/to/j2ee_agents/weblogic_v10_agent/Agent_001/config/ OpenSSOAgentConfiguration.properties Agent Audit directory location: /path/to/j2ee_agents/weblogic_v10_agent/Agent_001/logs/audit Agent Debug directory location: /path/to/j2ee_agents/weblogic_v10_agent/Agent_001/logs/debug Install log file location: /path/to/j2ee_agents/weblogic_v10_agent/installer-logs/audit/install.log ...
Upon successful completion, the installer has updated the WebLogic configuration, copied the agent libraries to WebLogic's library directory, and also set up configuration and log directories for the agent.
If the agent is in a different domain than the server, refer to Administration Guide procedure, Configuring Cross-Domain Single Sign On.
Take note of the configuration files and log locations.
Each agent instance that you install on the system has its own
numbered configuration and logs directory. The first agent's configuration
and logs are thus located under the directory
j2ee_agents/weblogic_v10_agent/Agent_001/.
config/OpenSSOAgentBootstrap.propertiesUsed to bootstrap the J2EE policy agent, allowing the agent to connect to OpenAM and download its configuration
config/OpenSSOAgentConfiguration.propertiesOnly used if you configured the J2EE policy agent to use local configuration
logs/audit/Operational audit log directory, only used if remote logging to OpenAM is disabled
logs/debug/Debug directory where the debug file resides. Useful in troubleshooting policy agent issues.
If your policy agent configuration is not in the top-level realm (/), then you must edit config/OpenSSOAgentBootstrap.properties to identify the sub-realm that has your policy agent configuration. Find com.sun.identity.agents.config.organization.name and change the / to the path to your policy agent profile. This allows the policy agent to properly identify itself to the OpenAM server.
The agent requires sourcing before it will work properly. There are two ways to source.
Manually source the file containing the policy agent environment settings for WebLogic before starting the application server.
. /path/to/setAgentEnv_AdminServer.sh
Or edit the startWebLogic.sh script to set the sourcing
needed for the agent, by adding these lines after the code block shown. Add the
setAgentEnv_AdminServer.sh line to the following location in the file. The drawback
to this approach is that it could be overwritten, as noted in the file.
$ vi /path/to/startWebLogic.sh
# Any changes to this script may be lost when adding extensions to this configuration.
DOMAIN_HOME="/opt/Oracle/Middleware/user_projects/domains/base_domain"
. /path/to/setAgentEnv_AdminServer.sh
${DOMAIN_HOME}/bin/startWebLogic.sh $*If the sourcing is not properly set, the following message appears.
<Error> <HTTP> <cent.example.com> <AdminServer> <[STANDBY] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <><> <> <1360800613441> <BEA-101165> <Could not load user defined filter in web.xml: ServletContext@1761850405[app:agentapp module:agentapp.war path:null spec-version:null] com.sun.identity.agents.filter.AmAgentFilter. java.lang.ClassNotFoundException: com.sun.identity.agents.filter.AmAgentFilter
Start the WebLogic server.
Configure shutdown classes for the environment.
In WebLogic console, browse to Environment > Startup & Shutdown Classes.
Click Lock & Edit.
Click New.
Select the Shutdown Class option, and then click Next.
Provide the Name Agent, and the Class Name
org.forgerock.agents.weblogic.v10.lifecycle.ShutdownListener.
Select the appropriate targets to call the shutdown class once per Java Virtual Machine, and then click Finish.
Click Activate Changes.
Deploy the
/path/to/j2ee_agents/weblogic_v10_agent/etc/agentapp.war
agent application in WebLogic.
For each web application to protect, add the following filter
to the application's web.xml configuration,
following the opening <web-app> tag. The file for the sample
application delivered with the agent is
/path/to/j2ee_agents/weblogic_v10_agent/sampleapp/etc/web.xml.
<filter> <filter-name>Agent</filter-name> <display-name>Agent</display-name> <description>OpenAM Policy Agent Filter</description> <filter-class>com.sun.identity.agents.filter.AmAgentFilter</filter-class> </filter> <filter-mapping> <filter-name>Agent</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>INCLUDE</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>ERROR</dispatcher> </filter-mapping>
You might also have to update additional configuration files. See
the sample application located under
/path/to/j2ee_agents/weblogic_v10_agent/sampleapp
for examples.
If you have a policy configured, you can test your policy agent.
For example, try to browse to a resource that your policy agent protects.
You should be redirected to OpenAM to authenticate, for example as user
demo, password changeit. After
you authenticate, OpenAM then redirects you back to the resource you tried
to access.
When performing a scripted, silent installation, use
agentadmin --install --saveResponse
response-file
to create a response file for scripted installation. Then install silently
using agentadmin --install --useResponse
response-file.
After installing WebLogic, some configuration is required before the policy agent will work.
WebLogic is unique in that it requires additional configuration after the installation is complete.
Go to the WebLogic Server Administratotion Console and login.
Click Security realms.
Click the name of the realm to use for OpenAM.
Click Providers > Authentication.
Click Lock & Edit > New.
Enter the desired type in Type as AgentAuthenticator,
provide a name, and click OK.
Click on the name of the agent authenticator you just created.
Use OPTIONAL for the control flag and save.
Click on Providers to display the Authentication
Providers Table.
Click on Default Authenticator, use OPTIONAL
for the control flag, and save.
Activate the changes once the default authenticator is done saving.
You will need to restart the WebLogic Server to implement the changes.
Shut down the WebLogic server before you uninstall the policy agent.
To remove the J2EE policy agent, use agentadmin --uninstall. You must provide the WebLogic configuration directory location.
Uninstall does not remove the agent instance directory, but you can do so manually after removing the agent configuration from WebLogic.
This chapter offers solutions to issues during installation of OpenAM policy agents.
This section offers solutions to common problems when installing OpenAM policy agents.
Q: | How can I configure a custom error page to be returned by the web policy agent on HTTP 403 Forbidden or HTTP 500 Internal Server Error for example? |
A: | Web servers generally let you set custom error pages for specific HTTP status codes. Check the documentation for your web server to see how to set the custom pages.
When you set up the error pages, make sure they are in the agent's list of Not Enforced URLs as described in Not Enforced URL Processing properties, or alternatively make sure the pages are on a web server that is not protected by the web policy agent. You do not want the agent to prevent user from seeing the HTTP 403 Forbidden custom error page for instance. |
Q: | I am trying to install a policy agent, connecting to OpenAM over HTTPS, and seeing the following error. OpenAM server URL: https://openam.example.com:8443/openam WARNING: Unable to connect to OpenAM server URL. Please specify the correct OpenAM server URL by hitting the Back button (<) or if the OpenAM server URL is not started and you want to start it later, please proceed with the installation. If OpenAM server is SSL enabled and the root CA certificate for the OpenAM server certificate has been not imported into installer JVMs key store (see installer-logs/debug/Agent.log for detailed exception), import the root CA certificate and restart the installer; or continue installation without verifying OpenAM server URL. What should I do? |
A: | The Java platform includes certificates from many Certificate Authorities (CAs). If however you run your own CA, or you use self-signed certificates for HTTPS on the container where you run OpenAM, then the agentadmin command cannot trust the certificate presented during connection to OpenAM, and so cannot complete installation correctly. After setting up the container where you run OpenAM to use HTTPS, get the certificate to trust in a certificate file. The certificate you want is the that of the CA who signed the container certificate, or the certificate itself if the container certificate is self-signed. Copy the certificate file to the system where you plan to install the policy agent. Import the certificate into a trust store that you will use during policy agent installation. If you import the certificate into the default trust store for the Java platform, then the agentadmin command can recognize it without additional configuration. Export and import of self-signed certificates is demonstrated in the Administration Guide chapter on Managing Certificates. |
Q: | I am trying to install the policy agent on SELinux and I am getting error messages after installation. What happened? |
A: | SELinux must be properly configured to connect the web policy agent and OpenAM nodes. Either re-configure SELinux or disable it, then reinstall the policy agent. |
Q: | My Apache HTTPD server is not using port 80. But when I install the web policy agent it defaults to port 80. How do I fix this? |
A: | You probably set Instead you must set both the host name and port number for
<VirtualHost *:8080> ServerName www.localhost.example:8080 |
Q: | I am trying to install the WebSphere policy agent on Linux. The system has IBM Java. When I run agentadmin --install, the script fails to encrypt the password from the password file, ending with this message: ERROR: An unknown error has occurred (null). Please try again. What should I do? |
A: | You must edit agentadmin to use IBMJCE, and then try again. |
Q: | My web server and web policy agent are installed as root, and the agent cannot rotate logs. I am seeing this error. Could not rotate log file ... (error: 13) What should I do? |
A: | First, avoid installing the web server (and therefore also the web policy agent) as root, but instead create a web server user and install as that user. If however you cannot avoid installing the web server and policy agent
as root, the you must give all users read and write permissions to the
|
Web Agents use the following configuration properties. Bootstrap properties are always configured locally, whereas other agent configuration properties are either configured centrally in OpenAM or locally using the agent properties file.
These properties are set in
config/OpenSSOAgentBootstrap.properties.
com.forgerock.agents.ext.url.validation.default.url.setThis property takes a comma-separated list of indexes for URL values
indicating the order in which to fail over, where the indexes are taken
from the values set for
com.sun.identity.agents.config.naming.url,
com.sun.identity.agents.config.login.url,
com.sun.identity.agents.config.cdsso.cdcservlet.url, and
com.sun.identity.agents.config.logout.url.
For example if
com.sun.identity.agents.config.naming.url is set as
follows:
com.sun.identity.agents.config.naming.url= http://zero.example.com:8080/openam/namingservice http://one.example.com:8080/openam/namingservice
Then the following setting means first use OpenAM on
zero.example.com, then fail over if necessary to OpenAM
on one.example.com, assuming
com.forgerock.agents.ext.url.validation.level is set
to enable validation.
com.forgerock.agents.ext.url.validation.default.url.set=0,1
When using this failover capability make sure you synchronize URL
settings in com.sun.identity.agents.config.naming.url,
com.sun.identity.agents.config.login.url,
com.sun.identity.agents.config.cdsso.cdcservlet.url, and
com.sun.identity.agents.config.logout.url such that
each service shares the same index across all properties. In other words,
in the example above each service under
http://zero.example.com:8080/openam would be the first
item (index: 0) for each property. This ensures the policy agent fails over
and fails back from one server to another in synchronized fashion for all
services.
This property has no default setting.
com.forgerock.agents.ext.url.validation.levelThis bootstrap configuration property lets you configure naming URL validation during the initial bootstrap phase when the policy agent reads its configuration, and then thereafter if the policy agent is configured fail over when a naming URL becomes invalid.
When URL validation is fully disabled the policy agent does not need to connect to OpenAM during the bootstrap phase.
If you leave naming URL validation disabled, then make sure that the URLs in the policy agent bootstrap configuration file are valid and correct. As the policy agent performs no further validation after the bootstrap phase, incorrect naming URLs can cause the agent to crash.
To enable full URL validation, set the property as shown:
com.forgerock.agents.ext.url.validation.level = 0
This property can take the following values.
Fully validate naming URLs specified by using the
com.sun.identity.agents.config.naming.url property.
The web policy agent logs into and logs out of OpenAM to check that
a naming URL is valid.
Check that naming URLs are valid by performing an HTTP GET, which should receive an HTTP 200 response.
Disable all naming URL validation.
When naming URL validation is enabled, then set the following properties.
com.sun.identity.agents.config.connect.timeout
com.sun.identity.agents.config.receive.timeout
com.forgerock.agents.ext.url.validation.ping.intervalSet this to the seconds between validation requests against the current naming URL.
The sum of the values of
com.sun.identity.agents.config.connect.timeout and
com.sun.identity.agents.config.receive.timeout must not
exceed this value. Notice that the two timeout values are specified in
milliseconds, whereas this property's value is specified in seconds.
Default: 60 (seconds)
com.forgerock.agents.ext.url.validation.ping.miss.countIf validation requests against the current naming URL fail this
number of times in a row, the web policy agent fails over to the next
service in
com.forgerock.agents.ext.url.validation.default.url.set.
Default: 3
com.forgerock.agents.ext.url.validation.ping.ok.countAfter failover, if validation requests against the default naming URL
succeed this number of times in a row, the web policy agent fails back to
that service, the first URL in the
com.forgerock.agents.ext.url.validation.default.url.set
list.
Default: 3
com.sun.identity.agents.config.certdb.passwordWhen SSL is configured, set this to the password for the certificate database.
com.sun.identity.agents.config.certdb.prefixWhen SSL is configured, set this property if the certificate
databases in the directory specified by
com.sun.identity.agents.config.sslcert.dir have a
prefix.
com.sun.identity.agents.config.certificate.aliasWhen SSL is configured, set this to the alias of the certificate used to authenticate.
com.sun.identity.agents.config.connect.timeoutSet this to the number of milliseconds to keep the socket connection open before timing out. If you have the web policy agent perform naming URL validation, then set this property to a reasonable value such as 2000 (2 seconds). The default value is 0 which implies no timeout.
com.sun.identity.agents.config.debug.fileSet this to the full path of the agent's debug log file.
com.sun.identity.agents.config.debug.levelDefault is Error. Increase to
Message or even All for
fine-grained detail.
Set the level in the configuration file by module using
the format , where
module[:level][,module[:level]]*module is one of
AuthService, NamingService,
PolicyService, SessionService,
PolicyEngine, ServiceEngine,
Notification, PolicyAgent,
RemoteLog, or all,
and level is one of the following.
0: Disable logging from specified module
At this level the agent nevertheless logs messages having the
level value always.
1: Log error messages
2: Log warning and error messages
3: Log info, warning, and error messages
4: Log debug, info, warning, and error messages
5: Like level 4, but with even more debugging messages
When you omit level, the agent uses the
default level, which is the level associated with the
all module.
The following example used in the local configuration sets the log overall level to debug for all messages.
com.sun.identity.agents.config.debug.level=all:4
com.sun.identity.agents.config.forward.proxy.hostWhen OpenAM and the agent communicate through a web proxy server configured in forward proxy mode, set this to the proxy server host name.
com.sun.identity.agents.config.forward.proxy.passwordWhen OpenAM and the agent communicate through a web proxy server configured in forward proxy mode and the proxy server has the agent authenticate using Basic Authentication, set this to the agent's password.
com.sun.identity.agents.config.forward.proxy.portWhen OpenAM and the agent communicate through a web proxy server configured in forward proxy mode, set this to the proxy server port number.
com.sun.identity.agents.config.forward.proxy.userWhen OpenAM and the agent communicate through a web proxy server configured in forward proxy mode and the proxy server has the agent authenticate using Basic Authentication, set this to the agent's user name.
com.sun.identity.agents.config.keySet this to the encryption key used to encrypt the agent profile password.
com.sun.identity.agents.config.local.logfileSet this to the full path for agent's audit log file.
com.sun.identity.agents.config.naming.urlSet this to the naming service URL(s) used for naming lookups in OpenAM. Separate multiple URLs with single space characters.
com.sun.identity.agents.config.organization.nameSet this to the realm name where the agent authenticates to OpenAM.
com.sun.identity.agents.config.passwordSet this to the encrypted version of the password for the agent
authenticator. Use the command ./agentadmin --encrypt
agentInstance passwordFile to get the encrypted version.
com.sun.identity.agents.config.profilenameSet this to the agent profile name.
com.sun.identity.agents.config.receive.timeoutSet this to the number of milliseconds to wait for a response from OpenAM before timing out and dropping the connection. If you have the web policy agent perform naming URL validation, then set this property to a reasonable value such as 2000 (2 seconds). The default value is 0 which implies no timeout.
com.sun.identity.agents.config.sslcert.dirWhen SSL is configured, set this to the directory containing SSL certificate databases.
com.sun.identity.agents.config.tcp.nodelay.enableSet to true to enable the socket option
TCP_NODELAY. Default is false.
com.sun.identity.agents.config.trust.server.certsWhen SSL is configured, set to false to trust the
OpenAM SSL certificate only if the certificate is found to be correct and
valid. Default is true.
com.sun.identity.agents.config.usernameSet this to the user name of the agent authenticator.
These properties are set in
config/OpenSSOAgentConfiguration.properties if your
agent uses local configuration. If your agent uses centralized configuration,
the properties are set in OpenAM.
com.forgerock.agents.agent.invalid.url.regexSet this property to a Perl-compatible regular expression to filter out invalid request URLs. The policy agent reject requests to invalid URLs with HTTP 403 Forbidden status without further processing.
For example, to filter out URLs containing the symbols in the list ./, /., /, ., ,\, %00-%1f, %7f-%ff, %25, %2B, %2C, %7E, .info, use the following setting.
com.forgerock.agents.agent.invalid.url.regex= \ ^((?!(|/\.|\./||*|\.info|%25|%2B|%2C|%[0-1][0-9a-fA-F]|%[7-9a-fA-F][0-9a-fA-F])).)$
com.forgerock.agents.agent.logout.url.regexSet this property to a Perl-compatible regular expression that matches logout URLs.
For example, to match URLs with protectedA or
protectedB in the path and op=logout
in the query string, use the following setting.
com.forgerock.agents.agent.logout.url.regex= \ .*(/protectedA\?|/protectedB\?/).*(\&op=logout\&)(.*|$)
When you use this property, the agent ignores the settings for
com.sun.identity.agents.config.agent.logout.url.
com.forgerock.agents.cache_control_header.enableSet this property to true to enable use of
Cache-Control headers that prevent proxies from caching resources accessed
by unauthenticated users. Default: false.
com.forgerock.agents.cdsso.disable.redirect.on_postSet this property to true to disable the HTTP
302 redirect after the LARES POST. By default, the policy agent does an
HTTP redirect after processing the LARES POST message. Default:
false.
This property applies only to Apache HTTPD 2.2 and 2.4 policy agents. Other policy agents do not redirect after processing the LARES POST message.
com.forgerock.agents.conditional.login.urlTo conditionally redirect users based on the incoming request URL, set this property.
This takes the incoming request domain to match, a vertical bar
( | ), and then a comma-separated list of URLs to
which to redirect incoming users.
If the domain before the vertical bar matches an incoming request
URL, then the policy agent uses the list of URLs to determine how to
redirect the user-agent. If the global property FQDN Check
(com.sun.identity.agents.config.fqdn.check.enable)
is enabled for the policy agent, then the policy agent iterates through
the list until it finds an appropriate redirect URL that matches the
FQDN check. Otherwise, the policy agent redirects the user-agent to the
first URL in the list.
Examples: com.forgerock.agents.conditional.login.url[0]=
login.example.com|http://openam1.example.com/openam/UI/Login,
http://openam2.example.com/openam/UI/Login,
com.forgerock.agents.conditional.login.url[1]=
signin.example.com|http://openam3.example.com/openam/UI/Login,
http://openam4.example.com/openam/UI/Login
com.forgerock.agents.config.logout.redirect.disableSet this property to true to prevent the policy
agent from redirecting to the logout URL when that logout URL matches one
of the logout URL settings. Instead of redirecting the user-agent, the
policy agent performs session logout in the background and then continues
processing access to the current URL.
com.forgerock.agents.config.notenforced.ip.handlerAs of version 3.0.4, web policy agents with this property set to
cidr can use IPv4 netmasks and IP ranges instead of
wildcards as values for
com.sun.identity.agents.config.notenforced.ip
addresses. Version 3.0.5 adds support for IPv6, including the IPv6 loopback
address, ::1.
When the parameter is defined, wildcards are ignored in
com.sun.identity.agents.config.notenforced.ip settings.
Instead, you can use settings such as those shown in the following
examples.
To disable policy agent enforcement for addresses in 192.168.1.1 to 192.168.1.255, use the following setting.
com.sun.identity.agents.config.notenforced.ip = 192.168.1.1/24
The following example shows a configuration using IPv6.
com.sun.identity.agents.config.notenforced.ip = 2001:5c0:9168:0:0:0:0:2/128
Currently the policy agent stops evaluating properties after reaching an invalid netmask in the list.
To disable policy agent enforcement for addresses between 192.168.1.1 to 192.168.4.3 inclusive, use the following setting.
com.sun.identity.agents.config.notenforced.ip = 192.168.1.1-192.168.4.3
The following example shows a configuration using IPv6.
com.sun.identity.agents.config.notenforced.ip = 2001:5c0:9168:0:0:0:0:1-2001:5c0:9168:0:0:0:0:2
com.forgerock.agents.config.pdpuri.prefixIf you run multiple web servers with policy agents behind a load balancer that directs traffic based on the request URI, and you need to preserve POST data, then set this property.
By default, policy agents use a dummy URL for POST data preservation,
http://,
to handle POST data across redirects to and from OpenAM. When you set this
property, the policy agent prefixes the property value to the dummy URL
path. In other words, when you set
agent.host:port/dummypost/sunpostpreservecom.forgerock.agents.config.pdpuri.prefix = app1,
the policy agent uses the dummy URL,
http://.agent.host:port/app1/dummypost/sunpostpreserve
Next, use the prefix you set when you define load balancer URI rules. This ensures that clients end up being redirected to the policy agent that preserved the POST data.
com.forgerock.agents.notenforced.url.regex.enableSet this property to true to enable use of regular
expressions in Not Enforced URL settings.
Not Enforced URL settings are configured using the property,
com.sun.identity.agents.config.notenforced.url
Default: false
com.sun.identity.agents.config.access.denied.urlThe URL of the customized access denied page. If no value is specified (default), then the agent returns an HTTP status of 403 (Forbidden).
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Resources
Access Denied URL.
com.sun.identity.agents.config.agent.logout.urlList of application logout URLs, such as
http://www.example.com/logout.html.
The user is logged out of the OpenAM session when these URLs are accessed.
When using this property, specify a value for the Logout Redirect URL
property.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
Logout URL List.
com.sun.identity.agents.config.agenturi.prefixThe default value is
.agent-root-URL/amagent
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Agent
Deployment URI Prefix.
com.sun.identity.agents.config.anonymous.user.enableEnable or disable REMOTE_USER processing for anonymous users.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
Anonymous User.
com.sun.identity.agents.config.anonymous.user.idUser ID of unauthenticated users. Default:
anonymous.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
Anonymous User Default Value.
com.sun.identity.agents.config.attribute.multi.value.separatorSpecifies separator for multiple values. Applies to all types of
attributes such as profile, session and response attributes. Default:
|.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Attribute Multi Value Separator.
com.sun.identity.agents.config.audit.accesstypeTypes of messages to log based on user URL access attempts.
Valid values for the configuration file property include
LOG_NONE, LOG_ALLOW,
LOG_DENY, and LOG_BOTH.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Audit
Access Types.
com.sun.identity.agents.config.auth.connection.timeoutTimeout period in seconds for an agent connection with OpenAM auth server. Default: 2
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
Agent Connection Timeout.
com.sun.identity.agents.config.cdsso.cdcservlet.urlList of URLs of the available CDSSO controllers that the agent can
use for CDSSO processing. For example,
http://openam.example.com:8080/openam/cdcservelet.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > SSO > CDSSO Servlet
URL.
com.sun.identity.agents.config.cdsso.cookie.domainList of domains, such as .example.com, in which
cookies have to be set in CDSSO. If this property is left blank, then
the fully qualified domain name of the cookie for the agent server
is used to set the cookie domain, meaning that a host cookie rather than
a domain cookie is set.
To set the list to .example.com, and
.example.net using the configuration file property,
include the following.
com.sun.identity.agents.config.cdsso.cookie.domain[0]=.example.com com.sun.identity.agents.config.cdsso.cookie.domain[1]=.example.net
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > SSO > Cookies
Domain List.
com.sun.identity.agents.config.cdsso.enableEnables Cross Domain Single Sign On.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > SSO > Cross Domain
SSO.
com.sun.identity.agents.config.change.notification.enableEnables agent to receive notification messages from OpenAM server for configuration changes.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global >
Profile.
com.sun.identity.agents.config.cleanup.intervalInterval in minutes to cleanup old agent configuration entries unless they are referenced by current requests. Default: 30.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global >
Configuration Cleanup Interval.
com.sun.identity.agents.config.client.hostname.headerHTTP header name that holds the hostname of the client.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Client
Hostname Header.
com.sun.identity.agents.config.client.ip.headerHTTP header name that holds the IP address of the client.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Client
IP Address Header.
com.sun.identity.agents.config.client.ip.validation.enableWhen enabled, validate that the subsequent browser requests come from the same IP address that the SSO token is initially issued against.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Client IP Validation.
com.sun.identity.agents.config.convert.mbyte.enableWhen enabled, the agent encodes the LDAP header values in the default encoding of operating system locale. When disabled, the agent uses UTF-8.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
Native Encoding of Profile Attributes.
com.sun.identity.agents.config.cookie.nameName of the SSO Token cookie used between the OpenAM server and
the agent. Default: iPlanetDirectoryPro.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > SSO > Cookie
Name.
com.sun.identity.agents.config.cookie.reset.enableWhen enabled, agent resets cookies in the response before redirecting to authentication.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > SSO > Cookie
Reset.
com.sun.identity.agents.config.cookie.resetList of cookies in the format
.name[=value][;Domain=value]
Concrete examples include the following with two list items configured.
LtpaToken, corresponding to
com.sun.identity.agents.config.cookie.reset[0]=LtpaToken.
The default domain is taken from FQDN Default.
token=value;Domain=subdomain.domain.com,
corresponding to
com.sun.identity.agents.config.cookie.reset[1]=
token=value;Domain=subdomain.domain.com
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > SSO > Cookie
Reset Name List.
com.sun.identity.agents.config.cookie.secureWhen enabled, the agent marks cookies secure, sending them only if the communication channel is secure.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > SSO > Cookie
Security.
com.sun.identity.agents.config.debug.file.rotateWhen enabled, rotate the debug file when specified file size is reached.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Agent
Debug File Rotation.
com.sun.identity.agents.config.debug.file.sizeDebug file size in bytes beyond which the log file is rotated. The minimum is 1048576 bytes (1 MB), and lower values are reset to 1 MB. OpenAM console sets a default of 10 MB when it is used to configure the agent.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Agent
Debug File Size.
com.sun.identity.agents.config.debug.levelDefault is Error. Increase to
Message or even All for
fine-grained detail.
You can set the level in the configuration file by module using
the format
,
where module[:level][,module[:level]]*module is one of
AuthService, NamingService,
PolicyService, SessionService,
PolicyEngine, ServiceEngine,
Notification, PolicyAgent,
RemoteLog, or all,
and level is one of the following.
0: Disable logging from specified module
At this level the agent nevertheless logs messages having the
level value always.
1: Log error messages
2: Log warning and error messages
3: Log info, warning, and error messages
4: Log debug, info, warning, and error messages
5: Like level 4, but with even more debugging messages
When you omit level, the agent uses the
default level, which is the level associated with the
all module.
The following example used in the local configuration sets the log overall level to debug for all messages.
com.sun.identity.agents.config.debug.level=all:4
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Agent
Debug Level.
com.sun.identity.agents.config.domino.check.name.databaseWhen enabled, the agent checks whether the user exists in the Domino name database.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Check
User in Domino Database.
com.sun.identity.agents.config.domino.ltpa.config.nameThe configuration name that the agent uses in order to employ the LTPA token mechanism.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced >
LTPA Token Configuration Name.
com.sun.identity.agents.config.domino.ltpa.cookie.nameThe name of the cookie that contains the LTPA token.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > LTPA
Token Cookie Name.
com.sun.identity.agents.config.domino.ltpa.enableEnable if the agent needs to use LTPA Token.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Use LTPA
token.
com.sun.identity.agents.config.domino.ltpa.org.nameThe organization name to which the LTPA token belongs.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > LTPA
Token Organization Name.
com.sun.identity.agents.config.encode.cookie.special.chars.enableWhen enabled, encode special chars in cookie by URL encoding.
This is useful when profile, session, and response attributes contain
special characters, and the attributes fetch mode is set to
HTTP_COOKIE.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
Encode special chars in Cookies.
com.sun.identity.agents.config.encode.url.special.chars.enableWhen enabled, encodes the URL which has special characters before doing policy evaluation.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
Encode URL's Special Characters.
com.sun.identity.agents.config.fetch.from.root.resourceWhen enabled, the agent caches the policy decision of the
resource and all resources from the root of the resource down. For
example, if the resource is http://host/a/b/c, then
the root of the resource is http://host/. This setting
can be useful when a client is expect to access multiple resources on the
same path. Yet, caching can be expensive if very many policies are
defined for the root resource.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
Fetch Policies from Root Resource.
com.sun.identity.agents.config.fqdn.check.enableEnables checking of FQDN default value and FQDN map values.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > FQDN
Check.
com.sun.identity.agents.config.fqdn.defaultFully qualified domain name that the users should use in order to access resources. Without this value, the web server can fail to start, thus you set the property on agent installation, and only change it when absolutely necessary.
This property ensures that when users access protected resources on the web server without specifying the FQDN, the agent can redirect the users to URLs containing the correct FQDN.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > FQDN
Default.
com.sun.identity.agents.config.fqdn.mappingEnables virtual hosts, partial hostname and IP address to access protected resources. Maps invalid or virtual name keys to valid FQDN values so the agent can properly redirect users and the agents receive cookies belonging to the domain.
To map myserver to
myserver.mydomain.example, enter
myserver in the Map Key field, and enter
myserver.mydomain.example in the Corresponding Map Value
field. This corresponds to
com.sun.identity.agents.config.fqdn.mapping[myserver]= myserver.mydomain.example.
Invalid FQDN values can cause the web server to become unusable or render resources inaccessible.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > FQDN
Virtual Host Map.
com.sun.identity.agents.config.get.client.host.nameWhen enabled, get the client hostname through DNS reverse lookup for use in policy evaluation. This setting can impact performance.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
Retrieve Client Hostname.
com.sun.identity.agents.config.ignore.path.infoWhen enabled, strip path info from the request URL while doing the Not Enforced List check, and URL policy evaluation. This is designed to prevent a user from accessing a URI by appending the matching pattern in the policy or not enforced list.
This property is not supported by the Varnish Cache agent.
For example, if the not enforced list includes
http://host/*.gif, then stripping path info from the
request URI prevents access to http://host/index.html
by using http://host/index.html?hack.gif.
However, when a web server is configured as a reverse proxy for a J2EE application server, the path info is interpreted to map a resource on the proxy server rather than the application server. This prevents the not enforced list or the policy from being applied to the part of the URI below the application server path if a wildcard character is used.
For example, if the not enforced list includes
http://host/webapp/servcontext/* and the request URL is
http://host/webapp/servcontext/example.jsp, the path
info is /servcontext/example.jsp and the resulting
request URL with path info stripped is
http://host/webapp/, which does not match the
not enforced list. Thus when this property is enabled, path info is
not stripped from teh request URL even if there is a wildcard in the not
enforced list or policy.
Make sure therefore when this property is enabled that there is nothing following the wildcard in the not enforced list or policy.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
Ignore Path Info in Request URL.
com.sun.identity.agents.config.ignore.path.info.for.not.enforced.listWhen enabled, the path info and query are stripped from the
request URL before being compared with the URLs of the not enforced list
for those URLs containing a wildcard character. This prevents a user
from accessing http://host/index.html by requesting
http://host/index.html/hack.gif when the not enforced
list includes http://host/*.gif.
This property is not supported by the Varnish Cache agent.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Ignore Path Info for Not Enforced URLs.
com.sun.identity.agents.config.ignore.preferred.naming.urlWhen enabled, do not send a preferred naming URL in the naming request.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
Ignore Preferred Naming URL in Naming Request.
com.sun.identity.agents.config.ignore.server.checkWhen enabled, do not check whether OpenAM is up before doing a 302 redirect.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
Ignore Server Check.
com.sun.identity.agents.config.iis.auth.typeThe agent should normally perform authentication, so this is not
required. If necessary, set to none.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced >
Authentication Type.
com.sun.identity.agents.config.iis.filter.priorityThe loading priority of filter, DEFAULT, HIGH, LOW, or MEDIUM.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced >
Filter Priority.
com.sun.identity.agents.config.iis.owa.enableEnable if the IIS agent filter is configured for OWA.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced >
Filter configured with OWA.
com.sun.identity.agents.config.iis.owa.enable.change.protocolEnable to avoid IE6 security pop-ups.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Change
URL Protocol to https.
com.sun.identity.agents.config.iis.owa.enable.session.timeout.urlURL of the local idle session timeout page.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Idle
Session Timeout Page URL.
com.sun.identity.agents.config.load.balancer.enableEnable if a load balancer is used for OpenAM services.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Load
Balancer Setup.
com.sun.identity.agents.config.local.log.rotateWhen enabled, audit log files are rotated when reaching the specified size.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Rotate
Local Audit Log.
com.sun.identity.agents.config.local.log.sizeBeyond this size limit in bytes the agent rotates the local audit log file if rotation is enabled. Default: 50 MB
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Local
Audit Log Rotation Size.
com.sun.identity.agents.config.localeThe default locale for the agent.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
Agent Locale.
com.sun.identity.agents.config.log.dispositionSpecifies where audit messages are logged. By default, audit messages are logged remotely.
Valid values for the configuration file property include
REMOTE, LOCAL, and
ALL.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Audit Log
Location.
com.sun.identity.agents.config.login.urlOpenAM login page URL, such as
http://openam.example.com:8080/openam/UI/Login, to
which the agent redirects incoming users without sufficient credentials
so then can authenticate.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
OpenAM Login URL.
com.sun.identity.agents.config.logout.cookie.resetCookies to be reset upon logout in the same format as the cookie reset list.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
Logout Cookies List for Reset.
com.sun.identity.agents.config.logout.redirect.urlUser gets redirected to this URL after logout. Specify this property alongside a Logout URL List.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
Logout Redirect URL.
com.sun.identity.agents.config.logout.urlOpenAM logout page URL, such as
http://openam.example.com:8080/openam/UI/Logout.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
OpenAM Logout URL.
com.sun.identity.agents.config.notenforced.ipNo authentication and authorization are required for the requests coming from these client IP addresses.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Not Enforced Client IP List.
com.sun.identity.agents.config.notenforced.url.attributes.enableWhen set to true, the agent fetches profile,
response, and session attributes that are mapped by doing policy
evaluation, and forwards these attributes to non-protected URLs.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Fetch Attributes for Not Enforced URLs.
com.sun.identity.agents.config.notenforced.url.invertOnly enforce not enforced list of URLs. In other words, enforce policy only for those URLs and patterns specified in the list.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Invert Not Enforced URLs.
com.sun.identity.agents.config.notenforced.urlList of URLs for which no authentication is required. You can use wildcards to define a pattern for a URL.
The * wildcard matches all characters except
question mark (?), cannot be escaped, and spans
multiple levels in a URL. Multiple forward slashes do not match a
single forward slash, so * matches
mult/iple/dirs, yet mult/*/dirs
does not match mult/dirs.
The -*- wildcard matches all characters except
forward slash (/) or question mark
(?), and cannot be escaped. As it does not match
/, -*- does not span multiple
levels in a URL.
OpenAM does not let you mix * and
-*- in the same URL.
Examples include
http://www.example.com/logout.html,
http://www.example.com/images/*,
http://www.example.com/css/-*-, and
http://www.example.com/*.jsp?locale=*.
Trailing forward slashes are not recognized as part of a resource
name. Therefore http://www.example.com/images// and
http://www.example.com/images are equivalent.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Not Enforced URLs.
If you set
com.forgerock.agents.notenforced.url.regex.enable=true,
then you can use Perl-compatible regular expressions to match
Not Enforced URLs instead. (Do not mix settings; use either the mechanism
described above or Perl-compatible regular expressions, but not both.)
The following example shows settings where no authentication is
required for URLs whose path ends /publicA or
/publicB (with or without query string parameters),
and no authentication is required to access .png, .jpg, .gif, .js, or .css
files under URLs that do not contain /protectedA/
or /protectedB/.
com.forgerock.agents.notenforced.url.regex.enable=true com.sun.identity.agents.config.notenforced.url[0]= \ .*/(PublicServletA|PublicServletB)(\?.*|$) com.sun.identity.agents.config.notenforced.url[1]= \ ^(?!.*(/protectedA/|/protectedB/)).*\.(png|jpg|gif|js|css)(\?.*|$)
com.sun.identity.agents.config.notification.enableIf enabled, the agent receives policy updates from the OpenAM notification mechanism to maintain its internal cache. If disabled, the agent must poll OpenAM for changes.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Enable
Notifications.
com.sun.identity.agents.config.override.hostEnable if the agent is sitting behind a SSL/TLS off-loader,
load balancer, or proxy such that the host name users use is different
from the host name the agent uses. When enabled, the host is overridden
with the value from the Agent Deployment URI Prefix (property:
com.sun.identity.agents.config.agenturi.prefix).
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Override
Request URL Host.
com.sun.identity.agents.config.override.notification.urlEnable if the agent is sitting behind a SSL/TLS off-loader,
load balancer, or proxy such that the URL users use is different
from the URL the agent uses. When enabled, the URL is overridden
with the value from the Agent Deployment URI Prefix (property:
com.sun.identity.agents.config.agenturi.prefix).
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Override
Notification URL.
com.sun.identity.agents.config.override.portEnable if the agent is sitting behind a SSL/TLS off-loader,
load balancer, or proxy such that the port users use is different
from the port the agent uses. When enabled, the port is overridden
with the value from the Agent Deployment URI Prefix (property:
com.sun.identity.agents.config.agenturi.prefix).
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Override
Request URL Port.
com.sun.identity.agents.config.override.protocolEnable if the agent is sitting behind a SSL/TLS off-loader,
load balancer, or proxy such that the protocol users use is different
from the protocol the agent uses. When enabled, the protocol is overridden
with the value from the Agent Deployment URI Prefix (property:
com.sun.identity.agents.config.agenturi.prefix).
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Override
Request URL Protocol.
com.sun.identity.agents.config.policy.cache.polling.intervalPolling interval in minutes during which an entry remains valid after being added to the agent's cache.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
Policy Cache Polling Period.
com.sun.identity.agents.config.policy.clock.skewTime in seconds used adjust time difference between agent system and OpenAM. Clock skew in seconds = AgentTime - OpenAMServerTime.
Use this property to adjust for small time differences encountered despite use of a time synchronization service. When this property is not set and agent time is greater than OpenAM server time, the agent can make policy calls to the OpenAM server before the policy subject cache has expired, or you can see infinite redirection occur.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
Policy Clock Skew.
com.sun.identity.agents.config.poll.primary.serverInterval in minutes, agent polls to check the primary server is up and running. Default: 5.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
Polling Period for Primary Server.
com.sun.identity.agents.config.polling.intervalInterval in minutes to fetch agent configuration from OpenAM. Used if notifications are disabled. Default: 60.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global >
Configuration Reload Interval.
com.sun.identity.agents.config.postcache.entry.lifetimePOST cache entry lifetime in minutes. Default: 10.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > POST
Data Entries Cache Period.
com.sun.identity.agents.config.postdata.preserve.enableEnables HTTP POST data preservation. This feature is available in the Apache 2.2, Microsoft IIS 6, Microsoft IIS 7, and Sun Java System Web Server web policy agents as of version 3.0.3.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > POST
Data Preservation.
com.sun.identity.agents.config.postdata.preserve.lbcookieWhen HTTP POST data preservation is enabled, override properties are set to true, and the agent is behind a load balancer, then this property sets the name and value of the sticky cookie to use.
com.sun.identity.agents.config.postdata.preserve.stickysession.modeSpecifies whether to create a cookie, or to append a query string to the URL to assist with sticky load balancing.
com.sun.identity.agents.config.postdata.preserve.stickysession.valueSpecifies the key-value pair for stickysession mode. For example,
a setting of lb=myserver either sets an
lb cookie with myserver value, or
adds lb=myserver to the URL query string.
com.sun.identity.agents.config.profile.attribute.cookie.maxageMaximum age in seconds of custom cookie headers. Default: 300.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
Profile Attributes Cookie Maxage.
com.sun.identity.agents.config.profile.attribute.cookie.prefixSets cookie prefix in the attributes headers. Default:
HTTP_.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
Profile Attributes Cookie Maxage.
com.sun.identity.agents.config.profile.attribute.fetch.modeWhen set to HTTP_COOKIE or
HTTP_HEADER, profile attributes are introduced into
the cookie or the headers, respectively.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Profile Attribute Fetch Mode.
com.sun.identity.agents.config.profile.attribute.mappingMaps the profile attributes to HTTP headers for the currently authenticated user. Map Keys are LDAP attribute names, and Map Values are HTTP header names.
To populate the value of profile attribute CN under
CUSTOM-Common-Name: enter CN in the Map Key field,
and enter CUSTOM-Common-Name in the Corresponding
Map Value field. This corresponds to
com.sun.identity.agents.config.profile.attribute.mapping[cn]=CUSTOM-Common-Name.
In most cases, in a destination application where an HTTP header
name shows up as a request header, it is prefixed by
HTTP_, lower case letters become upper case, and
hyphens (-) become underscores (_).
For example, common-name becomes
HTTP_COMMON_NAME.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Profile Attribute Map.
com.sun.identity.agents.config.proxy.override.host.portWhen enabled ignore the host and port settings for Sun Java System Proxy.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Override
Proxy Server's Host and Port.
com.sun.identity.agents.config.redirect.paramProperty used only when CDSSO is enabled. Only change the default
value, goto when the login URL has a landing page
specified such as,
com.sun.identity.agents.config.cdsso.cdcservlet.url
= http://openam.example.com:8080/openam/cdcservlet?goto=
http://www.example.com/landing.jsp.
The agent uses this parameter to append the original request URL
to this cdcservlet URL. The landing page consumes this parameter to
redirect to the original URL.
As an example, if you set this value to goto2,
then the complete URL sent for authentication is
http://openam.example.com:8080/openam/cdcservlet?goto=
http://www.example.com/landing.jsp?goto2=http://www.example.com/original.jsp.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
Goto Parameter Name.
com.sun.identity.agents.config.remote.log.intervalPeriodic interval in minutes in which audit log messages are sent to the remote log file. Default: 5
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Remote
Audit Log Interval.
com.sun.identity.agents.config.remote.logfileName of file stored on OpenAM server that contains agent audit messages if log location is remote or all.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Remote
Log Filename.
com.sun.identity.agents.config.replaypasswd.keyDES key for decrypting the basic authentication password in the session for IIS.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced > Replay
Password Key.
com.sun.identity.agents.config.repository.locationWhether the agent's configuration is managed centrally through OpenAM
(centralized) or locally in the policy agent
configuration file (local).
Default: centralized
com.sun.identity.agents.config.response.attribute.fetch.modeWhen set to HTTP_COOKIE or
HTTP_HEADER, response attributes are introduced into
the cookie or the headers, respectively.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Response Attribute Fetch Mode.
com.sun.identity.agents.config.response.attribute.mappingMaps the policy response attributes to HTTP headers for the currently authenticated user. The response attribute is the attribute in the policy response to be fetched.
To populate the value of response attribute uid
under CUSTOM-User-Name: enter uid
in the Map Key field, and enter CUSTOM-User-Name in
the Corresponding Map Value field. This corresponds to
com.sun.identity.agents.config.response.attribute.mapping[uid]=Custom-User-Name.
In most cases, in a destination application where an HTTP header
name shows up as a request header, it is prefixed by
HTTP_, lower case letters become upper case, and
hyphens (-) become underscores (_).
For example, response-attr-one becomes
HTTP_RESPONSE_ATTR_ONE.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Response Attribute Map.
com.sun.identity.agents.config.session.attribute.fetch.modeWhen set to HTTP_COOKIE or
HTTP_HEADER, session attributes are introduced into the
cookie or the headers, respectively.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Session Attribute Fetch Mode.
com.sun.identity.agents.config.session.attribute.mappingMaps session attributes to HTTP headers for the currently authenticated user. The session attribute is the attribute in the session to be fetched.
To populate the value of session attribute
UserToken under CUSTOM-userid:
enter UserToken in the Map Key field, and enter
CUSTOM-userid in
the Corresponding Map Value field. This corresponds to
com.sun.identity.agents.config.session.attribute.mapping[UserToken] =CUSTOM-userid.
In most cases, in a destination application where an HTTP header
name shows up as a request header, it is prefixed by
HTTP_, lower case letters become upper case, and
hyphens (-) become underscores (_).
For example, success-url becomes
HTTP_SUCCESS_URL.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Application >
Session Attribute Map.
com.sun.identity.agents.config.sso.cache.polling.intervalPolling interval in minutes during which an SSO entry remains valid after being added to the agent's cache.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
SSO Cache Polling Period.
com.sun.identity.agents.config.sso.onlyWhen enabled, agent only enforces authentication (SSO), but no policies for authorization.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > SSO Only
Mode.
com.sun.identity.agents.config.url.comparison.case.ignoreWhen enabled, enforces case insensitivity in both policy and not enforced URL evaluation.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous >
URL Comparison Case Sensitivity Check.
com.sun.identity.agents.config.userid.paramAgent sets this value for User Id passed in the session from OpenAM to the REMOTE_USER server variable. Default: UserToken.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
User ID Parameter.
com.sun.identity.agents.config.userid.param.typeUser ID can be fetched from either SESSION and LDAP attributes.
Default: SESSION.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > OpenAM Services >
User ID Parameter Type.
com.sun.identity.client.notification.urlURL used by agent to register notification listeners.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
Web > Agent Name > Global > Agent
Notification URL.
com.sun.identity.cookie.httponlySet this property to true to mark
iPlanetDirectoryPro cookies as HTTPOnly, preventing
scripts and third-party programs from accessing the cookies.
Java EE Agents use the following configuration properties. Bootstrap properties are always configured locally, whereas other agent configuration properties are either configured centrally in OpenAM or locally using the agent properties file.
These properties are set in
config/OpenSSOAgentBootstrap.properties.
am.encryption.pwdWhen using an encrypted password, set this to the encryption key used to encrypt the agent profile password.
com.iplanet.am.naming.urlSet this to the naming service URL(s) used for naming lookups in OpenAM. Separate multiple URLs with single space characters.
com.iplanet.am.service.secretWhen using a plain text password, set this to the password for
the agent profile, and leave am.encryption.pwd
blank.
When using an encrypted password, set this to the encrypted version
of the password for the agent profile. Use the command
./agentadmin --encrypt agentInstance
passwordFile to get the encrypted
version.
com.iplanet.am.services.deploymentDescriptorSet this to the URI under which OpenAM is deployed, such as
/openam.
com.iplanet.services.debug.directorySet this to the full path of the agent's debug log directory where the agent writes debug log files.
com.sun.identity.agents.app.usernameSet this to the agent profile name.
com.sun.identity.agents.config.local.logfileSet this to the full path for agent's audit log file.
com.sun.identity.agents.config.lock.enableSet this to true to require an agent restart to
allow agent configuration changes, even for hot-swappable parameters.
Default is false.
com.sun.identity.agents.config.organization.nameSet this to the realm name where the agent authenticates to OpenAM.
com.sun.identity.agents.config.profilenameSet this to the profile name used to fetch agent configuration data.
Unless multiple agents use the same credentials to authenticate, this is
the same as com.sun.identity.agents.app.username.
com.sun.identity.agents.config.service.resolverSet this to the class name of the service resolver used by the agent.
com.sun.services.debug.mergeallWhen set to on, the default, the agent writes all
debug messages to a single file under
com.iplanet.services.debug.directory.
These properties are set in
config/OpenSSOAgentConfiguration.properties if your
agent uses local configuration. If your agent uses centralized configuration,
the properties are set in OpenAM.
com.iplanet.am.cookie.nameName of the SSO Token cookie used between the OpenAM server and
the agent. Default: iPlanetDirectoryPro.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global > Cookie
Name.
com.iplanet.am.sdk.remote.pollingTimeIf notifications are not enabled and set to a value other than zero, specifies the time in minutes after which the agent polls to update cached user management data. Default: 1
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
User Data Cache Polling Time.
com.iplanet.am.server.hostSpecifies the OpenAM authentication service host name.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
OpenAM Authentication Service Host Name.
com.iplanet.am.server.portSpecifies the OpenAM authentication service port number.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
OpenAM Authentication Service Port.
com.iplanet.am.server.protocolSpecifies the protocol used by the OpenAM authentication service.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
OpenAM Authentication Service Protocol.
com.iplanet.am.session.client.polling.enableWhen enabled, the session client polls to update the session cache rather than relying on notifications from OpenAM.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Enable Client Polling.
com.iplanet.am.session.client.polling.periodSpecifies the time in seconds after which the session client requests an update from OpenAM for cached session information. Default: 180
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Client Polling Period.
com.iplanet.security.encryptorSpecifies the agent's encryption provider class.
Default: com.iplanet.services.util.JCEEncryption
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous >
Encryption Provider.
com.iplanet.services.debug.levelDefault is Error. Increase to
Message or even All for
fine-grained detail.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global > Agent
Debug Level.
com.sun.identity.agents.config.access.denied.uriSpecifies the URIs of custom pages to return when access is denied. The key is the web application name. The value is the custom URI.
To set a global custom access denied URI for applications without
other custom access denied URIs defined, leave the key empty and set the
value to the global custom access denied URI,
/sample/accessdenied.html.
To set a custom access denied URI for a specific application, set
the key to the name of the application, and the value to the application
access denied URI, such as /myApp/accessdenied.html.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Resource Access Denied URI.
com.sun.identity.agents.config.agent.hostSpecifies the host name of the agent protected server to show to client browsers, rather than the actual host name.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Alternative Agent Host Name.
com.sun.identity.agents.config.agent.portSpecifies the port number of the agent protected server to show to client browsers, rather than the actual port number.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Alternative Agent Port Name.
com.sun.identity.agents.config.agent.protocolSpecifies the protocol used to contact the agent from the browser
client browsers, rather than the actual protocol used by the server.
Either http or https.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Alternative Agent Protocol.
com.sun.identity.agents.config.amsso.cache.enableWhen enabled, the agent exposes SSO Cache through the agent SDK APIs.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO > SSO Cache
Enable.
com.sun.identity.agents.config.attribute.cookie.encodeWhen enabled, attribute values are URL encoded before being set as a cookie.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Attribute Cookie Encode.
com.sun.identity.agents.config.attribute.cookie.separatorSpecifies the separator for multiple values of the same attribute
when it is set as a cookie. Default: |.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Cookie Separator Character.
com.sun.identity.agents.config.attribute.date.formatSpecifies the java.text.SimpleDateFormat of date
attribute values used when an attribute is set in an HTTP header. Default:
EEE, d MMM yyyy hh:mm:ss z.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Fetch Attribute Date Format.
com.sun.identity.agents.config.audit.accesstypeTypes of messages to log based on user URL access attempts.
Valid values for the configuration file property include
LOG_NONE, LOG_ALLOW,
LOG_DENY, and LOG_BOTH.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global > Audit
Access Types.
com.sun.identity.agents.config.auth.handlerSpecifies custom authentication handler classes for users authenticated with the application server. The key is the web application name and the value is the authentication handler class name.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Custom Authentication Handler.
com.sun.identity.agents.config.bypass.principalSpecifies a list of principals the agent bypasses for
authentication and search purposes, such as guest
or testuser.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous >
Bypass Principal List.
com.sun.identity.agents.config.cdsso.cdcservlet.urlList of URLs of the available CDSSO controllers that the agent can
use for CDSSO processing. For example,
http://openam.example.com:8080/openam/cdcservelet.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO > CDSSO
Servlet URL.
com.sun.identity.agents.config.cdsso.clock.skewWhen set to a value other than zero, specifies the clock skew in seconds that the agent accepts when determining the validity of the CDSSO authentication response assertion.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO > CDSSO Clock
Skew.
com.sun.identity.agents.config.cdsso.domainList of domains, such as .example.com, in which
cookies have to be set in CDSSO.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO > Cross Domain
SSO.
com.sun.identity.agents.config.cdsso.enableEnables Cross Domain Single Sign On.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO > Cross Domain
SSO.
com.sun.identity.agents.config.cdsso.redirect.uriSpecifies a URI the agent uses to process CDSSO requests.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO > CDSSO
Redirect URI.
com.sun.identity.agents.config.cdsso.secure.enableWhen enabled, the agent marks the SSO Token cookie as secure, thus the cookie is only transmitted over secure connections.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO > Cross Domain
SSO.
com.sun.identity.agents.config.cdsso.trusted.id.providerSpecifies the list of OpenAM servers or identity providers the agent trusts when evaluating CDC Liberty Responses.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO > CDSSO
Trusted ID Provider.
com.sun.identity.agents.config.change.notification.enableEnable agent to receive notification messages from OpenAM server for configuration changes.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global >
Profile.
com.sun.identity.agents.config.client.hostname.headerIf the agent is behind a proxy or load balancer, then the agent can get client IP and host name values from the proxy or load balancer. For proxies and load balancer that support providing the client IP and host name in HTTP headers, you can use the following properties.
When multiple proxies are load balancers sit in the request path,
the header values can include a comma-separated list of values with the
first value representing the client, as in
client,next-proxy,first-proxy.
HTTP header name that holds the hostname of the client.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced > Client
Hostname Header.
com.sun.identity.agents.config.client.ip.headerSimilar to
com.sun.identity.agents.config.client.hostname.header,
HTTP header name that holds the IP address of the client.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced > Client
IP Address Header.
com.sun.identity.agents.config.conditional.login.urlTo conditionally redirect users based on the incoming request URL, set this property.
This takes the incoming request domain to match, a vertical bar
( | ), and then a comma-separated list of URLs to
which to redirect incoming users.
If the domain before the vertical bar matches an incoming request
URL, then the policy agent uses the list of URLs to determine how to
redirect the user-agent. If the global property FQDN Check
(com.sun.identity.agents.config.fqdn.check.enable)
is enabled for the policy agent, then the policy agent iterates through
the list until it finds an appropriate redirect URL that matches the
FQDN check. Otherwise, the policy agent redirects the user-agent to the
first URL in the list.
Examples: com.sun.identity.agents.config.conditional.login.url[0]=
login.example.com|http://openam1.example.com/openam/UI/Login,
http://openam2.example.com/openam/UI/Login,
com.sun.identity.agents.config.conditional.login.url[1]=
signin.example.com|http://openam3.example.com/openam/UI/Login,
http://openam4.example.com/openam/UI/Login
com.sun.identity.agents.config.cookie.reset.domainSpecifies how names from
com.sun.identity.agents.config.cookie.reset.name
correspond to cookie domain values when the cookie is reset.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO > Cookie Reset
Domain Map.
com.sun.identity.agents.config.cookie.reset.enableWhen enabled, agent resets cookies in the response before redirecting to authentication.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO > Cookie Reset.
com.sun.identity.agents.config.cookie.reset.nameList of cookies to reset if
com.sun.identity.agents.config.cookie.reset.enable is
enabled.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO > Cookie Reset
Name List.
com.sun.identity.agents.config.cookie.reset.pathSpecifies how names from the
com.sun.identity.agents.config.cookie.reset.name
correspond to cookie paths when the cookie is reset.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO > Cookie Reset
Path Map.
com.sun.identity.agents.config.default.privileged.attributeSpecifies the list of privileged attributes granted to all users
with a valid OpenAM session, such as
AUTHENTICATED_USERS.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Default Privileged Attribute.
com.sun.identity.agents.config.filter.modeSpecifies how the agent filters requests to protected web applications. The global value functions as a default, and applies for protected applications that do not have their own filter settings. Valid settings include the following.
ALLEnforce both the J2EE policy defined for the web container where the protected application runs, and also OpenAM policies.
When setting the filter mode to ALL, set the
Map Key, but do not set any Corresponding Map Value.
J2EE_POLICYEnforce only the J2EE policy defined for the web container where the protected application runs.
NONEDo not enforce policies to protect resources. In other words, turn off access management. Not for use in production.
SSO_ONLYEnforce only authentication, not policies.
URL_POLICYEnforce only OpenAM, URL resource based policies.
When setting the filter mode to URL_POLICY,
set the Map Key to the application name and the Corresponding Map
Value to URL_POLICY.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global > Agent
Filter Mode.
com.sun.identity.agents.config.fqdn.check.enableEnables checking of FQDN default value and FQDN map values.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global > FQDN
Check.
com.sun.identity.agents.config.fqdn.defaultFully qualified domain name that the users should use in order to access resources.
This property ensures that when users access protected resources on the web server without specifying the FQDN, the agent can redirect the users to URLs containing the correct FQDN.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global > FQDN
Default.
com.sun.identity.agents.config.fqdn.mappingEnables virtual hosts, partial hostname and IP address to access protected resources. Maps invalid or virtual name keys to valid FQDN values so the agent can properly redirect users and the agents receive cookies belonging to the domain.
To map myserver to
myserver.mydomain.example, enter
myserver in the Map Key field, and enter
myserver.mydomain.example in the Corresponding Map Value
field. This corresponds to
com.sun.identity.agents.config.fqdn.mapping[myserver]= myserver.mydomain.example.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global > FQDN
Virtual Host Map.
com.sun.identity.agents.config.httpsession.bindingWhen enabled the agent invalidates the HTTP session upon login failure, when the user has no SSO session, or when the principal user name does not match the SSO user name.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global > HTTP
Session Binding.
com.sun.identity.agents.config.ignore.path.infoWhen enabled, strip path info from the request URL while doing the Not Enforced List check, and URL policy evaluation. This is designed to prevent a user from accessing a URI by appending the matching pattern in the policy or not enforced list.
For example, if the not enforced list includes
/*.gif, then stripping path info from the request URL
prevents access to http://host/index.html by using
http://host/index.html?hack.gif.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous >
Ignore Path Info in Request URL.
com.sun.identity.agents.config.jboss.webauth.availableWhen enabled, allow programmatic authentication with the JBoss
container using the WebAuthentication feature. This feature works only with
JBoss 4.2.2 to 7 when the J2EE_POLICY or
ALL filter mode is in use.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
JBoss Application Server.
com.sun.identity.agents.config.legacy.redirect.uriSpecifies a URI the agent uses to redirect legacy user agent requests.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous >
Legacy User Agent Redirect URI.
com.sun.identity.agents.config.legacy.support.enableWhen enabled, provide support for legacy browsers.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous >
Legacy User Agent Support Enable.
com.sun.identity.agents.config.legacy.user.agentList of header values that identify legacy browsers. Entries can
use the wildcard character, *.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous >
Legacy User Agent List.
com.sun.identity.agents.config.load.intervalInterval in seconds to fetch agent configuration from OpenAM. Used if notifications are disabled. Default: 0
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global >
Configuration Reload Interval.
com.sun.identity.agents.config.local.log.rotateWhen enabled, audit log files are rotated when reaching the specified size.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global >
Rotate Local Audit Log.
com.sun.identity.agents.config.local.log.sizeBeyond this size limit in bytes the agent rotates the local audit log file if rotation is enabled. Default: 50 MB
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global >
Local Audit Log Rotation Size.
com.sun.identity.agents.config.locale.countryThe default country for the agent.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous >
Locale Country.
com.sun.identity.agents.config.locale.languageThe default language for the agent.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous >
Locale Language.
com.sun.identity.agents.config.log.dispositionSpecifies where audit messages are logged. By default, audit messages are logged remotely.
Valid values for the configuration file property include
REMOTE, LOCAL, and
ALL.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global > Audit
Log Location.
com.sun.identity.agents.config.login.attempt.limitWhen set to a value other than zero, this defines the maximum number of failed login attempts allowed during a single browser session, after which the agent blocks requests from the user.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global > Login
Attempt Limit.
com.sun.identity.agents.config.login.content.fileFull path name to the file containing custom login content when Use Internal Login is enabled.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Login Content File Name.
com.sun.identity.agents.config.login.error.uriSpecifies the list of absolute URIs corresponding to a protected
application's web.xml
form-error-page element, such as
/myApp/jsp/error.jsp.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Login Error URI.
com.sun.identity.agents.config.login.formSpecifies the list of absolute URIs corresponding to a protected
application's web.xml
form-login-page element, such as
/myApp/jsp/login.jsp.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Login Form URI.
com.sun.identity.agents.config.login.url.prioritizedWhen enabled, OpenAM uses the priority defined in the OpenAM Login URL list as the priority for Login and CDSSO URLs when handling failover.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Login URL Prioritized.
com.sun.identity.agents.config.login.url.probe.enabledWhen enabled, OpenAM checks the availability of OpenAM Login URLs before redirecting to them.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Login URL Probe.
com.sun.identity.agents.config.login.url.probe.timeoutTimeout period in milliseconds for OpenAM to determine whether to failover between Login URLs when Login URL Probe is enabled. Default: 2000
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Login URL Probe Timeout.
com.sun.identity.agents.config.login.urlOpenAM login page URL, such as
http://openam.example.com:8080/openam/UI/Login, to
which the agent redirects incoming users without sufficient credentials
so then can authenticate.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
OpenAM Login URL.
com.sun.identity.agents.config.login.use.internalWhen enabled, the agent uses the internal default content file for the login.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Use Internal Login.
com.sun.identity.agents.config.logout.application.handlerSpecifies how logout handlers map to specific applications. The key is the web application name. The value is the logout handler class.
To set a global logout handler for applications without other
logout handlers defined, leave the key empty and set the value to the
global logout handler class name,
GlobalApplicationLogoutHandler.
To set a logout handler for a specific application, set the key to the name of the application, and the value to the logout handler class name.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Application Logout Handler.
com.sun.identity.agents.config.logout.entry.uriSpecifies the URIs to return after successful logout and subsequent authentication. The key is the web application name. The value is the URI to return.
To set a global logout entry URI for applications without other
logout entry URIs defined, leave the key empty and set the value to the
global logout entry URI, /welcome.html.
To set a logout entry URI for a specific application, set the key
to the name of the application, and the value to the application
logout entry URI, such as /myApp/welcome.html.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Logout Entry URI.
com.sun.identity.agents.config.logout.handlerSpecifies custom logout handler classes to log users out of the application server. The key is the web application name and the value is the logout handler class name.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Custom Logout Handler.
com.sun.identity.agents.config.logout.introspect.enabledWhen enabled, the agent checks the HTTP request body to locate the Logout Request Parameter you set.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Logout Introspect Enabled.
com.sun.identity.agents.config.logout.request.paramSpecifies parameters in the HTTP request that indicate logout events. The key is the web application name. The value is the logout request parameter.
To set a global logout request parameter for applications without
other logout request parameters defined, leave the key empty and set the
value to the global logout request parameter,
logoutparam.
To set a logout request parameter for a specific application, set
the key to the name of the application, and the value to the application
logout request parameter, such as logoutparam.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Logout Request Parameter.
com.sun.identity.agents.config.logout.uriSpecifies request URIs that indicate logout events. The key is the web application name. The value is the application logout URI.
To set a global logout URI for applications without other logout
URIs defined, leave the key empty and set the value to the global logout
URI, /logout.jsp.
To set a logout URI for a specific application, set the key to the name of the application, and the value to the application logout page.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Application Logout URI.
com.sun.identity.agents.config.logout.url.prioritizedWhen enabled, OpenAM uses the priority defined in the OpenAM Logout URL list as the priority for Logout URLs when handling failover.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Logout URL Prioritized.
com.sun.identity.agents.config.logout.url.probe.enabledWhen enabled, OpenAM checks the availability of OpenAM Logout URLs before redirecting to them.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Logout URL Probe.
com.sun.identity.agents.config.logout.url.probe.timeoutTimeout period in milliseconds for OpenAM to determine whether to failover between Logout URLs when Logout URL Probe is enabled. Default: 2000
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Logout URL Probe Timeout.
com.sun.identity.agents.config.logout.urlOpenAM logout page URLs, such as
http://openam.example.com:8080/openam/UI/Logout. The
user is logged out of the OpenAM session when accessing these URLs.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
OpenAM Logout URL.
com.sun.identity.agents.config.notenforced.ip.cache.enableWhen enabled, the agent caches evaluation of the not enforced IP list.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Not Enforced IP Cache Flag.
com.sun.identity.agents.config.notenforced.ip.cache.sizeWhen caching is enabled, this limits the number of not enforced addresses cached. Default: 1000
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Not Enforced IP Cache Size.
com.sun.identity.agents.config.notenforced.ip.invertOnly enforce the not enforced list of IP addresses. In other words, enforce policy only for those client addresses and patterns specified in the list.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Not Enforced IP Invert List.
com.sun.identity.agents.config.notenforced.ipNo authentication and authorization are required for the requests coming from these client IP addresses.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Not Enforced Client IP List.
com.sun.identity.agents.config.notenforced.refresh.session.idletimeWhen enabled, the agent reset the session idle time when granting access to a not enforced URI, prolonging the time before the user must authenticate again.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Refresh Session Idle Time.
com.sun.identity.agents.config.notenforced.uri.cache.enableWhen enabled, the agent caches evaluation of the not enforced URI list.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Not Enforced URIs Cache Enabled.
com.sun.identity.agents.config.notenforced.uri.cache.sizeWhen caching is enabled, this limits the number of not enforced URIs cached.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Not Enforced URIs Cache Size.
com.sun.identity.agents.config.notenforced.uri.invertOnly enforce not enforced list of URIs. In other words, enforce policy only for those URIs and patterns specified in the list.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Invert Not Enforced URIs.
com.sun.identity.agents.config.notenforced.uriList of URIs for which no authentication is required, and the agent does not protect access. You can use wildcards to define a pattern for a URI.
The * wildcard matches all characters except
question mark (?), cannot be escaped, and spans
multiple levels in a URI. Multiple forward slashes do not match a
single forward slash, so * matches
mult/iple/dirs, yet mult/*/dirs
does not match mult/dirs.
The -*- wildcard matches all characters except
forward slash (/) or question mark
(?), and cannot be escaped. As it does not match
/, -*- does not span multiple
levels in a URI.
OpenAM does not let you mix * and
-*- in the same URI.
Examples include /logout.html,
/images/*, /css/-*-, and
/*.jsp?locale=*.
Trailing forward slashes are not recognized as part of a resource
name. Therefore /images// and
/images are equivalent.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Not Enforced URIs.
com.sun.identity.agents.config.policy.advice.use.redirectWhen enabled, the remote policy client is configured to use HTTP-Redirect instead of HTTP-POST for composite advice.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Policy Client Service.
com.sun.identity.agents.config.policy.env.get.paramSpecifies the list of HTTP GET request parameters whose names and values the agents sets in the environment map for URL policy evaluation by the OpenAM server.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
URL Policy Env GET Parameters.
com.sun.identity.agents.config.policy.env.jsession.paramSpecifies the list of HTTP session attributes whose names and values the agents sets in the environment map for URL policy evaluation by the OpenAM server.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
URL Policy Env jsession Parameters.
com.sun.identity.agents.config.policy.env.post.paramSpecifies the list of HTTP POST request parameters whose names and values the agents sets in the environment map for URL policy evaluation by the OpenAM server.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
URL Policy Env POST Parameters.
com.sun.identity.agents.config.port.check.enableWhen enabled, activate port checking, correcting requests on the wrong port.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous >
Port Check Enable.
com.sun.identity.agents.config.port.check.fileSpecifies the name of the file containing the content to handle requests on the wrong port when port checking is enabled.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous >
Port Check File.
com.sun.identity.agents.config.port.check.settingSpecifies which ports correspond to which protocols. The agent uses the map when handling requests with invalid port numbers during port checking.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous >
Port Check Setting.
com.sun.identity.agents.config.postdata.preserve.cache.entry.ttlPOST data storage lifetime in milliseconds. Default: 300000.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Post Data Preservation.
com.sun.identity.agents.config.postdata.preserve.cache.noentry.urlSpecifies a list of application-specific URIs if the referenced Post Data Preservation entry cannot be found in the local cache because it has exceeded its POST entry TTL. Either the agent redirects to a URI in this list, or it shows an HTTP 403 Forbidden error.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Post Data Preservation.
com.sun.identity.agents.config.postdata.preserve.enableEnables HTTP POST data preservation, storing POST data before redirecting the browser to the login screen, and then autosubmitting the same POST after successful authentication to the original URL.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Post Data Preservation.
com.sun.identity.agents.config.postdata.preserve.stickysession.modeSpecifies whether to create a cookie, or to append a query string to the URL to assist with sticky load balancing.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Post Data Preservation.
com.sun.identity.agents.config.postdata.preserve.stickysession.valueSpecifies the key-value pair for stickysession mode. For example,
a setting of lb=myserver either sets an
lb cookie with myserver value, or
adds lb=myserver to the URL query string.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Post Data Preservation.
com.sun.identity.agents.config.privileged.attribute.mapping.enableWhen enabled, lets you use Privileged Attribute Mapping.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Enable Privileged Attribute Mapping.
com.sun.identity.agents.config.privileged.attribute.mappingMaps OpenAM UUIDs to principal names specified in your web
application's deployment descriptor, such as
com.sun.identity.agents.config.privileged.attribute.mapping
[id\=manager,ou\=group,o\=openam] = am_manager_role
or com.sun.identity.agents.config.privileged.attribute.mapping
[id\=employee,ou\=group,o\=openam] = am_employee_role
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
0Privileged Attribute Mapping.
com.sun.identity.agents.config.privileged.attribute.tolowercaseSpecifies how privileged attribute types should be converted to lower case.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Privileged Attributes To Lower Case.
com.sun.identity.agents.config.privileged.attribute.typeSpecifies the list of privileged attribute types fetched for each user.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Privileged Attribute Type.
com.sun.identity.agents.config.privileged.session.attributeSpecifies the list of session property names, such as
UserToken which hold privileged attributes for
authenticated users.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Privileged Session Attribute.
com.sun.identity.agents.config.profile.attribute.fetch.modeWhen set to HTTP_COOKIE or
HTTP_HEADER, profile attributes are introduced into
the cookie or the headers, respectively.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Profile Attribute Fetch Mode.
com.sun.identity.agents.config.profile.attribute.mappingMaps the profile attributes to HTTP headers for the currently authenticated user. Map Keys are LDAP attribute names, and Map Values are HTTP header names.
To populate the value of profile attribute CN under
CUSTOM-Common-Name: enter CN in the Map Key field,
and enter CUSTOM-Common-Name in the Corresponding
Map Value field. This corresponds to
com.sun.identity.agents.config.profile.attribute.mapping[cn]=CUSTOM-Common-Name.
In most cases, in a destination application where an HTTP header
name shows up as a request header, it is prefixed by
HTTP_, lower case letters become upper case, and
hyphens (-) become underscores (_).
For example, common-name becomes
HTTP_COMMON_NAME.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Profile Attribute Mapping.
com.sun.identity.agents.config.redirect.attempt.limitWhen set to a value other than zero, this defines the maximum number of redirects allowed for a single browser session, after which the agent blocks the request.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global >
Redirect Attempt Limit.
com.sun.identity.agents.config.redirect.paramProperty used only when CDSSO is enabled. Only change the default
value, goto when the login URL has a landing page
specified such as,
com.sun.identity.agents.config.cdsso.cdcservlet.url
= http://openam.example.com:8080/openam/cdcservlet?goto=
http://www.example.com/landing.jsp.
The agent uses this parameter to append the original request URL
to this cdcserlet URL. The landing page consumes this parameter to
redirect to the original URL.
As an example, if you set this value to goto2,
then the complete URL sent for authentication is
http://openam.example.com:8080/openam/cdcservlet?goto=
http://www.example.com/landing.jsp?goto2=http://www.example.com/original.jsp.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous >
Goto Parameter Name.
com.sun.identity.agents.config.remote.logfileName of file stored on OpenAM server that contains agent audit messages if log location is remote or all.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global >
Remote Log Filename.
com.sun.identity.agents.config.repository.locationWhether the agent's configuration is managed centrally through OpenAM
(centralized) or locally in the policy agent
configuration file (local).
Default: centralized
com.sun.identity.agents.config.response.attribute.fetch.modeWhen set to HTTP_COOKIE or
HTTP_HEADER, response attributes are introduced into
the cookie or the headers, respectively. When set to
REQUEST_ATTRIBUTE, response attributes are part
of the HTTP response.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Response Attribute Fetch Mode.
com.sun.identity.agents.config.response.attribute.mappingMaps the policy response attributes to HTTP headers for the currently authenticated user. The response attribute is the attribute in the policy response to be fetched.
To populate the value of response attribute uid
under CUSTOM-User-Name: enter uid
in the Map Key field, and enter CUSTOM-User-Name in
the Corresponding Map Value field. This corresponds to
com.sun.identity.agents.config.response.attribute.mapping[uid]=Custom-User-Name.
In most cases, in a destination application where an HTTP header
name shows up as a request header, it is prefixed by
HTTP_, lower case letters become upper case, and
hyphens (-) become underscores (_).
For example, response-attr-one becomes
HTTP_RESPONSE_ATTR_ONE.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Response Attribute Map.
com.sun.identity.agents.config.response.headerSpecifies the custom headers the agent sets for the client. The key is the header name. The value is the header value.
For example,
com.sun.identity.agents.config.response.header[Cache-Control]=no-cache.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global >
Custom Response Header.
com.sun.identity.agents.config.session.attribute.fetch.modeWhen set to HTTP_COOKIE or
HTTP_HEADER, session attributes are introduced into the
cookie or the headers, respectively. When set to
REQUEST_ATTRIBUTE, session attributes are part
of the HTTP response.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Session Attribute Fetch Mode.
com.sun.identity.agents.config.session.attribute.mappingMaps session attributes to HTTP headers for the currently authenticated user. The session attribute is the attribute in the session to be fetched.
To populate the value of session attribute
UserToken under CUSTOM-userid:
enter UserToken in the Map Key field, and enter
CUSTOM-userid in
the Corresponding Map Value field. This corresponds to
com.sun.identity.agents.config.session.attribute.mapping[UserToken]=CUSTOM-userid.
In most cases, in a destination application where an HTTP header
name shows up as a request header, it is prefixed by
HTTP_, lower case letters become upper case, and
hyphens (-) become underscores (_).
For example, success-url becomes
HTTP_SUCCESS_URL.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Session Attribute Map.
com.sun.identity.agents.config.user.attribute.nameSpecifies the data store attribute that contains the user ID.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global >
User Attribute Name.
com.sun.identity.agents.config.user.mapping.modeSpecifies the mechanism used to determine the user ID.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global >
User Mapping Mode.
com.sun.identity.agents.config.user.principalWhen enabled, OpenAM uses both the principal user name and also the user ID for authentication.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global >
User Principal Flag.
com.sun.identity.agents.config.user.tokenSpecifies the session property name for the authenticated user's
ID. Default: UserToken.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global >
User Token Name.
com.sun.identity.agents.config.verification.handlerSpecifies custom verification classes to validate user credentials with the local user repository. The key is the web application name and the value is the validation handler class name.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application >
Custom Verification Handler.
com.sun.identity.agents.config.webservice.authenticatorSpecifies an implementation class of interface
com.sun.identity.agents.filter.IWebServiceAuthenticator
that can be used to authenticate web-service requests.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Web Service Authenticator.
com.sun.identity.agents.config.webservice.autherror.contentSpecifies a file the agent uses to generate an authorization error fault for the client application.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Web Service Authorization Error Content File.
com.sun.identity.agents.config.webservice.enableEnable web service processing.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Web Service Enable.
com.sun.identity.agents.config.webservice.endpointSpecifies a list of web application end points that represent web services.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Web Service End Points.
com.sun.identity.agents.config.webservice.internalerror.contentSpecifies a file the agent uses to generate an internal error fault for the client application.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Web Service Internal Error Content File.
com.sun.identity.agents.config.webservice.process.get.enableWhen enabled, the agent processes HTTP GET requests for web service endpoints.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Web Service Process GET Enable.
com.sun.identity.agents.config.webservice.responseprocessorSpecifies a class implementing
com.sun.identity.agents.filter.IWebServiceResponseProcessor,
used to process web service reponses.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Web Service Response Processor.
com.sun.identity.agents.config.xss.code.elementsSpecifies strings that, when found in the request, cause the agent to redirect the client to an error page.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Cross Site Scripting Detection.
com.sun.identity.agents.config.xss.redirect.uriMaps applications to URIs of customized pages to which to redirect clients upon detection of XSS code elements.
For example, to redirect clients of MyApp to
/myapp/error.html, use MyApp as the key and
/myapp/error.html as the corresponding value.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced >
Cross Site Scripting Detection.
com.sun.identity.agents.notification.enabledWhen enabled, OpenAM sends notification about changes to policy.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Enable Policy Notifications.
com.sun.identity.agents.polling.intervalSpecifies the time in minutes after which the policy cache is refreshed. Default: 3
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Policy Client Polling Interval.
com.sun.identity.client.notification.urlURL used by agent to register notification listeners.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global >
Agent Notification URL.
com.sun.identity.idm.remote.notification.enabledWhen enabled, receive notification from OpenAM to update user management data caches.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Enable Notification of User Data Caches.
com.sun.identity.policy.client.booleanActionValuesSpecifies the values, such as allow and
deny, that are associated with boolean policy
decisions.
Default: iPlanetAMWebAgentService|GET|allow|deny:iPlanetAMWebAgentService|POST|allow|deny
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Policy Client Boolean Action Values.
com.sun.identity.policy.client.cacheModeSet to cache mode subtree when only a small number of policy rules are defined. For large numbers of policy rules, set to self.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Policy Client Cache Mode.
com.sun.identity.policy.client.clockSkewTime in seconds used adjust time difference between agent system and OpenAM. Clock skew in seconds = AgentTime - OpenAMServerTime.
Default: 10.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Policy Client Clock Skew.
com.sun.identity.policy.client.resourceComparatorsSpecifies the comparators used for service names in policy.
Default: serviceType=iPlanetAMWebAgentService|
class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|
delimiter=/|caseSensitive=false
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Policy Client Resource Comparators.
com.sun.identity.sm.cacheTimeIf notifications are not enabled and set to a value other than zero, specifies the time in minutes after which the agent polls to update cached service configuration data. Default: 1
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Service Data Cache Time.
com.sun.identity.sm.notification.enabledWhen enabled, receive notification from OpenAM to update service configuration data caches.
For centralized configurations this property is configured under
Access Control > Realm Name > Agents >
J2EE > Agent Name > OpenAM Services >
Enable Notification of Service Data Caches.