Hi everyone,
I’m trying to determine whether I’ve found a regression or if I’m missing a new configuration requirement introduced in Gateway 3.15.0.2.
Environment
Working Environment
- Konnect Trial (older)
- Gateway Data Plane: 3.15.0.1
Non-working Environment
- Fresh Konnect Trial
- Gateway Data Plane: 3.15.0.2
Both environments were created independently (not cloned).
Authentication Flow
I’m using the standard Konnect Developer Portal workflow:
- Azure Entra ID (OIDC) authentication
- Azure Group → Developer Portal Team Mapping
- Developer creates an Application
- Application Registration is approved
- Application is linked to a Gateway Consumer
- Consumer belongs to a Consumer Group
- Application API key is used to authenticate requests
No Key Authentication plugin is enabled on the Gateway.
Authentication is handled by the managed Konnect Application Auth plugin together with Konnect Access Control Enforcement.
ACL Configuration
ACL plugin is attached to the Route.
Example:
Allow:
<consumer-group>
Include Consumer Groups:
Enabled
Deny:
(empty)
The linked Consumer is confirmed to be a member of the allowed Consumer Group.
Consumer Linking
The Application Registration is correctly linked to a Gateway Consumer.
Application
↓
Linked Consumer
↓
Consumer Group
The Consumer appears correctly inside the Consumer Group.
Observed Behavior
Without the ACL plugin:
Application API key authenticates successfully.
Request reaches the upstream service.
With ACL enabled:
Request returns 403 Forbidden.
Authentication still succeeds.
Only authorization fails.
Interesting Difference
The generated managed konnect-application-auth plugin differs between the two environments.
Working (3.15.0.1)
"principals": {
"enabled": true
}
Non-working (3.15.0.2)
"principals": {
"enabled": false
}
Everything else in the generated plugin is effectively identical (aside from expected IDs, scopes, strategy IDs, etc.).
The plugin is Konnect-managed:
konnect-managed-plugin
so it isn’t something I configured manually.
Request Logging
Requests authenticate successfully:
auth_type: key-auth
However, the request only contains an authenticated_entity and does not appear to resolve to a Consumer object before ACL evaluation.
The request ultimately returns:
403 Forbidden
Troubleshooting Performed
Verified:
- Azure OIDC configuration
- Team Mapping
- Application Authentication Strategy
- Consumer Linking
- Consumer exists
- Consumer belongs to the correct Consumer Group
- ACL Allow list
- Include Consumer Groups enabled/disabled
- Recreated the Developer Portal from scratch
- Recreated Applications
- Recreated Consumers
The only consistent difference found is:
principals.enabled
Working:
true
Non-working:
false
Question
Has anyone seen this before?
Specifically:
- Is
principals.enabled=falseexpected on fresh Konnect portals? - Is ACL officially supported together with Konnect Access Control Enforcement and Konnect Application Auth in Gateway 3.15.0.2?
- Could this be a regression introduced after 3.15.0.1?
Any insight would be greatly appreciated.
I intentionally omitted:
- Company names
- Personal names
- Portal names
- Consumer names
- Consumer Group names
- Domain names
- Control Plane names
- UUIDs
- Internal IDs
