Scopes define access-method constraints that apply additional policy evaluation during Phase 4. For conceptual understanding, see Scopes.
spec:
scopes:
- mrn: string # Required: MRN identifier
name: string # Required: Human-readable name
description: string # Optional: Description
policy: string # Required: Policy MRN
annotations: # Optional: Key-value metadata
- name: string
value: string # JSON-encoded value
| Field | Type | Required | Description |
|---|---|---|---|
mrn | string | Yes | Unique MRN identifier |
name | string | Yes | Human-readable scope name |
description | string | No | Scope description |
policy | string | Yes | MRN of policy to apply |
annotations | array | No | List of name/value objects for custom metadata |
Scopes define constraint boundaries based on access method. When a request includes scopes (via principal.scopes in the PORC), the scope policies are evaluated during Phase 4 (scope phase). Common sources of scopes include:
scopes:
- mrn: "mrn:iam:scope:read-only"
name: read-only
description: "Restricts to read operations only"
policy: "mrn:iam:policy:read-only-check"
- mrn: "mrn:iam:scope:internal"
name: internal
description: "Internal system access"
policy: "mrn:iam:policy:internal-only"
- mrn: "mrn:iam:scope:admin"
name: admin
description: "Administrative operations"
policy: "mrn:iam:policy:admin-only"
scopes:
- mrn: "mrn:iam:scope:pii"
name: pii
description: "Access to PII data"
policy: "mrn:iam:policy:pii-access"
annotations:
- name: "sensitivity"
value: "\"high\""
- name: "audit"
value: "true"
policies:
- mrn: &read-only "mrn:iam:policy:read-only"
name: read-only
rego: |
package authz
# ... read-only policy
scopes:
- mrn: "mrn:iam:scope:viewer"
name: viewer
policy: *read-only
Scopes are evaluated in Phase 4. Within the scope phase:
For complete details on how scopes interact with other phases, see Policy Conjunction.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |