User
Geltungsbereich: namespaced · Lizenziert (Feature identity-management + users-Obergrenze)
Ein User ist eine Person auf der Plattform — ein lizenzierter Sitzplatz. Er ist die natürliche Identität, die die Konten dieser Person über jedes Backend hinweg zusammenführt. Die Lizenzobergrenze users zählt User-Sitzplätze, unabhängig davon, wie viele Backend-Konten (Identity) jede Person besitzt.
Spec
| Feld | Typ | Beschreibung |
|---|---|---|
email | string (erforderlich) | Die E-Mail der Person — der natürliche Schlüssel, der alle ihre Identity-Konten verknüpft. Muss eine gültige Adresse sein; eine fehlerhafte wird bei der Admission abgewiesen (ebenso Identity.spec.email und die email jedes Team- oder Organisationsmitglieds) |
displayName | string | Menschenlesbarer Name |
Ein User trägt keinen type — er ist backend-agnostisch. Die Konten pro Backend (LiteLLM-Key, Langfuse-Mitgliedschaft, LibreChat-Login) sind separate Identity-Objekte, die jeweils über userRef auf den User zurückverweisen.
Eine Person, viele Konten
User (Person / Sitzplatz) email: alice@example.com
▲ ▲ ▲
│ │ └── Identity (type: librechat) userRef: { name: alice }
│ └────── Identity (type: observability) userRef: { name: alice }
└────────── Identity (type: litellm) userRef: { name: alice }- Jede
Identitymuss ihren besitzendenUserüber einen erforderlichenuserRef({ name }, selber Namespace) referenzieren. - Eine
Identity, derenspec.emailweggelassen wird, übernimmt standardmäßig die E-Mail des besitzendenUser, sodass die Person über alle Backends hinweg eine Identität behält. Identity-Konten sind unbegrenzt; nurUser-Sitzplätze zählen gegen die Lizenz.
Beispiel
apiVersion: core.navique.com/v1alpha1
kind: User
metadata:
name: alice
namespace: forge-identity
spec:
email: alice@example.com
displayName: Alice Example
---
apiVersion: core.navique.com/v1alpha1
kind: Identity
metadata:
name: alice-litellm
namespace: forge-identity
spec:
type: litellm
userRef: { name: alice } # selber Namespace
gatewayRef: { name: gateway } # erforderlich, und selber Namespace — kein `namespace:`
# email weggelassen → erbt alice@example.comFür neue Ressourcen type: gateway bevorzugen
type: litellm funktioniert weiterhin, wird jetzt aber gegen das referenzierte Gateway geprüft und abgelehnt, wenn beide nicht übereinstimmen. type: gateway folgt stattdessen dem spec.type des Gateway, sodass die Identity das Gateway-Produkt nie benennen muss. gatewayRef ist für jeden gateway-gestützten Typ erforderlich und muss im selben Namespace liegen — siehe Backend-Auswahl und Admission-Regeln.
Lizenzierung
Die users-Instanzobergrenze in der License zählt User-Sitzplätze — eine Person ist ein Sitzplatz, unabhängig davon, wie viele Backend-Konten (Identity) sie besitzt. Die Identitätsverwaltung insgesamt erfordert das Feature identity-management. In der Community Edition verwalten Sie Identitäten stattdessen inline auf einem einzelnen Gateway.
Siehe Identity, Organization & Team und Editionen & Lizenzierung.