During the installation of the agent, a configuration schema extension is added to the system.webServer section. This schema extension adds the two configuration options defined in the following table.

Parameter Definition Default Value

PaaCertificateDir

String value containing the path to the certificates extracted from the .properties files.

C:\Program Files\Ping Identity\PingAccess Agent for IIS\certs.properties

PaaPropertyFiles

List of .properties files which store configuration data used to connect the agent to the PingAccess engine nodes the agent will communicate with.

C:\Program Files\Ping Identity\PingAccess Agent for IIS\agent.properties

Note:

Do not make any changes to these configuration parameters if the steps in the Installation section were followed.

The configured agent.properties files can contain the following parameters.

Parameter Definition Default Value

agent.engine.configuration.scheme

The URIURIURI (Uniform Resource Identifier) Identifies a web resource with a string of characters conforming to a specified format. scheme used to connect to the engine node. Valid values are http and https.

https

agent.engine.configuration.host

The PingAccess hostname.

The value in the Agent Node's PingAccess Host field.

agent.engine.configuration.port

The port the agent connects to on the PingAccess host. This value is defined in the PingAccess run.properties file.

Defined in the PingAccess Admin UI

agent.engine.configuration.username

The unique agent name that identifies the agent in PingAccess.

Defined in the PingAccess Admin UI

agent.engine.configuration.checkCertRevocation

Determines whether the agent performs certificate revocation list (CRL)certificate revocation list (CRL)CRL A list of revoked signing certificates, maintained by the issuing authority at a public URL. checking against the server certificate used by the engine nodes or by a load balancer in front of the engine nodes. A value of 1 enables CRL checking, while a value of 0 disables CRL checking.

Not present by default. Treated as 1 when not specified.

agent.engine.configuration.shared.secret

The password used to authenticate the agent to the engine.

Defined in the PingAccess Admin UI

agent.engine.configuration.bootstrap.truststore

The base64-encoded public certificate used to establish HTTPS trust by the agent to the PingAccess engine.

Note:

If you are having difficulty connecting an agent to the PingAccess engine, verify that the Agent Trusted Certificate has been configured correctly in Agent Management.

Generated by PingAccess

agent.engine.configuration.maxConnections

The number of connections a single web server worker process maintains to the PingAccess engine defined in the agent.engine.configuration.host parameter.

10

agent.engine.configuration.timeout

The maximum time, in milliseconds, a request to PingAccess can take from the agent. If this time is exceeded, the client will receive a generic 500 Server Error response.

30000

agent.engine.configuration.connectTimeout

The maximum time, in milliseconds, the agent can take to connect to the PingAccess engine. If this time is exceeded, the client will receive a generic 500 Server Error response.

30000

agent.cache.missInitialTimeout

The maximum time, in milliseconds, a web server worker process waits for a response to a policy cache request sent to other web server worker processes.

5

agent.cache.broker.publisherPort

The network port web server processes use to publish policy cache requests to other web server worker processes. This port is bound to the localhost network only.

3031

agent.cache.broker.subscriberPort

The network port web server processes use to receive policy cache requests from other web server worker processes. This port is bound to the localhost network only.

3032

agent.cache.maxTokens

The maximum number of tokens stored in the policy cache for a single web server worker process. A value of 0 means there is no maximum.

0

agent.cache.disabled

Determines whether caching of policy decisions is enabled or disabled. A value of 1 disables caching, forcing the agent to communicate with the PingAccess host any time a policy decision needs to be made. This option might be desired when using PingAccess 3.1 or earlier with the following rule types:

  • Groovy Script Rule
  • HTTP Request Rule
  • Network Range Rule
  • Time Range Rule
Note:

PingAccess 3.2 does require the cache be disabled in order to process these rules correctly from an agent.

This might also be desirable for custom rules created using the PingAccess SDK that involve data that changes with every request within a resource and session.

Warning:

Disabling caching has a significant impact on the scalability of the PingAccess Policy servers, as every rule evaluation is processed by the Policy Server. This option should only be used as a last resort because of the performance penalty.

0

agent.engine.configuration.failover.hosts

The hostname and port of the PingAccess server where the agent should send requests in the event of a failover from the PingAccess Host.

Note:

If this parameter is set, the upstream block name in $NGINX/paa/http.conf needs to be modified to a name that will be found in the certificate associated with the PingAccess Agent HTTPS Listener.

For example, if your PingAccess certificate contains name 'pa.nginx', set the upstream name to upstream pa.nginx.

Defined in the PingAccess Admin UI

agent.engine.configuration.failover.failedRetryTimeout

The number of seconds to wait before the agent should retry connecting to a failed PingAccess server.

60

agent.engine.configuration.failover.MaxRetries

The number of times to retry a connection to a PingAccess server after an unsuccessful attempt. If all retries fail, the agent marks the PingAccess server as failed for the duration of the agent.engine.configuration.failover.failedRetryTimeout value and tries another PingAccess server if one is available.

2

agent.cache.type

Controls the type of policy cache used by the agent. There are three valid values for this property:

AUTO
The AUTO cache type determines the appropriate cache to use based on the number of worker processes. If the number of worker processes is 1, the agent uses the STANDALONE cache. If the number of worker processes is 2 or more, the agent uses the ZMQ cache.
STANDALONE
The STANDALONE cache type does not share policy cache entries across worker processes
ZMQ
The ZMQ cache type allows the agent to share policy cache entries across all worker processes using ZeroMQ for inter-process communication.

AUTO

agent.send.inventory

Determines whether the vnd-pi-agent agent inventory header is sent along with each request to the PingAccess policy server.

This header contains the following fields:

v
The PingAccess agent version.
t
The type of PingAccess agent retrieved from the server variable on the IIS context, which returns a string such as Microsoft-IIS/7.5.
h
The hostname of the PingAccess agent retrieved from the IIS context.

For more information, see Agent inventory logging.

true

agent.inventory

Specifies additional values to include in the vnd-pi-agent agent inventory header.

The following syntax is used.

agent.inventory=exampleheader=TEST;exampleheader2=TEST2;
Note:

The specified header fields are case-sensitive.

Not present by default.

You can add comments to the agent.properties files if necessary. Lines beginning with the # or ! characters are ignored by the agent.

Changes to the agent.properties file require a restart of the web server.

Tip:

See the Performance tuning guide for discussion on improving agent performance.