You install policy agents in web servers and web application containers to enforce access policies OpenAM applies to protected web sites and web applications. Policy agents depend on OpenAM for all authentication and authorization decisions. Their primary responsibility consists in enforcing what OpenAM decides in a way that is unobtrusive to the user. In organizations with many servers, you might well install many policy agents.
Policy agents can have local configurations where they are installed, but usually you store all policy agent configuration information in the OpenAM configuration store, defining policy agent profiles for each, and then you let the policy agents access their profiles through OpenAM such that you manage all agent configuration changes centrally. This chapter describes how to set up policy agent profiles in OpenAM for centralized configuration.
OpenAM includes both the Identity Gateway and also a variety of policy agents. Both the Identity Gateway and also the policy agents enforce policy, redirecting users to authenticate when necessary, and controlling access to protected resources. Yet, the Identity Gateway runs as a self-contained reverse proxy located between the users and the protected applications. Policy agents are installed into the servers where applications run, intercepting requests in that context.
The Identity Gateway allows you to protect access to applications not suited for a policy agent. Not all web servers and Java EE applications have policy agents. Not all operating systems work with policy agents.
Policy agents have the advantage, where you can install them, of sitting within your existing server infrastructure. Once you have agents installed into the servers with web applications or sites to protect, then you can manage their configurations centrally from OpenAM.
Of course, for organizations with both servers where you can install policy agents and also applications that you must protect without touching the server, you can use policy agents on the former and the Identity Gateway for the latter.
When you open the OpenAM console to configure agents for the top level realm, you can choose from a number of different types of agents. Web and J2EE policy agents are the most common, requiring the least integration effort.
You install web agents in web servers to protect web sites.
You install J2EE agents in web application containers to protect web applications.
WSP agents are for use with Web Services Security.
WSC agents are for use with Web Services Security.
The Discovery Service agent has the trust authority configuration that OpenAM uses to communicate with a Liberty Discovery Service.
The Security Token Service client agent is for securing requests to the Security Token Service.
Version 2.2 web and J2EE policy agents hold their configuration locally, connecting to OpenAM with a user name, password combination. This kind of agent is provided for backwards compatibility.
OAuth 2.0 clients are registered using this type of policy agent profile.
The agent authenticator can read agent profiles by connecting to OpenAM with a user name, password combination, but unlike the agent profile administrator, cannot change agent configuration.
This section concerns creating agent profiles, and creating groups that let agents inherit settings when you have many agents with nearly the same profile settings.
To create a new web or J2EE policy agent profile, you need a name and password for the agent, and the URLs to OpenAM and the application to protect.
On the Access Control tab page of the OpenAM console, click the link for the realm in which you manage agents.
Click the Agents tab, click the tab page for the kind of agent you want to create, and then click the New... button in the Agent table.
Provide a name for the agent, and also the URLs to OpenAM and to the application to protect, then click Create.
After creating the agent profile, you can click the link to the new profile to adjust and export the configuration.
Agent profile groups let you set up multiple agents to inherit settings from the group. To create a new web or J2EE agent profile group, you need a name and the URL to the OpenAM server in which you store the profile.
On the Access Control tab page of the OpenAM console, click the link for the realm in which you manage agents.
Click the Agents tab, click the tab page for the kind of agent you want to create, and then click the New... button in the Group table.
After creating the group profile, you can click the link to the new group profile to fine-tune or export the configuration.
Inherit group settings by selecting your agent profile, and then selecting the group name in the Group drop-down list near the top of the profile page.
You can then adjust inheritance by clicking Inheritance Settings on the agent profile page.
You can create a policy agent profile in OpenAM using the ssoadm command-line tool. You do so by specifying the agent properties either as a list of attributes, or by using an agent properties file as shown below. Export an existing policy agent configuration before you start to see what properties you want to set when creating the agent profile.
The following procedure demonstrates creating a web policy agent profile using the ssoadm command.
Make sure the ssoadm command is installed as described in the Installation Guide procedure, To Set Up Administration Tools.
Determine the list of properties to set in the agent profile.
The following properties file shows a minimal configuration for a web policy agent profile.
$ cat myWebAgent.properties com.sun.identity.agents.config.agenturi.prefix=http://www.example.com:80/amagent com.sun.identity.agents.config.cdsso.cdcservlet.url[0]=https://openam.example.com:8443/openam/cdcservlet com.sun.identity.agents.config.fqdn.default=www.example.com com.sun.identity.agents.config.login.url[0]=http://openam.example.com:8443/openam/UI/Login com.sun.identity.agents.config.logout.url[0]=http://openam.example.com:8443/openam/UI/Logout com.sun.identity.agents.config.remote.logfile=amAgent_www_example_com_80.log com.sun.identity.agents.config.repository.location=centralized com.sun.identity.client.notification.url=http://www.example.com:80/UpdateAgentCacheServlet?shortcircuit=false com.sun.identity.client.notification.url=http://www.example.com:80/UpdateAgentCacheServlet?shortcircuit=false sunIdentityServerDeviceKeyValue[0]=agentRootURL=http://www.example.com:80/ sunIdentityServerDeviceStatus=Active userpassword=password
Set up a password file used when authenticating to OpenAM.
$ echo password > /tmp/pwd.txt $ chmod 400 /tmp/pwd.txt
Create the profile in OpenAM.
$ ssoadm create-agent --realm / --agentname myWebAgent --agenttype WebAgent --adminid amadmin --password-file /tmp/pwd.txt --datafile myWebAgent.properties Agent configuration was created.
At this point you can view the profile in OpenAM Console under
Access Control > Realm Name > Agents to make
sure the configuration is what you expect.
If you want to create policy agent profiles when installing policy agents, then you need the credentials of an OpenAM user who can read and write agent profiles.
You can use the OpenAM administrator account when creating policy agent profiles. If however you delegate policy agent installation, then you might not want to share OpenAM administrator credentials with everyone who installs policy agents.
Follow these steps to create agent administrator users for a realm.
In OpenAM console, browse to Access Control > Realm
Name > Subjects.
Under Group click New... and create a group for agent administrators.
Switch to the Privileges tab for the realm, and click the name of the group you created.
Select "Read and write access to all configured Agents," and then Save your work.
Return to the Subjects tab, and under User create as many agent administrator users as needed.
For each agent administrator user, edit the user profile.
Under the Group tab of the user profile, add the user to agent profile administrator group, and then Save your work.
Provide each system administrator who installs policy agents with their agent administrator credentials.
When installing the policy agent with the
--custom-install option, the system administrator can
choose the option to create the profile during installation, and then
provide the agent administrator user name and the path to a read-only
file containing the agent administrator password.
When you create a web policy agent profile and install the agent, you can choose to store the agent configuration centrally and configure the agent through OpenAM console. Alternatively, you can choose to store the agent configuration locally and configure the agent by changing values in the properties file. This section covers centralized configuration, indicating the corresponding properties for use in a local configuration file where applicable.[5]
To show the agent properties in configuration file format that correspond to what you see in the console, click Export Configuration after editing agent properties.
This corresponds to the local Java properties configuration file
that is set up when you install an agent, for example in
Agent_001/config/.
After changing properties specified as "Hot swap: no" you must restart the agent for the changes to take effect.
This section covers global web agent properties. After creating the
agent profile, you access these properties in the OpenAM console under
Access Control > Realm Name > Agents >
Web > Agent Name > Global.
For assigning the agent to a previously configured web agent group in order to inherit selected properties from the group.
Agent password used when creating the password file and when installing the agent.
Status of the agent configuration.
Indicates agent's configuration located either on agent's host or centrally on OpenAM server.
If you change this to a local configuration, you can no longer manage the policy agent configuration through OpenAM console.
Property: com.sun.identity.agents.config.repository.location
Enable agent to receive notification messages from OpenAM server for configuration changes.
Property: com.sun.identity.agents.config.change.notification.enable
If 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.
Property: com.sun.identity.agents.config.notification.enable
Hot swap: no
URL used by agent to register notification listeners.
Property: com.sun.identity.client.notification.url
Hot swap: no
The default value is
.agent-root-URL/amagent
Property: com.sun.identity.agents.config.agenturi.prefix
Hot swap: yes
Interval in minutes to fetch agent configuration from OpenAM. Used if notifications are disabled. Default: 60.
Property: com.sun.identity.agents.config.polling.interval
Hot swap: no
Interval in minutes to cleanup old agent configuration entries unless they are referenced by current requests. Default: 30.
Property: com.sun.identity.agents.config.cleanup.interval
Hot swap: no
The agent root URL for CDSSO. The valid value is in the format
where protocol://hostname:port/protocol represents the protocol used,
such as http or https,
hostname represents the host name of the
system where the agent resides, and port
represents the port number on which the agent is installed.
The slash following the port number is required.
If your agent system also has virtual host names, add URLs with
the virtual host names to this list as well. OpenAM checks that
goto URLs match one of the agent root URLs for
CDSSO.
When enabled, agent only enforces authentication (SSO), but no policies for authorization.
Property: com.sun.identity.agents.config.sso.only
The URL of the customized access denied page. If no value is specified (default), then the agent returns an HTTP status of 403 (Forbidden).
Property: com.sun.identity.agents.config.access.denied.url
Default is Error. Increase to
Message or even All for
fine-grained detail.
Property: com.sun.identity.agents.config.debug.level
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
When enabled, rotate the debug file when specified file size is reached.
Property: com.sun.identity.agents.config.debug.file.rotate
Debug 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.
Property: com.sun.identity.agents.config.debug.file.size
Types of messages to log based on user URL access attempts.
Property: com.sun.identity.agents.config.audit.accesstype
Valid values for the configuration file property include
LOG_NONE, LOG_ALLOW,
LOG_DENY, and LOG_BOTH.
Specifies where audit messages are logged. By default, audit messages are logged remotely.
Property: com.sun.identity.agents.config.log.disposition
Valid values for the configuration file property include
REMOTE, LOCAL, and
ALL.
Name of file stored on OpenAM server that contains agent audit messages if log location is remote or all.
Property: com.sun.identity.agents.config.remote.logfile
Hot swap: no
Periodic interval in minutes in which audit log messages are sent to the remote log file.
Property: com.sun.identity.agents.config.remote.log.interval
Default: 5
Hot swap: no
When enabled, audit log files are rotated when reaching the specified size.
Property: com.sun.identity.agents.config.local.log.rotate
Beyond this size limit in bytes the agent rotates the local audit log file if rotation is enabled.
Property: com.sun.identity.agents.config.local.log.size
Default: 50 MB
Enables checking of FQDN default value and FQDN map values.
Property: com.sun.identity.agents.config.fqdn.check.enable
Fully 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.
Property: com.sun.identity.agents.config.fqdn.default
Enables 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.
Property: com.sun.identity.agents.config.fqdn.mapping
This section covers application web agent properties. After creating
the agent profile, you access these properties in the OpenAM console under
Access Control > Realm Name > Agents >
Web > Agent Name > Application.
When 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 setting is not supported by the Varnish Cache agent.
For a more generally applicable setting, see Ignore Path Info properties.
Property: com.sun.identity.agents.config.ignore.path.info.for.not.enforced.list
Enable use of Perl-compatible regular expressions in Not Enforced URL settings by using the following property under Advanced > Custom Properties in the agent profile.
com.forgerock.agents.notenforced.url.regex.enable=true
List 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.
Property: com.sun.identity.agents.config.notenforced.url
If you enabled use of Perl-compatible regular expressions to match Not Enforced URLs, then all your settings must be done using regular expressions. (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/.
.*/(PublicServletA|PublicServletB)(\?.*|$) ^(?!.*(/protectedA/|/protectedB/)).*\.(png|jpg|gif|js|css)(\?.*|$)
Only enforce not enforced list of URLs. In other words, enforce policy only for those URLs and patterns specified in the list.
Property: com.sun.identity.agents.config.notenforced.url.invert
When enabled, the agent fetches profile, response, and session attributes that are mapped by doing policy evaluation, and forwards these attributes to not enforced URLs.
Property: com.sun.identity.agents.config.notenforced.url.attributes.enable
No authentication and authorization are required for the requests coming from these client IP addresses.
Property: com.sun.identity.agents.config.notenforced.ip
As 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 Not Enforced Client 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 Not Enforced Client 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 an IPv6 address with a corresponding network mask.
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 range of IPv6 addresses.
com.sun.identity.agents.config.notenforced.ip = 2001:5c0:9168:0:0:0:0:1-2001:5c0:9168:0:0:0:0:2
Property: com.forgerock.agents.config.notenforced.ip.handler
Hot swap: no
When enabled, validate that the subsequent browser requests come from the same IP address that the SSO token is initially issued against.
Property: com.sun.identity.agents.config.client.ip.validation.enable
When set to HTTP_COOKIE or
HTTP_HEADER, profile attributes are introduced into
the cookie or the headers, respectively.
Property: com.sun.identity.agents.config.profile.attribute.fetch.mode
Maps 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.
Property: com.sun.identity.agents.config.profile.attribute.mapping
When set to HTTP_COOKIE or
HTTP_HEADER, response attributes are introduced into
the cookie or the headers, respectively.
Property: com.sun.identity.agents.config.response.attribute.fetch.mode
Maps 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.
Property: com.sun.identity.agents.config.response.attribute.mapping
When set to HTTP_COOKIE or
HTTP_HEADER, session attributes are introduced into the
cookie or the headers, respectively.
Property: com.sun.identity.agents.config.session.attribute.fetch.mode
Maps 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.
Property: com.sun.identity.agents.config.session.attribute.mapping
This section covers SSO web agent properties. After creating the
agent profile, you access these properties in the OpenAM console under
Access Control > Realm Name > Agents >
Web > Agent Name > SSO
Name of the SSO Token cookie used between the OpenAM server and
the agent. Default: iPlanetDirectoryPro.
Property: com.sun.identity.agents.config.cookie.name
Hot swap: no
When enabled, the agent marks cookies secure, sending them only if the communication channel is secure.
Property: com.sun.identity.agents.config.cookie.secure
Hot swap: no
As of version 3.0.5, web policy agents with this property set to
true mark cookies as HTTPOnly, to prevent scripts
and third-party programs from accessing the cookies.
Property: com.sun.identity.cookie.httponly
Enables Cross Domain Single Sign On.
Property: com.sun.identity.agents.config.cdsso.enable
List of URLs of the available CDSSO controllers that the agent can
use for CDSSO processing. For example,
http://openam.example.com:8080/openam/cdcservlet.
Property: com.sun.identity.agents.config.cdsso.cdcservlet.url
List 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
Property: com.sun.identity.agents.config.cdsso.cookie.domain
When enabled, agent resets cookies in the response before redirecting to authentication.
Property: com.sun.identity.agents.config.cookie.reset.enable
List 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
Property: com.sun.identity.agents.config.cookie.reset
This section covers OpenAM services web agent properties. After
creating the agent profile, you access these properties in the OpenAM console
under Access Control > Realm Name >
Agents > Web > Agent Name > OpenAM
Services.
OpenAM 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.
Property: com.sun.identity.agents.config.login.url
To 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.
Property: com.forgerock.agents.conditional.login.url
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
If CDSSO is enabled for the policy agent,
then this property takes CDSSO Servlet URLs for its values
(com.sun.identity.agents.config.cdsso.cdcservlet.url),
rather than OpenAM login URLs.
CDSSO examples:
com.forgerock.agents.conditional.login.url[0]=
login.example.com|http://openam1.example.com/openam/cdcservlet,
http://openam2.example.com/openam/cdcservlet,
com.forgerock.agents.conditional.login.url[1]=
signin.example.com|http://openam3.example.com/openam/cdcservlet,
http://openam4.example.com/openam/cdcservlet
Timeout period in seconds for an agent connection with OpenAM auth server.
Property: com.sun.identity.agents.config.auth.connection.timeout
Default: 2
Interval in minutes, agent polls to check the primary server is up and running. Default: 5.
Property: com.sun.identity.agents.config.poll.primary.server
Hot swap: no
OpenAM logout page URL, such as
http://openam.example.com:8080/openam/UI/Logout.
Property: com.sun.identity.agents.config.logout.url
Logout URL redirect is enabled by default.
When this is disabled, instead of redirecting the user-agent, the policy agent performs session logout in the background and then continues processing access to the current URL. Disable this using Advanced > Custom Properties in the agent profile.
com.forgerock.agents.config.logout.redirect.disable=true
List 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.
Property: com.sun.identity.agents.config.agent.logout.url
Perl-compatible regular expression that matches logout URLs. Set this using Advanced > Custom Properties in the agent profile.
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 Logout URL List.
Cookies to be reset upon logout in the same format as the cookie reset list.
Property: com.sun.identity.agents.config.logout.cookie.reset
User gets redirected to this URL after logout. Specify this property alongside a Logout URL List.
Property: com.sun.identity.agents.config.logout.redirect.url
Polling interval in minutes during which an entry remains valid after being added to the agent's cache.
Property: com.sun.identity.agents.config.policy.cache.polling.interval
Hot swap: no
Polling interval in minutes during which an SSO entry remains valid after being added to the agent's cache.
Property: com.sun.identity.agents.config.sso.cache.polling.interval
Hot swap: no
Agent sets this value for User Id passed in the session from OpenAM to the REMOTE_USER server variable. Default: UserToken.
Property: com.sun.identity.agents.config.userid.param
User ID can be fetched from either SESSION and LDAP attributes.
Default: SESSION.
Property: com.sun.identity.agents.config.userid.param.type
When 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.
Property: com.sun.identity.agents.config.fetch.from.root.resource
Default: false
Hot swap: no
When enabled, get the client hostname through DNS reverse lookup for use in policy evaluation. This setting can impact performance.
Property: com.sun.identity.agents.config.get.client.host.name
Time 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.
Property: com.sun.identity.agents.config.policy.clock.skew
Hot swap: no
This section covers miscellaneous web agent properties. After creating
the agent profile, you access these properties in the OpenAM console under
Access Control > Realm Name > Agents >
Web > Agent Name > Miscellaneous.
As of version 3.0.4, when set to true, the agent
sends composite advice in the query (GET request) instead of sending it
through a POST request.
Property: com.sun.am.use_redirect_for_advice
The default locale for the agent.
Property: com.sun.identity.agents.config.locale
Hot swap: no
Enable or disable REMOTE_USER processing for anonymous users.
Property: com.sun.identity.agents.config.anonymous.user.enable
When 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.
Property: com.sun.identity.agents.config.encode.cookie.special.chars.enable
Sets cookie prefix in the attributes headers. Default:
HTTP_.
Property: com.sun.identity.agents.config.profile.attribute.cookie.prefix
Maximum age in seconds of custom cookie headers. Default: 300.
Property: com.sun.identity.agents.config.profile.attribute.cookie.maxage
When enabled, enforces case insensitivity in both policy and not enforced URL evaluation.
Property: com.sun.identity.agents.config.url.comparison.case.ignore
When enabled, encodes the URL which has special characters before doing policy evaluation.
Property: com.sun.identity.agents.config.encode.url.special.chars.enable
When enabled, do not send a preferred naming URL in the naming request.
Property: com.sun.identity.agents.config.ignore.preferred.naming.url
Use 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. Use Advanced > Custom Properties to set this in the agent profile.
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])).)$
When enabled, do not check whether OpenAM is up before doing a 302 redirect.
Property: com.sun.identity.agents.config.ignore.server.check
When 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 setting 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.
Property: com.sun.identity.agents.config.ignore.path.info
When enabled, the agent encodes the LDAP header values in the default encoding of operating system locale. When disabled, the agent uses UTF-8.
Property: com.sun.identity.agents.config.convert.mbyte.enable
Property 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.
Property: com.sun.identity.agents.config.redirect.param
This section covers advanced web agent properties. After creating the
agent profile, you access these properties in the OpenAM console under
Access Control > Realm Name > Agents >
Web > Agent Name > Advanced.
If 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 IP address of the client.
Property: com.sun.identity.agents.config.client.ip.header
HTTP header name that holds the hostname of the client.
Property: com.sun.identity.agents.config.client.hostname.header
Enable if a load balancer is used for OpenAM services.
Property: com.sun.identity.agents.config.load.balancer.enable
Hot swap: no
Enable 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).
Property: com.sun.identity.agents.config.override.protocol
Enable 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).
Property: com.sun.identity.agents.config.override.host
Enable 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).
Property: com.sun.identity.agents.config.override.port
Enable 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).
Property: com.sun.identity.agents.config.override.notification.url
Enables 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.
Property: com.sun.identity.agents.config.postdata.preserve.enable
POST cache entry lifetime in minutes. Default: 10.
Property: com.sun.identity.agents.config.postcache.entry.lifetime
When 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.
Property: com.sun.identity.agents.config.postdata.preserve.lbcookie
If 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.
Property: com.forgerock.agents.config.pdpuri.prefix
When enabled ignore the host and port settings.
Property: com.sun.identity.agents.config.proxy.override.host.port
Hot swap: no
The agent should normally perform authentication, so this is not
required. If necessary, set to none.
Property: com.sun.identity.agents.config.iis.auth.type
Hot swap: no
DES key for decrypting the basic authentication password in the session.
Property: com.sun.identity.agents.config.replaypasswd.key
The loading priority of filter, DEFAULT, HIGH, LOW, or MEDIUM.
Property: com.sun.identity.agents.config.iis.filter.priority
Enable if the IIS agent filter is configured for OWA.
Property: com.sun.identity.agents.config.iis.owa.enable
Enable to avoid IE6 security pop-ups.
Property: com.sun.identity.agents.config.iis.owa.enable.change.protocol
URL of the local idle session timeout page.
Property: com.sun.identity.agents.config.iis.owa.enable.session.timeout.url
When enabled, the agent checks whether the user exists in the Domino name database.
Property: com.sun.identity.agents.config.domino.check.name.database
Enable if the agent needs to use LTPA Token.
Property: com.sun.identity.agents.config.domino.ltpa.enable
The name of the cookie that contains the LTPA token.
Property: com.sun.identity.agents.config.domino.ltpa.cookie.name
The configuration name that the agent uses in order to employ the LTPA token mechanism.
Property: com.sun.identity.agents.config.domino.ltpa.config.name
The organization name to which the LTPA token belongs.
Property: com.sun.identity.agents.config.domino.ltpa.org.name
Additional properties to augment the set of properties supported by agent. Such properties take the following forms.
customproperty=custom-value1
customlist[0]=customlist-value-0
customlist[1]=customlist-value-1
custommap[key1]=custommap-value-1
custommap[key2]=custommap-value-2
Property: com.sun.identity.agents.config.freeformproperties
When you create a J2EE policy agent profile and install the agent, you can choose to store the agent configuration centrally and configure the agent through OpenAM console. Alternatively, you can choose to store the agent configuration locally and configure the agent by changing values in the properties file. This section covers centralized configuration, indicating the corresponding properties for use in a local configuration file where applicable.[6]
To show the agent properties in configuration file format that correspond to what you see in the console, click Export Configuration after editing agent properties.
After changing properties specified as "Hot swap: no" you must restart the agent.
This section covers global web agent properties. After creating the
agent profile, you access these properties in the OpenAM console under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Global.
For assigning the agent to a previously configured web agent group in order to inherit selected properties from the group.
Agent password used when creating the password file and when installing the agent.
Status of the agent configuration.
URL used by agent to register notification listeners.
Property: com.sun.identity.client.notification.url
Hot swap: no
Indicates agent's configuration located either on agent's host or centrally on OpenAM server.
If you change this to a local configuration, you can no longer manage the policy agent configuration through OpenAM console.
Property: com.sun.identity.agents.config.repository.location
Interval in seconds to fetch agent configuration from OpenAM. Used if notifications are disabled. Default: 0
Property: com.sun.identity.agents.config.load.interval
Enable agent to receive notification messages from OpenAM server for configuration changes.
Property: com.sun.identity.agents.config.change.notification.enable
The agent root URL for CDSSO. The valid value is in the format
where protocol://hostname:port/protocol represents the protocol used,
such as http or https,
hostname represents the host name of the
system where the agent resides, and port
represents the port number on which the agent is installed.
The slash following the port number is required.
If your agent system also has virtual host names, add URLs with
the virtual host names to this list as well. OpenAM checks that
goto URLs match one of the agent root URLs for
CDSSO.
Specifies 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.
Property: com.sun.identity.agents.config.filter.mode
Hot swap: no
When 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.
Property: com.sun.identity.agents.config.httpsession.binding
When 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.
Property: com.sun.identity.agents.config.login.attempt.limit
Specifies the custom headers the agent sets for the client. The key is the header name. The value is the header value.
Property: com.sun.identity.agents.config.response.header
For example,
com.sun.identity.agents.config.response.header[Cache-Control]=no-cache.
When 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.
Property: com.sun.identity.agents.config.redirect.attempt.limit
Default is Error. Increase to
Message for fine-grained detail.
Property: com.iplanet.services.debug.level
Specifies the mechanism used to determine the user ID.
Property: com.sun.identity.agents.config.user.mapping.mode
Specifies the data store attribute that contains the user ID.
Property: com.sun.identity.agents.config.user.attribute.name
When enabled, OpenAM uses both the principal user name and also the user ID for authentication.
Property: com.sun.identity.agents.config.user.principal
Specifies the session property name for the authenticated user's
ID. Default: UserToken.
Property: com.sun.identity.agents.config.user.token
Types of messages to log based on user URL access attempts.
Property: com.sun.identity.agents.config.audit.accesstype
Valid values for the configuration file property include
LOG_NONE, LOG_ALLOW,
LOG_DENY, and LOG_BOTH.
Specifies where audit messages are logged. By default, audit messages are logged remotely.
Property: com.sun.identity.agents.config.log.disposition
Valid values for the configuration file property include
REMOTE, LOCAL, and
ALL.
Name of file stored on OpenAM server that contains agent audit messages if log location is remote or all.
Property: com.sun.identity.agents.config.remote.logfile
Hot swap: no
When enabled, audit log files are rotated when reaching the specified size.
Property: com.sun.identity.agents.config.local.log.rotate
Beyond this size limit in bytes the agent rotates the local audit log file if rotation is enabled.
Property: com.sun.identity.agents.config.local.log.size
Default: 50 MB
Enables checking of FQDN default value and FQDN map values.
Property: com.sun.identity.agents.config.fqdn.check.enable
Fully 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.
Property: com.sun.identity.agents.config.fqdn.default
Enables 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.
Property: com.sun.identity.agents.config.fqdn.mapping
This section covers application web agent properties. After creating
the agent profile, you access these properties in the OpenAM console under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Application.
Specifies the list of absolute URIs corresponding to a protected
application's web.xml
form-login-page element, such as
/myApp/jsp/login.jsp.
Property: com.sun.identity.agents.config.login.form
Specifies the list of absolute URIs corresponding to a protected
application's web.xml
form-error-page element, such as
/myApp/jsp/error.jsp.
Property: com.sun.identity.agents.config.login.error.uri
When enabled, the agent uses the internal default content file for the login.
Property: com.sun.identity.agents.config.login.use.internal
Full path name to the file containing custom login content when Use Internal Login is enabled.
Property: com.sun.identity.agents.config.login.content.file
Specifies 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.
Property: com.sun.identity.agents.config.logout.application.handler
Specifies 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.
Property: com.sun.identity.agents.config.logout.uri
Specifies 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.
Property: com.sun.identity.agents.config.logout.request.param
When enabled, the agent checks the HTTP request body to locate the Logout Request Parameter you set.
Property: com.sun.identity.agents.config.logout.introspect.enabled
Specifies 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.
Property: com.sun.identity.agents.config.logout.entry.uri
Specifies 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.
Property: com.sun.identity.agents.config.access.denied.uri
List 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.
Property: com.sun.identity.agents.config.notenforced.uri
Only enforce not enforced list of URIs. In other words, enforce policy only for those URIs and patterns specified in the list.
Property: com.sun.identity.agents.config.notenforced.uri.invert
When enabled, the agent caches evaluation of the not enforced URI list.
Property: com.sun.identity.agents.config.notenforced.uri.cache.enable
When caching is enabled, this limits the number of not enforced URIs cached.
Property: com.sun.identity.agents.config.notenforced.uri.cache.size
Default: 1000
When 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.
Property: com.sun.identity.agents.config.notenforced.refresh.session.idletime
No authentication and authorization are required for the requests coming from these client IP addresses.
Property: com.sun.identity.agents.config.notenforced.ip
Only enforce the not enforced list of IP addresses. In other words, enforce policy only for those client addresses and patterns specified in the list.
Property: com.sun.identity.agents.config.notenforced.ip.invert
When enabled, the agent caches evaluation of the not enforced IP list.
Property: com.sun.identity.agents.config.notenforced.ip.cache.enable
When caching is enabled, this limits the number of not enforced addresses cached.
Property: com.sun.identity.agents.config.notenforced.ip.cache.size
Default: 1000
When set to HTTP_COOKIE or
HTTP_HEADER, profile attributes are introduced into
the cookie or the headers, respectively. When set to
REQUEST_ATTRIBUTE, profile attributes are part
of the HTTP request.
Property: com.sun.identity.agents.config.profile.attribute.fetch.mode
Maps 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.
Property: com.sun.identity.agents.config.profile.attribute.mapping
When 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.
Property: com.sun.identity.agents.config.response.attribute.fetch.mode
Maps 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.
Property: com.sun.identity.agents.config.response.attribute.mapping
Specifies the separator for multiple values of the same attribute
when it is set as a cookie. Default: | (also known as the vertical bar character).
Property: com.sun.identity.agents.config.attribute.cookie.separator
Specifies 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.
Property: com.sun.identity.agents.config.attribute.date.format
When enabled, attribute values are URL encoded before being set as a cookie.
Property: com.sun.identity.agents.config.attribute.cookie.encode
When 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.
Property: com.sun.identity.agents.config.session.attribute.fetch.mode
Maps 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.
Property: com.sun.identity.agents.config.session.attribute.mapping
Specifies the list of privileged attributes granted to all users
with a valid OpenAM session, such as
AUTHENTICATED_USERS.
Property: com.sun.identity.agents.config.default.privileged.attribute
Specifies the list of privileged attribute types fetched for each user.
Property: com.sun.identity.agents.config.privileged.attribute.type
Specifies how privileged attribute types should be converted to lower case.
Property: com.sun.identity.agents.config.privileged.attribute.tolowercase
Specifies the list of session property names, such as
UserToken which hold privileged attributes for
authenticated users.
Property: com.sun.identity.agents.config.privileged.session.attribute
When enabled, lets you use Privileged Attribute Mapping.
Property: com.sun.identity.agents.config.privileged.attribute.mapping.enable
OpenAM allows original attribute values to be mapped to other
values. For example, you can map UUIDs to principal names in roles
specified in a web application's deployment descriptor. For example, to
map the UUID id=employee,ou=group,o=openam to the
principal name am_employee_role in the deployment
descriptor, set the key to
id=employee,ou=group,o=openam, and the value to
am_employee_role.
Property: com.sun.identity.agents.config.privileged.attribute.mapping
Specifies 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.
Property: com.sun.identity.agents.config.auth.handler
Specifies 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.
Property: com.sun.identity.agents.config.logout.handler
Specifies 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.
Property: com.sun.identity.agents.config.verification.handler
This section covers SSO web agent properties. After creating the
agent profile, you access these properties in the OpenAM console under
Access Control > Realm Name > Agents >
J2EE > Agent Name > SSO
Name of the SSO Token cookie used between the OpenAM server and
the agent. Default: iPlanetDirectoryPro.
Property: com.iplanet.am.cookie.name
Hot swap: no
When enabled, the agent exposes SSO Cache through the agent SDK APIs.
Property: com.sun.identity.agents.config.amsso.cache.enable
Enables Cross Domain Single Sign On.
Property: com.sun.identity.agents.config.cdsso.enable
Specifies a URI the agent uses to process CDSSO requests.
Property: com.sun.identity.agents.config.cdsso.redirect.uri
List of URLs of the available CDSSO controllers that the agent can
use for CDSSO processing. For example,
http://openam.example.com:8080/openam/cdcservlet.
Property: com.sun.identity.agents.config.cdsso.cdcservlet.url
When 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.
Property: com.sun.identity.agents.config.cdsso.clock.skew
Specifies the list of OpenAM servers or identity providers the agent trusts when evaluating CDC Liberty Responses.
Property: com.sun.identity.agents.config.cdsso.trusted.id.provider
When enabled, the agent marks the SSO Token cookie as secure, thus the cookie is only transmitted over secure connections.
Property: com.sun.identity.agents.config.cdsso.secure.enable
List of domains, such as .example.com, in which
cookies have to be set in CDSSO.
Property: com.sun.identity.agents.config.cdsso.domain
When enabled, agent resets cookies in the response before redirecting to authentication.
Property: com.sun.identity.agents.config.cookie.reset.enable
List of cookies to reset if Cookie Reset is enabled.
Property: com.sun.identity.agents.config.cookie.reset.name
Specifies how names from the Cookie Reset Name List correspond to cookie domain values when the cookie is reset.
Property: com.sun.identity.agents.config.cookie.reset.domain
Specifies how names from the Cookie Reset Name List correspond to cookie paths when the cookie is reset.
Property: com.sun.identity.agents.config.cookie.reset.path
This section covers OpenAM services web agent properties. After
creating the agent profile, you access these properties in the OpenAM console
under Access Control > Realm Name >
Agents > J2EE > Agent Name > OpenAM
Services.
OpenAM 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.
Property: com.sun.identity.agents.config.login.url
To 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.
Property: com.sun.identity.agents.config.conditional.login.url
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
If CDSSO is enabled for the policy agent,
then this property takes CDSSO Servlet URLs for its values
(com.sun.identity.agents.config.cdsso.cdcservlet.url),
rather than OpenAM login URLs.
CDSSO examples:
com.sun.identity.agents.config.conditional.login.url[0]=
login.example.com|http://openam1.example.com/openam/cdcservlet,
http://openam2.example.com/openam/cdcservlet,
com.sun.identity.agents.config.conditional.login.url[1]=
signin.example.com|http://openam3.example.com/openam/cdcservlet,
http://openam4.example.com/openam/cdcservlet
When enabled, OpenAM uses the priority defined in the OpenAM Login URL list as the priority for Login and CDSSO URLs when handling failover.
Property: com.sun.identity.agents.config.login.url.prioritized
When enabled, OpenAM checks the availability of OpenAM Login URLs before redirecting to them.
Property: com.sun.identity.agents.config.login.url.probe.enabled
Timeout period in milliseconds for OpenAM to determine whether to failover between Login URLs when Login URL Probe is enabled.
Property: com.sun.identity.agents.config.login.url.probe.timeout
Default: 2000
OpenAM 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.
Property: com.sun.identity.agents.config.logout.url
The values take the incoming request URL to match and a comma-separated list of URLs to which to redirect users logging out.
Property: com.sun.identity.agents.config.conditional.logout.url
Example: com.sun.identity.agents.config.conditional.logout.url[0]=
logout.example.com|http://openam1.example.com/openam/UI/Logout,
http://openam2.example.com/openam/UI/Logout
When enabled, OpenAM uses the priority defined in the OpenAM Logout URL list as the priority for Logout URLs when handling failover.
Property: com.sun.identity.agents.config.logout.url.prioritized
When enabled, OpenAM checks the availability of OpenAM Logout URLs before redirecting to them.
Property: com.sun.identity.agents.config.logout.url.probe.enabled
Timeout period in milliseconds for OpenAM to determine whether to failover between Logout URLs when Logout URL Probe is enabled.
Property: com.sun.identity.agents.config.logout.url.probe.timeout
Default: 2000
Specifies the protocol used by the OpenAM authentication service.
Property: com.iplanet.am.server.protocol
Hot swap: no
Specifies the OpenAM authentication service host name.
Property: com.iplanet.am.server.host
Hot swap: no
Specifies the OpenAM authentication service port number.
Property: com.iplanet.am.server.port
Hot swap: no
When enabled, OpenAM sends notification about changes to policy.
Property: com.sun.identity.agents.notification.enabled
Hot swap: no
Specifies the time in minutes after which the policy cache is refreshed.
Property: com.sun.identity.agents.polling.interval
Default: 3
Hot swap: no
Set to cache mode subtree when only a small number of policy rules are defined. For large numbers of policy rules, set to self.
Property: com.sun.identity.policy.client.cacheMode
Default: self
Hot swap: no
Specifies the values, such as allow and
deny, that are associated with boolean policy
decisions.
Default: iPlanetAMWebAgentService|GET|allow|deny:iPlanetAMWebAgentService|POST|allow|deny
Property: com.sun.identity.policy.client.booleanActionValues
Hot swap: no
Specifies the comparators used for service names in policy.
Default: serviceType=iPlanetAMWebAgentService|
class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|
delimiter=/|caseSensitive=false
Property: com.sun.identity.policy.client.resourceComparators
Hot swap: no
Time in seconds used adjust time difference between agent system and OpenAM. Clock skew in seconds = AgentTime - OpenAMServerTime.
Default: 10.
Property: com.sun.identity.policy.client.clockSkew
Hot swap: no
Specifies 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.
Property: com.sun.identity.agents.config.policy.env.get.param
Specifies 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.
Property: com.sun.identity.agents.config.policy.env.post.param
Specifies 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.
Property: com.sun.identity.agents.config.policy.env.jsession.param
When enabled, the remote policy client is configured to use HTTP-Redirect instead of HTTP-POST for composite advice.
Property: com.sun.identity.agents.config.policy.advice.use.redirect
When enabled, receive notification from OpenAM to update user management data caches.
Property: com.sun.identity.idm.remote.notification.enabled
Hot swap: no
If 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.
Property: com.iplanet.am.sdk.remote.pollingTime
Default: 1
Hot swap: no
When enabled, receive notification from OpenAM to update service configuration data caches.
Property: com.sun.identity.sm.notification.enabled
Hot swap: no
If 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.
Property: com.sun.identity.sm.cacheTime
Default: 1
Hot swap: no
When enabled, the session client polls to update the session cache rather than relying on notifications from OpenAM.
Property: com.iplanet.am.session.client.polling.enable
Hot swap: no
Specifies the time in seconds after which the session client requests an update from OpenAM for cached session information.
Property: com.iplanet.am.session.client.polling.period
Default: 180
Hot swap: no
This section covers miscellaneous web agent properties. After creating
the agent profile, you access these properties in the OpenAM console under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Miscellaneous.
The default language for the agent.
Property: com.sun.identity.agents.config.locale.language
Hot swap: no
The default country for the agent.
Property: com.sun.identity.agents.config.locale.country
Hot swap: no
When enabled, activate port checking, correcting requests on the wrong port.
Property: com.sun.identity.agents.config.port.check.enable
Specifies the name of the file containing the content to handle requests on the wrong port when port checking is enabled.
Property: com.sun.identity.agents.config.port.check.file
Specifies which ports correspond to which protocols. The agent uses the map when handling requests with invalid port numbers during port checking.
Property: com.sun.identity.agents.config.port.check.setting
Specifies a list of principals the agent bypasses for
authentication and search purposes, such as guest
or testuser.
Property: com.sun.identity.agents.config.bypass.principal
Specifies the agent's encryption provider class.
Default: com.iplanet.services.util.JCEEncryption
Property: com.iplanet.security.encryptor
Hot swap: no
When 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.
Property: com.sun.identity.agents.config.ignore.path.info
Property 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.
Property: com.sun.identity.agents.config.redirect.param
When enabled, provide support for legacy browsers.
Property: com.sun.identity.agents.config.legacy.support.enable
List of header values that identify legacy browsers. Entries can
use the wildcard character, *.
Property: com.sun.identity.agents.config.legacy.user.agent
Specifies a URI the agent uses to redirect legacy user agent requests.
Property: com.sun.identity.agents.config.legacy.redirect.uri
This section covers advanced web agent properties. After creating the
agent profile, you access these properties in the OpenAM console under
Access Control > Realm Name > Agents >
J2EE > Agent Name > Advanced.
If 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 IP address of the client.
Property: com.sun.identity.agents.config.client.ip.header
HTTP header name that holds the hostname of the client.
Property: com.sun.identity.agents.config.client.hostname.header
Enable web service processing.
Property: com.sun.identity.agents.config.webservice.enable
Specifies a list of web application end points that represent web services.
Property: com.sun.identity.agents.config.webservice.endpoint
When enabled, the agent processes HTTP GET requests for web service endpoints.
Property: com.sun.identity.agents.config.webservice.process.get.enable
Specifies a class implementing
com.sun.identity.agents.filter.IWebServiceAuthenticator,
used to authenticate web service requests.
Property: com.sun.identity.agents.config.webservice.responseprocessor
Specifies a class implementing
com.sun.identity.agents.filter.IWebServiceResponseProcessor,
used to process web service reponses.
Property: com.sun.identity.agents.config.webservice.responseprocessor
Specifies a file the agent uses to generate an internal error fault for the client application.
Property: com.sun.identity.agents.config.webservice.internalerror.content
Specifies a file the agent uses to generate an authorization error fault for the client application.
Property: com.sun.identity.agents.config.webservice.autherror.content
Specifies the host name of the agent protected server to show to client browsers, rather than the actual host name.
Property: com.sun.identity.agents.config.agent.host
Specifies the port number of the agent protected server to show to client browsers, rather than the actual port number.
Property: com.sun.identity.agents.config.agent.port
Specifies 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.
Property: com.sun.identity.agents.config.agent.protocol
When 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.
Property: com.sun.identity.agents.config.jboss.webauth.available
Specifies strings that, when found in the request, cause the agent to redirect the client to an error page.
Property: com.sun.identity.agents.config.xss.code.elements
Maps 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, enter MyApp as the Map Key and
/myapp/error.html as the Corresponding Map
Value.
Property: com.sun.identity.agents.config.xss.redirect.uri
Enables 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.
Property: com.sun.identity.agents.config.postdata.preserve.enable
Specifies 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.
Property: com.sun.identity.agents.config.postdata.preserve.cache.noentry.url
POST data storage lifetime in milliseconds. Default: 300000.
Property: com.sun.identity.agents.config.postdata.preserve.cache.entry.ttl
Specifies whether to create a cookie, or to append a query string to the URL to assist with sticky load balancing.
Property: com.sun.identity.agents.config.postdata.preserve.stickysession.mode
Specifies 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.
Property: com.sun.identity.agents.config.postdata.preserve.stickysession.value
Additional properties to augment the set of properties supported by agent. Such properties take the following forms.
customproperty=custom-value1
customlist[0]=customlist-value-0
customlist[1]=customlist-value-1
custommap[key1]=custommap-value-1
custommap[key2]=custommap-value-2
Property: com.sun.identity.agents.config.freeformproperties
This section covers Web Service Provider (WSP) properties. WSPs both validate incoming web service requests from Web Service Clients (WSC), and also secure outgoing responses sent back to WSCs.
After creating a WSP profile, you access WSP properties in the
OpenAM console under Access Control > Realm Name
> Agents > Web Service Provider > Agent
Name.
For assigning the agent to a previously configured agent group in order to inherit selected properties from the group.
Agent password used when creating the password file and when installing the agent.
Status of the agent configuration.
OpenAM identifier for the agent configuration.
Specifies the mechanisms allowed to validate the web service request.
Specifies which OpenAM authentication chain consumes the credentials from the web service request to authenticate the WSC.
Specifies how to covert the incoming token before issuing requests to other WSPs.
Yes means the agent preserves SOAP security headers from the request for subsequent processing.
Yes means the agent checks whether the request is a replay of an earlier request, and if so, rejects the request.
Yes means the agent checks whether the user token is a replay from an earlier requests, and if so, rejects the request.
Specifies the type of key, such as PublicKey,
used to verify the request signature.
Specifies the Universal Resource Name for the Liberty service type used for lookups.
Specifies a Uniform Resource Identitier shared by the WSP and WSC.
Specifies the user name and password credentials compared with the user name security token in a request.
Maps SAML attribute names from the incoming request to attribute names as retrieved from the SSOToken or the identity repository, used to have the Security Token Service generate an appropriate SAML assertion.
Specifies the class name of a plugin used to perform SAML account mapping.
Identifies the attribute name space used when generating SAML assertions.
Yes means the agent includes the principal's membership as a SAML attribute.
Yes means verify signatures in requests.
Yes means the agent signs the specified parts of the response with its x509 certificate.
Specifies how the x509 certificate used to sign responses is referenced in the response.
Yes means do decrypt the specified parts of incoming requests.
Yes means do encrypt the outgoing response.
Specifies whether to use Advanced Encryption Standard, corresponding to an Encryption Strength of 128, 192, or 256, or to use Triple DES with a key length of 0, 112, or 168.
Specifies the key length used for encryption.
Specifies the alias of the certificate in the key store used to verify request signatures and encrypt responses.
Specifies the alias of the certificate in the key store used to sign responses and decrypt requests.
If you use your own, custom key store, specify how to access it here.
If the WSC sends requests through a web service proxy, specify that as the end point here.
Specifies the end point to which the WSC sends requests.
Specifies the fully qualified domain name of the Kerberos Distribution Center service.
Specifies the Kerberos Distribution Center domain name. For Windows environments this is the domain controller domain name.
Specifies the Kerberos principal used by OpenAM, using the form
HTTP/,
where openam-fqdn@krb-domainopenam-fqdn is the fully qualified domain
name for OpenAM, and krb-domain is the
Kerberos Domain.
Specifies the Kerberos keytab file using the form
,
where openam-host.HTTP.keytabopenam-host is the host name for
OpenAM.
Yes means the agent signs the Kerberos token.
This section covers Web Service Client (WSC) properties. WSCs both secure outgoing requests sent to Web Service Providers (WSP), and also validate incoming from WSPs.
After creating a WSC profile, you access WSC properties in the
OpenAM console under Access Control > Realm Name
> Agents > Web Service Client > Agent
Name.
For assigning the agent to a previously configured agent group in order to inherit selected properties from the group.
Agent password used when creating the password file and when installing the agent.
Status of the agent configuration.
OpenAM identifier for the agent configuration.
Specifies the mechanism used to secure web service requests.
Specifies the agent used to secure requests to the Security Token Service. Associated with the STSSecurity Security Mechanism.
Specifies the agent used to secure requests to the Discovery Service. Associated with the LibertyDiscoverySecurity Security Mechanism.
Yes means users must authenticate to access the WSC's protected page.
Yes means the agent preserves SOAP security headers in the request for subsequent processing.
Yes means the agent passes along the Security Token from the Subject, rather than generating a token or requesting it from the Security Token Service.
Specifies the Universal Resource Name for the Liberty service type used for lookups.
Specifies the user name and password credentials shared with the WSP and used to generate a Username Security Token.
Specifies a Uniform Resource Identitier shared by the WSP and WSC.
Maps SAML attribute names from the outgoing request to attribute names as retrieved from the SSOToken or the identity repository.
Specifies the class name of a plugin used to perform SAML account mapping.
Identifies the attribute name space used when generating SAML assertions.
Yes means the agent includes the principal's membership as a SAML attribute.
Yes means the agent signs the specified parts of the request with its x509 certificate.
Specifies how the x509 certificate used to sign requests is referenced in the request.
Yes means verify signatures in responses.
Yes means do encrypt the specified parts of outgoing requests.
Specifies whether to use Advanced Encryption Standard, corresponding to an Encryption Strength of 128, 192, or 256, or to use Triple DES with a key length of 0, 112, or 168.
Specifies the key length used for encryption.
Yes means do decrypt the incoming response.
Specifies the alias of the certificate in the key store used to sign requests and decrypt responses.
Specifies the alias of the certificate in the key store used to verify response signatures and encrypt requests.
If you use your own, custom key store, specify how to access it here.
If the WSC sends requests through a web service proxy, specify that as the end point here.
Specifies the end point to which the WSC sends requests.
Specifies the fully qualified domain name of the Kerberos Distribution Center service.
Specifies the Kerberos Distribution Center domain name. For Windows environments this is the domain controller domain name.
Specifies the Kerberos principal used by OpenAM, using the form
HTTP/,
where openam-fqdn@krb-domainopenam-fqdn is the fully qualified domain
name for OpenAM, and krb-domain is the
Kerberos Domain.
Specifies the directory in which Kerberos Ticket Granting Tickets (TGT) are cached. The kinit command stores the TGT from the KDC here.
This section covers Security Token Service (STS) Client properties. STS clients both secure outgoing requests to trust authorities, and also validate incoming requests from trust authorities. You can configure STS clients to work with OpenAM's Security Token Service and with its Discovery Service.
After creating an STS Client profile, you access STS Client properties
in the OpenAM console under Access Control > Realm
Name > Agents > STS Client > Agent
Name.
For assigning the agent to a previously configured agent group in order to inherit selected properties from the group.
Agent password used when creating the password file and when installing the agent.
Status of the agent configuration.
Specifies whether to use WS-Trust 1.3 or 1.0.
OpenAM identifier for the agent configuration.
Specifies the mechanism used to secure the STS request.
Specifies the STS Client agent profile to use if the security mechanism is STS Security.
Yes means the agent preserves SOAP security headers for subsequent processing.
Specifies the user name and password credentials the agent uses to generate a Username security token.
Specifies the type of key, such as PublicKey,
used to encrypt responses.
Specifies the Uniform Resource Identitiers for the claims to be represented in the Security Token.
Specifies a Uniform Resource Identitier shared by the agent and the WSC.
Maps SAML attribute names from the incoming request to attribute names as retrieved from the SSOToken or the identity repository, used to have the Security Token Service generate an appropriate SAML assertion.
Specifies the class name of a plugin used to perform SAML account mapping.
Identifies the attribute name space used when generating SAML assertions.
Yes means the agent includes the principal's membership as a SAML attribute.
Yes means verify signatures in responses.
Yes means the agent signs the specified parts of the request with its x509 certificate.
Specifies how the x509 certificate used to sign requests is referenced in the request.
Yes means do encrypt the specified parts of requests.
Yes means do decrypt the response.
Specifies whether to use Advanced Encryption Standard, corresponding to an Encryption Strength of 128, 192, or 256, or to use Triple DES with a key length of 0, 112, or 168.
Specifies the key length used for encryption.
Specifies the alias of the certificate in the key store used to verify response signatures and encrypt requests.
Specifies the alias of the certificate in the key store used to sign requests and decrypt responses.
If you use your own, custom key store, specify how to access it here.
Specifies the URL to the Security Token Service end point.
Specifies the URL to the Security Token Service message exchange end point.
Specifies the fully qualified domain name of the Kerberos Distribution Center service.
Specifies the Kerberos Distribution Center domain name. For Windows environments this is the domain controller domain name.
Specifies the Kerberos principal used by OpenAM, using the form
HTTP/,
where openam-fqdn@krb-domainopenam-fqdn is the fully qualified domain
name for OpenAM, and krb-domain is the
Kerberos Domain.
Specifies the directory in which Kerberos Ticket Granting Tickets (TGT) are cached. The kinit command stores the TGT from the KDC here.
This section covers version 2.2 agent properties. Version 2.2 agents store their configurations locally, with a user name, password combination used to connect to OpenAM.
After creating the agent profile, you access agent properties in the
OpenAM console under Access Control > Realm Name
> Agents > 2.2 Agents > Agent Name.
Specifies the password the agent uses to connect to OpenAM.
Specifies whether the agent profile is active, and so can be used.
Specifies a short description for the agent.
Additional key-value pairs that OpenAM uses to receive agent requests concerning credential assertions.
OpenAM currently supports one property,
agentRootURL=
where the key is case-sensitive.protocol://host:port/
When you want to register an OAuth 2.0 client with OpenAM as the
OAuth 2.0 authorization server, or register an OpenID Connect 1.0 client
through OpenAM console, then create an OAuth 2.0 Client agent profile.
After creating the agent profile, you can further configure the properties
in the OpenAM console under Access Control > Realm
Name > Agents > OAuth 2.0 Client > Client
Name.
The topmost configuration fields are for both OAuth 2.0 and OpenID Connect 1.0, whereas others are specifically for OpenID Connect 1.0.
The following configuration fields are common to OAuth 2.0 and OpenID Connect 1.0 clients.
Set this if you have configured an OAuth 2.0 Client agent group.
Whether the client profile is active for use.
The client password as described by RFC 6749 in the section, Client Password.
Confidential clients can maintain confidentiality of their credentials. Public clients cannot.
A web application running on a server where its credentials are protected is an example of a confidential client.
A JavaScript client running in a browser is an example of a public client.
Specify client redirection endpoint URIs as described by RFC 6749 in the section, Redirection Endpoint. OpenAM's OAuth 2.0 authorization service redirects the the resource owner's user-agent back to this endpoint during the authorization code grant process. If your client has more than one redirection URI, then it must specify the redirection URI to use in the authorization request.
Redirection URIs are required for OpenID Connect 1.0 clients.
Specify scopes in
or scope format. These scopes are to be
presented to the resource owner when the resource owner is asked to
authorize client access to protected resources.scope|locale|localized
description
Specify a client name to display to the resource owner
when the resource owner is asked to authorize client access to protected
resources. Valid formats include or name.locale|localized
name
Specify a client description to display to the resource owner
when the resource owner is asked to authorize client access to protected
resources. Valid formats include or description.locale|localized
description
Specify scopes in
or scope format. These scopes are set
automatically when tokens are issued.scope|locale|localized
description
The following optional configuration fields are for OpenID Connect 1.0 clients.
Algorithm that the ID Token for this client must be signed with
Default: HmacSHA256
Valid values are listed in JSON Web Algorithms
(JWA): "alg" (Algorithm) Header Parameter Values for JWS.
OpenAM supports HmacSHA256,
HmacSHA384, and HmacSHA512.
URI to which to redirect the user-agent after the client logout process
The registration_access_token value that you
provide when registering the client, and then subsequently when reading
or updating the client profile.
The relying party (client) URI to which the OpenID Connect Provider sends session changed notification messages using the HTML 5 postMessage API.
An agent authenticator has read-only access to multiple agent profiles defined in the same realm, typically allowing an agent to read web service agent profiles.
After creating the agent profile, you access agent properties in the
OpenAM console under Access Control > Realm Name
> Agents > Agent Authenticator > Agent
Name.
Specifies the password the agent uses to connect to OpenAM.
Specifies whether the agent profile is active, and so can be used.
Specifies which agent profiles in the realm the agent authenticator can read.
Specifies the list of agent root URLs for CDSSO. The valid value is
in the format
where protocol://hostname:port/protocol represents the protocol used,
such as http or https,
hostname represents the host name of the
system where the agent resides, and port
represents the port number on which the agent is installed.
The slash following the port number is required.
If your agent system also has virtual host names, add URLs with
the virtual host names to this list as well. OpenAM checks that
goto URLs match one of the agent root URLs for
CDSSO.
[5] The configuration file syntax is that of a standard Java properties file, though backslash escapes can be used only to wrap long lines. See java.util.Properties.load for a description of the format. The value of a property specified multiple times is not defined.
[6] The configuration file syntax is that of a standard Java properties file, though backslash escapes can be used only to wrap long lines. See java.util.Properties.load for a description of the format. The value of a property specified multiple times is not defined.