Inbound Traffic Policies
The PingOne inbound traffic policies API allows you to identify the source of requests to your environment using the service’s verify rules. Then, it allows you to define the structure of the request, including the client IP address and any additional headers. After defining the request structure, access to the environment can be controlled, either through a specified traffic rule or a DaVinci flow that introspects the request’s metadata. Inbound traffic policies are available only through Cloudflare-based Customer Custom Domains (CCDs).
|
For information about Cloudflare CCDs and migration from legacy CloudFront CCDs, refer to Setting up a custom domain in the PingOne admin documentation. |
The /environments/{{envID}}/inboundTrafficPolicies endpoint provides operations to create, read, update, and delete inbound traffic policy confguration resources within a specified environment. To learn more about inbound traffic controls in PingOne, refer to Inbound traffic policies in the PingOne admin documentation.
Inbound traffic policies API limits
PingOne sets the following limits on policies and rules.
-
Ten (10) inbound traffic policies per environment.
-
Four (4)
VerifyRuleobjects per inbound traffic policy. -
Fifteen (15)
HeaderRuleobjects per per inbound traffic policy. -
Sixteen (16) KB limit on the
jwksstring perverifyRuleobject. -
Five (5)
sha256Thumbprintsarray entries perverifyRuleobject. -
Five (5)
sha256Secretsarray entries perverifyRuleobject. -
Five (5)
cidrRangesarray entries perverifyRule.
Inbound traffic policies data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
Object |
Required |
Mutable |
An object that defines how the client IP address is set. The client IP address is used for rate limiting and available through DaVinci’s |
|
Date |
N/A |
Read-only |
The time the resource was created. |
|
Boolean |
Required |
Mutable |
Specifies whether the policy is enabled or disabled. A disabled policy is ignored when matching requests. It does not imply that a matching request is blocked. |
|
Object |
N/A |
Read-only |
The environment object. |
|
String |
N/A |
Read-only |
The environment resource’s unique identifier associated with the inbound traffic policy. |
|
Object[] |
Optional |
Mutable |
An object that defines the custom headers that are available in DaVinci’s |
|
String |
N/A |
Read-only |
The resource’s unique identifier. |
|
String |
Required |
Mutable |
The inbound traffic policy’s name, which must be provided and must be unique within an environment. |
|
Integer |
Required |
Mutable |
Specifies the order in which the policy is evaluated. A lower priority is evaluated first. Priority values begin at 1. Policies with duplicate priority values are ordered alphabetically by name. |
|
Object |
Required |
Mutable |
An object that defines how matching requests are processed. Refer to trafficRule data model for details. |
|
Date |
N/A |
Read-only |
The time the resource was last updated. |
|
Object[] |
Optional |
Mutable |
An array of zero or more |
clientIpRule data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
String |
Required |
Mutable |
Specifies the client IP rule type. Options are |
|
String |
Required/Optional |
Mutable |
The case-insensitive header name. This property is required for |
|
Integer |
Required/Optional |
Mutable |
A 0-based index of comma-separated header value with index starting from the first node in the list. This property is required for |
|
Integer |
Required/Optional |
Mutable |
The expected number of elements in comma-separated header value. This property is required for |
headerRules data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
String |
Required |
Mutable |
The case-insensitive header name. This property is required for |
|
Boolean |
Required |
Mutable |
Specifies whether the request must include the header (set to |
trafficRule data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
String |
Required |
Mutable |
Specifies whether matching requests are allowed to proceed. Options are |
verifyRule data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
String[] |
Required/Optional |
Mutable |
An array that specifies the list of IPv4 and/or IPv6 CIDR subnets for verifying connection IP. This property is required for the |
|
String |
Required/Optional |
Mutable |
A string in JWK Set format RFC 7517: JSON Web Key (JWK) that specifies the public keys for verifying |
|
String[] |
Required/Optional |
Mutable |
An array that specifies the list of SHA-256 thumbprints in lowercase hexadecimal for verifying mTLS certificates. This property is required for |
|
String[] |
Required/Optional |
Mutable |
An array that specifies the list of SHA-256 secret hashes in lowercase hexadecimal for verifying |
|
String |
Required |
Mutable |
Specifies the verify rule type. Options are |