✨ SSO für Admin UI
✨ SSO ist auf LiteLLM Enterprise verfügbar
SSO für die UI
Schritt 1: Obergrenzen für Schlüssel festlegen
Steuern Sie die Obergrenze, die Benutzer für max_budget, budget_duration oder einen beliebigen key/generate Parameter pro Schlüssel verwenden können.
litellm_settings:
upperbound_key_generate_params:
max_budget: 100 # Optional[float], optional): upperbound of $100, for all /key/generate requests
budget_duration: "10d" # Optional[str], optional): upperbound of 10 days for budget_duration values
duration: "30d" # Optional[str], optional): upperbound of 30 days for all /key/generate requests
max_parallel_requests: 1000 # (Optional[int], optional): Max number of requests that can be made in parallel. Defaults to None.
tpm_limit: 1000 #(Optional[int], optional): Tpm limit. Defaults to None.
rpm_limit: 1000 #(Optional[int], optional): Rpm limit. Defaults to None.
Erwartetes Verhalten
- Senden Sie eine
/key/generateAnfrage mitmax_budget=200 - Der Schlüssel wird mit
max_budget=100erstellt, da 100 die Obergrenze ist
Schritt 2: Oauth-Client einrichten
- Okta SSO
- Google SSO
- Microsoft SSO
- Generischer SSO-Anbieter
- Fügen Sie Okta-Anmeldedaten zu Ihrer .env hinzu
GENERIC_CLIENT_ID = "<your-okta-client-id>"
GENERIC_CLIENT_SECRET = "<your-okta-client-secret>"
GENERIC_AUTHORIZATION_ENDPOINT = "<your-okta-domain>/authorize" # https://dev-2kqkcd6lx6kdkuzt.us.auth0.com/authorize
GENERIC_TOKEN_ENDPOINT = "<your-okta-domain>/token" # https://dev-2kqkcd6lx6kdkuzt.us.auth0.com/oauth/token
GENERIC_USERINFO_ENDPOINT = "<your-okta-domain>/userinfo" # https://dev-2kqkcd6lx6kdkuzt.us.auth0.com/userinfo
GENERIC_CLIENT_STATE = "random-string" # [OPTIONAL] REQUIRED BY OKTA, if not set random state value is generated
Sie können Ihre domänenspezifischen Auth-/Token-/Userinfo-Endpunkte unter <IHRE-OKTA-DOMAIN>/.well-known/openid-configuration abrufen
- Fügen Sie die Proxy-URL als Callback-URL bei Okta hinzu
Fügen Sie bei Okta die 'callback_url' als <proxy_base_url>/sso/callback hinzu
- Erstellen Sie einen neuen OAuth 2.0-Client unter https://console.cloud.google.com/
Erforderliche .env-Variablen für Ihren Proxy
# for Google SSO Login
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
- Setzen Sie die Redirect-URL in Ihrem OAuth 2.0-Client unter https://console.cloud.google.com/
- Setzen Sie eine Redirect-URL =
<Ihre Proxy-Basis-URL>/sso/callbackhttps://litellm-production-7002.up.railway.app/sso/callback
- Setzen Sie eine Redirect-URL =
- Erstellen Sie eine neue App-Registrierung unter https://portal.azure.com/
- Erstellen Sie ein Client-Geheimnis für Ihre App-Registrierung
Erforderliche .env-Variablen für Ihren Proxy
MICROSOFT_CLIENT_ID="84583a4d-"
MICROSOFT_CLIENT_SECRET="nbk8Q~"
MICROSOFT_TENANT="5a39737
- Setzen Sie die Redirect-URI in Ihrer App-Registrierung unter https://portal.azure.com/
- Setzen Sie eine Redirect-URL =
<Ihre Proxy-Basis-URL>/sso/callbackhttps://:4000/sso/callback
- Setzen Sie eine Redirect-URL =
Ein generischer OAuth-Client, der verwendet werden kann, um schnell Unterstützung für jeden OAuth-Anbieter mit nahezu keinem Code zu schaffen
Erforderliche .env-Variablen für Ihren Proxy
GENERIC_CLIENT_ID = "******"
GENERIC_CLIENT_SECRET = "G*******"
GENERIC_AUTHORIZATION_ENDPOINT = "https://:9090/auth"
GENERIC_TOKEN_ENDPOINT = "https://:9090/token"
GENERIC_USERINFO_ENDPOINT = "https://:9090/me"
Optionale .env-Variablen Die folgenden können verwendet werden, um Attributnamen bei der Interaktion mit dem generischen OAuth-Anbieter anzupassen. Wir lesen diese Attribute aus dem Ergebnis des SSO-Anbieters
GENERIC_USER_ID_ATTRIBUTE = "given_name"
GENERIC_USER_EMAIL_ATTRIBUTE = "family_name"
GENERIC_USER_DISPLAY_NAME_ATTRIBUTE = "display_name"
GENERIC_USER_FIRST_NAME_ATTRIBUTE = "first_name"
GENERIC_USER_LAST_NAME_ATTRIBUTE = "last_name"
GENERIC_USER_ROLE_ATTRIBUTE = "given_role"
GENERIC_USER_PROVIDER_ATTRIBUTE = "provider"
GENERIC_CLIENT_STATE = "some-state" # if the provider needs a state parameter
GENERIC_INCLUDE_CLIENT_ID = "false" # some providers enforce that the client_id is not in the body
GENERIC_SCOPE = "openid profile email" # default scope openid is sometimes not enough to retrieve basic user info like first_name and last_name located in profile scope
- Setzen Sie die Redirect-URI, falls Ihr Anbieter dies erfordert
- Setzen Sie eine Redirect-URL =
<Ihre Proxy-Basis-URL>/sso/callbackhttps://:4000/sso/callback
- Setzen Sie eine Redirect-URL =
Standard-Login-, Logout-URLs
Einige SSO-Anbieter erfordern eine spezifische Redirect-URL für Login und Logout. Sie können die folgenden Werte eingeben.
- Login:
<Ihre-Proxy-Basis-URL>/sso/key/generate - Logout:
<Ihre-Proxy-Basis-URL>
Hier ist die .env-Variable, um die Logout-URL im Proxy zu setzen
PROXY_LOGOUT_URL="https://www.google.com"
Schritt 3: Setzen Sie PROXY_BASE_URL in Ihrer .env
Setzen Sie dies in Ihrer .env (damit der Proxy die korrekte Redirect-URL setzen kann)
PROXY_BASE_URL=https://litellm-api.up.railway.app
Schritt 4: Testen des Ablaufs

