Skip to main content

Denylist

Refuses a client, subject, redirect domain, software id or issuer that the operator has listed, at every entrypoint that can see it.

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

Policy data​

pbac.operator.controls.denylist​

  • Role: operator
  • Written by: operator
  • Schema: src/main/resources/schemas/operator-denylist.v1.json
SettingTypeDefault
client_idsarray of stringnone in the schema
subjectsarray of stringnone in the schema
domainsarray of stringnone in the schema
software_idsarray of stringnone in the schema
issuersarray of stringnone in the schema

Reads​

  • context.client.client_id
  • context.client.redirect_uri
  • subject.sub

Emits​

  • deny
  • reason
  • deny_reasons

Reason codes​

CodeCategoryEntry pointSetting
client_deniedcontroltokenpbac.operator.controls.denylist#client_ids
client_deniedcontrolauthorizepbac.operator.controls.denylist#client_ids
subject_deniedcontroltokenpbac.operator.controls.denylist#subjects
subject_deniedcontrolauthorizepbac.operator.controls.denylist#subjects
domain_deniedcontrolauthorizepbac.operator.controls.denylist#domains
denylist:domaincontrolregisterpbac.operator.controls.denylist#domains
denylist:software_idcontrolregisterpbac.operator.controls.denylist#software_ids
denylist:issuercontrolregisterpbac.operator.controls.denylist#issuers

Implementation​

KindReferenceFilesRole
rego_packageoauth.denylistopa/policies/oauth/denylist.regodecides
rego_inlineoauth.tokenopa/policies/oauth/token.regodecides
rego_inlineoauth.authorizeopa/policies/oauth/authorize.regodecides
rego_inlineoauth.registeropa/policies/oauth/register.regodecides