- Property Manager name: SaaS Definitions
- Behavior version: The
latest
rule format supports thesaasDefinitions
behavior v3.1. - Rule format status: Beta, possible breaking changes
- Access: Read/Write
- Allowed in includes: Not available for
latest
rule format
Configures how the Software as a Service feature identifies customers, applications, and users. A different set of options is available for each type of targeted request, each enabled with the action
-suffixed option. In each case, you can use PATH
, COOKIE
, QUERY_STRING
, or HOSTNAME
components as identifiers, or disable
the SaaS behavior for certain targets. If you rely on a HOSTNAME
, you also have the option of specifying a CNAME chain rather than an individual hostname. The various options suffixed regex
and replace
subsequently remove the identifier from the request. This behavior requires a sibling origin
behavior whose originType
option is set to SAAS_DYNAMIC_ORIGIN
.
Option | Type | Description | Requires | |
---|---|---|---|---|
customerAction | enum | Specifies the request component that identifies a SaaS customer. | {"displayType":"enum","options":["DISABLED","HOSTNAME","PATH","QUERY_STRING","COOKIE"],"tag":"select"} | |
DISABLED | This effectively ignores customers. | |||
HOSTNAME | In a hostname. | |||
PATH | In the URL path. | |||
QUERY_STRING | In a query parameter. | |||
COOKIE | In a cookie. | |||
customerCnameEnabled | boolean | Enabling this allows you to identify customers using a CNAME chain rather than a single hostname. | customerAction is HOSTNAME | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"customerAction","op":"eq","value":"HOSTNAME"}} |
customerCnameLevel | number | Specifies the number of CNAMEs to use in the chain. | customerCnameEnabled is true | {"displayType":"number","tag":"input","type":"number"} {"if":{"attribute":"customerCnameEnabled","op":"eq","value":true}} |
customerCookie | string | This specifies the name of the cookie that identifies the customer. | customerAction is COOKIE | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"customerAction","op":"eq","value":"COOKIE"}} |
customerQueryString | string | This names the query parameter that identifies the customer. | customerAction is QUERY_STRING | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"customerAction","op":"eq","value":"QUERY_STRING"}} |
customerRegex | string | Specifies a Perl-compatible regular expression with which to substitute the request's customer ID. | customerAction is either: HOSTNAME , PATH , COOKIE , QUERY_STRING | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"customerAction","op":"in","value":["HOSTNAME","PATH","COOKIE","QUERY_STRING"]}} |
customerReplace | string | Specifies a string to replace the request's customer ID matched by | customerAction is either: HOSTNAME , PATH , COOKIE , QUERY_STRING | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"customerAction","op":"in","value":["HOSTNAME","PATH","COOKIE","QUERY_STRING"]}} |
applicationAction | enum | Specifies the request component that identifies a SaaS application. | {"displayType":"enum","options":["DISABLED","HOSTNAME","PATH","QUERY_STRING","COOKIE"],"tag":"select"} | |
DISABLED | This effectively ignores applications. | |||
HOSTNAME | In the hostname. | |||
PATH | In the URL path. | |||
QUERY_STRING | In a query parameter. | |||
COOKIE | In a cookie. | |||
applicationCnameEnabled | boolean | Enabling this allows you to identify applications using a CNAME chain rather than a single hostname. | applicationAction is HOSTNAME | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"applicationAction","op":"eq","value":"HOSTNAME"}} |
applicationCnameLevel | number | Specifies the number of CNAMEs to use in the chain. | applicationCnameEnabled is true | {"displayType":"number","tag":"input","type":"number"} {"if":{"attribute":"applicationCnameEnabled","op":"eq","value":true}} |
applicationCookie | string | This specifies the name of the cookie that identifies the application. | applicationAction is COOKIE | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"applicationAction","op":"eq","value":"COOKIE"}} |
applicationQueryString | string | This names the query parameter that identifies the application. | applicationAction is QUERY_STRING | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"applicationAction","op":"eq","value":"QUERY_STRING"}} |
applicationRegex | string | Specifies a Perl-compatible regular expression with which to substitute the request's application ID. | applicationAction is either: HOSTNAME , PATH , COOKIE , QUERY_STRING | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"applicationAction","op":"in","value":["HOSTNAME","PATH","COOKIE","QUERY_STRING"]}} |
applicationReplace | string | Specifies a string to replace the request's application ID matched by | applicationAction is either: HOSTNAME , PATH , COOKIE , QUERY_STRING | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"applicationAction","op":"in","value":["HOSTNAME","PATH","COOKIE","QUERY_STRING"]}} |
usersAction | enum | Specifies the request component that identifies a SaaS user. | {"displayType":"enum","options":["DISABLED","HOSTNAME","PATH","QUERY_STRING","COOKIE"],"tag":"select"} | |
DISABLED | This effectively ignores users. | |||
HOSTNAME | In a hostname. | |||
PATH | In the URL path. | |||
QUERY_STRING | In a query parameter. | |||
COOKIE | In a cookie. | |||
usersCnameEnabled | boolean | Enabling this allows you to identify users using a CNAME chain rather than a single hostname. | usersAction is HOSTNAME | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"usersAction","op":"eq","value":"HOSTNAME"}} |
usersCnameLevel | number | Specifies the number of CNAMEs to use in the chain. | usersCnameEnabled is true | {"displayType":"number","tag":"input","type":"number"} {"if":{"attribute":"usersCnameEnabled","op":"eq","value":true}} |
usersCookie | string | This specifies the name of the cookie that identifies the user. | usersAction is COOKIE | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"usersAction","op":"eq","value":"COOKIE"}} |
usersQueryString | string | This names the query parameter that identifies the user. | usersAction is QUERY_STRING | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"usersAction","op":"eq","value":"QUERY_STRING"}} |
usersRegex | string | Specifies a Perl-compatible regular expression with which to substitute the request's user ID. | usersAction is either: HOSTNAME , PATH , COOKIE , QUERY_STRING | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"usersAction","op":"in","value":["HOSTNAME","PATH","COOKIE","QUERY_STRING"]}} |
usersReplace | string | Specifies a string to replace the request's user ID matched by | usersAction is either: HOSTNAME , PATH , COOKIE , QUERY_STRING | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"usersAction","op":"in","value":["HOSTNAME","PATH","COOKIE","QUERY_STRING"]}} |