mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-07 08:26:10 +00:00
* fix(sso): resolve multi-valued role claims to the highest privilege role A role claim carrying several roles used to resolve to whichever one the IdP listed first, so a user holding both proxy_admin_viewer and internal_user lost org-level spend visibility depending on claim ordering alone. get_litellm_user_role now picks the highest privilege role out of a list-valued claim, and the Entra app_roles path shares that same resolution instead of keeping its own copy of the hierarchy. SAML assertions carrying several role values go through the same path rather than taking the first value. * test(sso): lock ranked-over-unranked role resolution for mixed claims org_admin, team and customer sit outside the privilege ladder. Pin the resolution for a claim that mixes one of them with a ranked role so the asymmetry is covered rather than implicit. * fix(sso): label the claim-sequence cast for the type-discipline gate * fix(sso): resolve claim entries without recursing The repo's recursive-function gate rejects self-recursion here, and a role claim is flat anyway. Pull the single-value lookup into its own helper so the list branch maps over it instead of calling back into itself.
260 lines
2.9 KiB
JSON
260 lines
2.9 KiB
JSON
{
|
|
"ANN001": {
|
|
"limit": 2984
|
|
},
|
|
"ANN002": {
|
|
"limit": 71
|
|
},
|
|
"ANN003": {
|
|
"limit": 809
|
|
},
|
|
"ANN201": {
|
|
"limit": 2000
|
|
},
|
|
"ANN202": {
|
|
"limit": 835
|
|
},
|
|
"ANN204": {
|
|
"limit": 693
|
|
},
|
|
"ANN205": {
|
|
"limit": 112
|
|
},
|
|
"ANN206": {
|
|
"limit": 133
|
|
},
|
|
"ANN401": {
|
|
"limit": 304
|
|
},
|
|
"ASYNC230": {
|
|
"limit": 11
|
|
},
|
|
"B004": {
|
|
"limit": 2
|
|
},
|
|
"B006": {
|
|
"limit": 176
|
|
},
|
|
"B008": {
|
|
"limit": 503
|
|
},
|
|
"B009": {
|
|
"limit": 52
|
|
},
|
|
"B010": {
|
|
"limit": 190
|
|
},
|
|
"B018": {
|
|
"limit": 2
|
|
},
|
|
"B019": {
|
|
"limit": 1
|
|
},
|
|
"B021": {
|
|
"limit": 1
|
|
},
|
|
"B026": {
|
|
"limit": 3
|
|
},
|
|
"BLE001": {
|
|
"limit": 2916
|
|
},
|
|
"C401": {
|
|
"limit": 8
|
|
},
|
|
"C404": {
|
|
"limit": 1
|
|
},
|
|
"C405": {
|
|
"limit": 19
|
|
},
|
|
"C408": {
|
|
"limit": 11
|
|
},
|
|
"C414": {
|
|
"limit": 4
|
|
},
|
|
"C419": {
|
|
"limit": 1
|
|
},
|
|
"C901": {
|
|
"limit": 311
|
|
},
|
|
"D419": {
|
|
"limit": 6
|
|
},
|
|
"DTZ001": {
|
|
"limit": 2
|
|
},
|
|
"DTZ003": {
|
|
"limit": 26
|
|
},
|
|
"DTZ005": {
|
|
"limit": 233
|
|
},
|
|
"DTZ006": {
|
|
"limit": 10
|
|
},
|
|
"DTZ007": {
|
|
"limit": 17
|
|
},
|
|
"DTZ011": {
|
|
"limit": 3
|
|
},
|
|
"EXE001": {
|
|
"limit": 4
|
|
},
|
|
"EXE002": {
|
|
"limit": 3
|
|
},
|
|
"F401": {
|
|
"limit": 12
|
|
},
|
|
"LOG015": {
|
|
"limit": 5
|
|
},
|
|
"N999": {
|
|
"limit": 1
|
|
},
|
|
"PERF102": {
|
|
"limit": 21
|
|
},
|
|
"PERF401": {
|
|
"limit": 12
|
|
},
|
|
"PERF403": {
|
|
"limit": 33
|
|
},
|
|
"PIE804": {
|
|
"limit": 18
|
|
},
|
|
"PIE810": {
|
|
"limit": 43
|
|
},
|
|
"PLC0206": {
|
|
"limit": 26
|
|
},
|
|
"PLC0414": {
|
|
"limit": 46
|
|
},
|
|
"PLR0124": {
|
|
"limit": 1
|
|
},
|
|
"PLR0206": {
|
|
"limit": 1
|
|
},
|
|
"PLR1704": {
|
|
"limit": 3
|
|
},
|
|
"PLR1714": {
|
|
"limit": 253
|
|
},
|
|
"PLW0127": {
|
|
"limit": 57
|
|
},
|
|
"PLW0602": {
|
|
"limit": 215
|
|
},
|
|
"PLW0603": {
|
|
"limit": 190
|
|
},
|
|
"PLW1508": {
|
|
"limit": 190
|
|
},
|
|
"PLW1510": {
|
|
"limit": 2
|
|
},
|
|
"PYI036": {
|
|
"limit": 3
|
|
},
|
|
"RET504": {
|
|
"limit": 173
|
|
},
|
|
"RUF012": {
|
|
"limit": 239
|
|
},
|
|
"RUF015": {
|
|
"limit": 8
|
|
},
|
|
"RUF019": {
|
|
"limit": 27
|
|
},
|
|
"RUF046": {
|
|
"limit": 4
|
|
},
|
|
"RUF059": {
|
|
"limit": 66
|
|
},
|
|
"RUF100": {
|
|
"limit": 0
|
|
},
|
|
"S110": {
|
|
"limit": 217
|
|
},
|
|
"S112": {
|
|
"limit": 22
|
|
},
|
|
"SIM101": {
|
|
"limit": 56
|
|
},
|
|
"SIM102": {
|
|
"limit": 310
|
|
},
|
|
"SIM103": {
|
|
"limit": 119
|
|
},
|
|
"SIM113": {
|
|
"limit": 3
|
|
},
|
|
"SIM115": {
|
|
"limit": 2
|
|
},
|
|
"SIM117": {
|
|
"limit": 6
|
|
},
|
|
"SIM201": {
|
|
"limit": 1
|
|
},
|
|
"SIM210": {
|
|
"limit": 8
|
|
},
|
|
"SIM211": {
|
|
"limit": 1
|
|
},
|
|
"SIM222": {
|
|
"limit": 1
|
|
},
|
|
"SIM401": {
|
|
"limit": 11
|
|
},
|
|
"TC004": {
|
|
"limit": 5
|
|
},
|
|
"TID251": {
|
|
"limit": 1071
|
|
},
|
|
"TRY002": {
|
|
"limit": 524
|
|
},
|
|
"TRY004": {
|
|
"limit": 96
|
|
},
|
|
"TRY201": {
|
|
"limit": 403
|
|
},
|
|
"TRY203": {
|
|
"limit": 111
|
|
},
|
|
"TRY300": {
|
|
"limit": 854
|
|
},
|
|
"UP028": {
|
|
"limit": 2
|
|
},
|
|
"UP031": {
|
|
"limit": 2
|
|
},
|
|
"UP036": {
|
|
"limit": 1
|
|
}
|
|
}
|