Statements
Statements are directives that instruct the policy enforcement point (PEP) to perform additional processing in conjunction with an authorization decision.
When a policy is applied to a request or response, the policy result might include one or more statements. Statements enable the PEP to do more than simply permit or deny access. For example, a statement can:
-
Require the removal of specific fields from a response
-
Provide explanatory details when access is denied
You can add a statement directly to a policy or rule and configure it as part of the policy definition. You can also create reusable statements in Components for use across multiple policies or rules.
Statements are sometimes called obligations. An obligation is a statement that must be fulfilled as a condition of authorizing the decision request. To indicate that the final decision applies only if a statement can be fulfilled, mark the statement as Obligatory. Typically, the service that calls PingAuthorize Server fulfills this obligation.
Statements carry additional data through payloads and attributes:
-
The optional Payload field can consist of static or interpolated data.
-
The Attributes field lets you return a key-value mapping of attributes that might be relevant to the statement.
You can drag collapsed statements to rearrange them and change the order in which they’re evaluated.
Statement properties
You can configure the following statement properties:
| Property | Required | Description | ||
|---|---|---|---|---|
Name |
Required |
Specifies a friendly name for the statement. |
||
Obligatory |
Optional |
When enabled, the statement must be fulfilled as a condition of authorizing the request:
|
||
Code |
Required |
Specifies the statement type. This value corresponds to a statement ID that the PingAuthorize configuration defines. |
||
Create |
Required |
Specifies the decision types that should include the associated statement with the result. Available types include:
|
||
Attach to final decision |
Required |
Specifies how the statement propagates through the decision tree and whether it’s returned in the overall decision response. Available options include:
|
||
Payload |
Optional |
Specifies a set of parameters that determine the actions the statement performs when PingAuthorize applies it. The appropriate payload value depends on the statement type. |
PingAuthorize Server supports all of the provided statement types except for custom statements. To develop custom statement types, use the PingAuthorize Server SDK. Learn more in Managing Server SDK Extensions.
|
Many statement types let you use the JSONPath expression language to specify JSON field paths. To experiment with JSONPath, use the JSONPath evaluator. |