No Wildcard Subject Access in ApplicationGroups
SUBJECT permissions must be prefix-scoped (patternType=PREFIXED, name!="*").
Rationale
Even "read-only" wildcard subject access leaks the shape of every PII record in the org (field names like `ssn`, `dob`, `internal_pricing`). Schema registries are routinely under-secured because teams treat them as metadata, but the field catalog itself is sensitive. Force every subject grant to be prefix-scoped to a domain.
Pattern
permissions[].resourceType=="SUBJECT" → name != "*" AND patternType == "PREFIXED"
Examples
resourceType=SUBJECT, name="payments.", patternType=PREFIXED
resourceType=SUBJECT, name="*", patternType=LITERAL
resourceType=SUBJECT, name="*", patternType=PREFIXED
Implementation
Drop this YAML into Conduktor Console as a ResourcePolicy, then link it from an ApplicationInstance, Application, or KafkaCluster.
Conduktor ResourcePolicy
# Conduktor self-service ResourcePolicy --- apiVersion: self-serve/v1 kind: ResourcePolicy metadata: name: applicationgroup-no-subject-wildcard-read spec: targetKind: ApplicationGroup description: SUBJECT permissions must be prefix-scoped (patternType=PREFIXED, name!="*") rules: - condition: 'spec.permissions.all(p, p.resourceType != "SUBJECT" || (p.name != "*" && p.patternType == "PREFIXED"))' errorMessage: "SUBJECT permissions must be prefix-scoped (patternType=PREFIXED, name!=\"*\") — schema field names leak PII structure"
Related policies
Try Conduktor Console
Enforce policies like this across your team — central audit history, pre-commit guardrails, ApplicationInstance bindings. 5-min Docker install.
Get Started →