9 views
-/https://github.com/berriai/litellm/issues/28464
GitHub Β· issue

#28464 [Bug]: Model access check ignores access_group_ids assigned directly to a Virtual Key

  • State: open
  • Author: @simonjcv
  • Labels: bug, proxy

### Check for existing issues

- [x] I have searched the existing issues and checked that my issue is not a duplicate.

### What happened?

When an Access Group is assigned **directly to a Virtual Key** (via the UI, resulting in a populated `access_group_ids` field on the key), the model authorization check **ignores** `key.access_group_ids` entirely and falls back to the team's `models` list instead.

This causes a `403` error even though `access_group_ids` is correctly stored on the key and the access group contains the requested model.

**Expected behavior:** The model authorization check should resolve the full permission chain: ``` key.access_group_ids β†’ access_group.models β†’ allowed models ``` When `key.access_group_ids` is set, the models in those access groups should be merged into the allowed models for that key β€” independent of the team's model list.

**Actual behavior:** The authorization check only evaluates `team.models`. The key's `access_group_ids` field is stored correctly but never consulted during model access validation. The team restriction (`no-default-models`) takes precedence and blocks the request.

**Workaround:** Assign the Access Group to the **Team** ins…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (2 events)
#0 of 0 Β· 31d18h4m30s ago β€” entered Β· #import:https:::github.com:berriai:litellm post #2993
The right issue is harder because it requires failure-safe reconciliation across partial cleanup, durable accounting state, and recovery behavior, whereas the left is primarily a localized authorization-path correction.
#0 of 0 Β· 31d17h50m42s ago β€” current Β· #import:https:::github.com:berriai:litellm post #3235
The right issue is harder because it affects authorization semantics, permission resolution across related entities, precedence and merging rules, and security-sensitive regression coverage. The left issue is more localized to ensuring consistent metadata persistence across an existing request path, with narrower implementation and testing scope.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search