GuideReference
TrainingSupportCommunity

saas_​definitions

  • Property Manager name: SaaS Definitions
  • Behavior version: The v2023-09-20 rule format supports the saas_​definitions behavior v3.1.
  • Rule format status: GA, stable
  • Access: Read-write
  • Allowed in includes: No (temporarily)

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 Saa​S 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 origin​Type option is set to SAAS_​DYNAMIC_​ORIGIN.

OptionTypeDescriptionRequires
customer_​actionenum

Specifies the request component that identifies a Saa​S 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.

customer_​cname_​enabledboolean

Enabling this allows you to identify customers using a CNAME chain rather than a single hostname.

customer_​action is HOSTNAME
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"customerAction","op":"eq","value":"HOSTNAME"}}
customer_​cname_​levelnumber

Specifies the number of CNAMEs to use in the chain.

customer_​cname_​enabled is true
{"displayType":"number","tag":"input","type":"number"}
{"if":{"attribute":"customerCnameEnabled","op":"eq","value":true}}
customer_​query_​stringstring

This names the query parameter that identifies the customer.

customer_​action is QUERY_​STRING
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"customerAction","op":"eq","value":"QUERY_STRING"}}
customer_​regexstring

Specifies a Perl-compatible regular expression with which to substitute the request's customer ID.

customer_​action is either: HOSTNAME, PATH, COOKIE, QUERY_​STRING
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"customerAction","op":"in","value":["HOSTNAME","PATH","COOKIE","QUERY_STRING"]}}
customer_​replacestring

Specifies a string to replace the request's customer ID matched by customer_​regex.

customer_​action is either: HOSTNAME, PATH, COOKIE, QUERY_​STRING
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"customerAction","op":"in","value":["HOSTNAME","PATH","COOKIE","QUERY_STRING"]}}
application_​actionenum

Specifies the request component that identifies a Saa​S 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.

application_​cname_​enabledboolean

Enabling this allows you to identify applications using a CNAME chain rather than a single hostname.

application_​action is HOSTNAME
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"applicationAction","op":"eq","value":"HOSTNAME"}}
application_​cname_​levelnumber

Specifies the number of CNAMEs to use in the chain.

application_​cname_​enabled is true
{"displayType":"number","tag":"input","type":"number"}
{"if":{"attribute":"applicationCnameEnabled","op":"eq","value":true}}
application_​query_​stringstring

This names the query parameter that identifies the application.

application_​action is QUERY_​STRING
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"applicationAction","op":"eq","value":"QUERY_STRING"}}
application_​regexstring

Specifies a Perl-compatible regular expression with which to substitute the request's application ID.

application_​action is either: HOSTNAME, PATH, COOKIE, QUERY_​STRING
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"applicationAction","op":"in","value":["HOSTNAME","PATH","COOKIE","QUERY_STRING"]}}
application_​replacestring

Specifies a string to replace the request's application ID matched by application_​regex.

application_​action is either: HOSTNAME, PATH, COOKIE, QUERY_​STRING
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"applicationAction","op":"in","value":["HOSTNAME","PATH","COOKIE","QUERY_STRING"]}}
users_​actionenum

Specifies the request component that identifies a Saa​S 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.

users_​cname_​enabledboolean

Enabling this allows you to identify users using a CNAME chain rather than a single hostname.

users_​action is HOSTNAME
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"usersAction","op":"eq","value":"HOSTNAME"}}
users_​cname_​levelnumber

Specifies the number of CNAMEs to use in the chain.

users_​cname_​enabled is true
{"displayType":"number","tag":"input","type":"number"}
{"if":{"attribute":"usersCnameEnabled","op":"eq","value":true}}
users_​query_​stringstring

This names the query parameter that identifies the user.

users_​action is QUERY_​STRING
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"usersAction","op":"eq","value":"QUERY_STRING"}}
users_​regexstring

Specifies a Perl-compatible regular expression with which to substitute the request's user ID.

users_​action is either: HOSTNAME, PATH, COOKIE, QUERY_​STRING
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"usersAction","op":"in","value":["HOSTNAME","PATH","COOKIE","QUERY_STRING"]}}
users_​replacestring

Specifies a string to replace the request's user ID matched by users_​regex.

users_​action is either: HOSTNAME, PATH, COOKIE, QUERY_​STRING
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"usersAction","op":"in","value":["HOSTNAME","PATH","COOKIE","QUERY_STRING"]}}