Skip to main content

Software statement validation

Requires a software statement at registration when the operator demands one, and requires any statement presented to declare its grant types and resources explicitly.

  • Control id: software_statement_validation
  • Shape: deny. Segment bindings do not reach this control, because its Rego does not read settings through pbac.segments.settings.
  • Entry points: register

Policy data​

pbac.operator.controls.software_statement_validation​

  • Role: operator
  • Written by: operator
  • Schema: src/main/resources/schemas/operator-software-statement-validation.v1.json
SettingTypeDefault
require_software_statementbooleannone in the schema

Reads​

  • request.software_statement
  • request.software_statement.iss
  • request.software_statement.grant_types
  • request.software_statement.granted_resources

Emits​

  • deny
  • reason
  • deny_reasons

Reason codes​

CodeCategoryEntry pointSetting
missing_software_statementcontrolregisterpbac.operator.controls.software_statement_validation#require_software_statement
missing_explicit_declarations:grant_typesinvariantregisternone
missing_explicit_declarations:resource_declarationsinvariantregisternone

Implementation​

KindReferenceFilesRole
rego_packageoauth.software_statementopa/policies/oauth/software_statement.regodecides
rego_inlineoauth.registeropa/policies/oauth/register.regodecides