Unterdomänen von E-Mail-Adressen mit SSO einschränken
Wenn Sie SSO verwenden und nur Benutzern mit einer bestimmten Unterdomäne (z. B. E-Mail-Konten von @berri.ai) den Zugriff auf die UI erlauben möchten, tun Sie Folgendes
export ALLOWED_EMAIL_DOMAINS="berri.ai"
Dadurch wird überprüft, ob die E-Mail-Adresse des Benutzers, die wir vom SSO-Anbieter erhalten, diese Domäne enthält, bevor der Zugriff gewährt wird.
Proxy-Administrator festlegen
Legen Sie einen Proxy-Administrator fest, wenn SSO aktiviert ist. Sobald SSO aktiviert ist, wird die user_id für Benutzer vom SSO-Anbieter abgerufen. Um einen Proxy-Administrator festzulegen, müssen Sie die user_id aus der UI kopieren und in Ihrer .env als PROXY_ADMIN_ID festlegen.
Schritt 1: Kopieren Sie Ihre ID aus der UI
Schritt 2: Setzen Sie sie in Ihrer .env als PROXY_ADMIN_ID
export PROXY_ADMIN_ID="116544810872468347480"
Schritt 3: Alle Proxy-Schlüssel anzeigen
Wenn Sie nicht alle Ihre Schlüssel sehen, könnte dies an einem zwischengespeicherten Token liegen. Melden Sie sich einfach erneut an und es sollte funktionieren.
Standardteam in der Admin-UI deaktivieren
Verwenden Sie dies, wenn Sie das Standardteam in der Admin-UI ausblenden möchten
Die folgende Logik wird angewendet
- Wenn ein Team zugewiesen ist, zeigen Sie nicht das
Standardteaman - Wenn kein Team zugewiesen ist, sollten sie das
Standardteamsehen
Setzen Sie default_team_disabled: true in Ihrer litellm config.yaml
general_settings:
master_key: sk-1234
default_team_disabled: true # OR you can set env var PROXY_DEFAULT_TEAM_DISABLED="true"
Benutzername, Passwort verwenden, wenn SSO aktiviert ist
Wenn Sie über Benutzername/Passwort auf die UI zugreifen müssen, wenn SSO aktiviert ist, navigieren Sie zu /fallback/login. Diese Route ermöglicht es Ihnen, sich mit Ihren Benutzername/Passwort-Anmeldedaten anzumelden.
UI-Zugriff einschränken
Sie können den UI-Zugriff auf Administratoren beschränken – dazu gehören Sie (proxy_admin) und Personen, denen Sie schreibgeschützten Zugriff gewähren (proxy_admin_viewer) für die Anzeige der globalen Ausgaben.
Schritt 1: Zugriff nur für Administratoren festlegen
general_settings:
ui_access_mode: "admin_only"
Schritt 2: Schreibgeschützte Benutzer einladen
Benutzerdefinierte Branding der Admin-UI
Verwenden Sie das benutzerdefinierte Branding Ihres Unternehmens in der LiteLLM Admin-UI. Wir ermöglichen Ihnen
- Das UI-Logo anpassen
- Das Farbschema der UI anpassen
Benutzerdefiniertes Logo festlegen
Wir erlauben Ihnen, ein lokales Bild oder eine HTTP/HTTPS-URL Ihres Bildes zu übergeben
Setzen Sie UI_LOGO_PATH in Ihrer env. Wir empfehlen die Verwendung eines gehosteten Bildes, da dies die Einrichtung und Konfiguration/Fehlerbehebung erheblich vereinfacht
Beispiel für das Setzen eines gehosteten Bildes
UI_LOGO_PATH="https://litellm-logo-aws-marketplace.s3.us-west-2.amazonaws.com/berriai-logo-github.png"
Beispiel für das Setzen eines lokalen Bildes (in Ihrem Container)
UI_LOGO_PATH="ui_images/logo.jpg"
Benutzerdefiniertes Farbschema festlegen
- Navigieren Sie zu /enterprise/enterprise_ui
- Benennen Sie im Verzeichnis
enterprise_ui_enterprise_colors.jsoninenterprise_colors.jsonum - Setzen Sie das benutzerdefinierte Farbschema Ihres Unternehmens in
enterprise_colors.json. Beispielinhalt vonenterprise_colors.jsonSetzen Sie Ihre Farben auf eine der folgenden Farben: https://www.tremor.so/docs/layout/color-palette#default-colors
{
"brand": {
"DEFAULT": "teal",
"faint": "teal",
"muted": "teal",
"subtle": "teal",
"emphasis": "teal",
"inverted": "teal"
}
}
- LiteLLM Proxy-Server bereitstellen