Realms anlegen und verwalten¶
Das Anlegen eines Realms — wie auch das Löschen — ist eine systemweite Berechtigung. Sie erfordert
die Rolle identityserver-realm-administrator, die (anders als die übrigen Admin-Rollen) niemals an
einen Realm-Admin delegiert wird: Ein Realm-Admin verwaltet seinen eigenen Realm, kann aber keine
weiteren Realms anlegen.
Einen Realm anlegen¶
Ist man als Systemadministrator mit der Realm-Administrator-Rolle angemeldet, erscheint auf der
Admin-Startseite die Kachel Realms.... Sie führt zur Realm-Liste und zum Formular
Create new realm:
Realm name — der Kleinbuchstaben-Slug, der als
@realm-Suffix verwendet wird (nur Buchstaben, Ziffern und-, z. B.acme).Primary domain — die E-Mail-Domain, an der das Realm-Admin-Konto verankert wird (z. B.
acme.com).Additional domains — weitere E-Mail-Domains, die zu diesem Realm gehören, Komma- oder Leerzeichen-getrennt. Kann auch leer bleiben und später über die Verwaltungsseite Domains ergänzt werden (siehe unten).
Bemerkung
Eine Domain kann jeweils nur einem Realm gehören. Das Anlegen eines Realms mit einer bereits andernorts zugewiesenen Domain wird abgelehnt.
Beim Anlegen provisioniert IdentityServerNET automatisch:
Ein Realm-Admin-Konto,
admin@{PrimaryDomain}(z. B.admin@acme.com), mit einem zufällig generierten Passwort.Fünf delegierte Admin-Rollen, gebunden an den neuen Realm (
role@realm, z. B.identityserver-user-administrator@acme), die diesem Admin-Konto zugewiesen werden:Delegierte Rolle
Berechtigt (nur innerhalb des Realms)
User Administrator
Verwaltung von Benutzerkonten, deren E-Mail zu einer der Realm-Domains gehört.
Role Administrator
Verwaltung eigener Rollen innerhalb des Realms.
Resource Administrator
Verwaltung von Identity-/API-Ressourcen innerhalb des Realms.
Client Administrator
Verwaltung von Clients innerhalb des Realms.
Secrets Vault Administrator
Verwaltung der eigenen Locker/Secrets im Secrets Vault.
Die Realm-Verwaltung selbst und das Payload Signing-Tool bleiben systemweit und werden nicht an Realm-Admins delegiert.
Bemerkung
Realms, die vor Einführung der Secrets-Vault-Delegation angelegt wurden, erhalten die Secrets
Vault Administrator-Rolle nicht rückwirkend. Sie muss einmalig manuell über die User Roles-Seite
des Realm-Admins vergeben werden, mit der Rolle
identityserver-secretsvault-administrator@{realm}.
Wichtig
Das generierte Admin-Passwort wird genau einmal angezeigt, direkt nach dem Anlegen, in der
Statusmeldung auf der Realm-Liste. Es sollte sofort notiert werden — ein erneutes Abrufen ist nicht
möglich (nur ein Zurücksetzen über die reguläre Set Password-Funktion).
Es handelt sich außerdem um ein Einmal-Passwort: Meldet sich admin@{PrimaryDomain} das erste
Mal an, wird sofort ein neues Passwort verlangt, bevor irgendetwas anderes zugänglich ist. Siehe
Einmal-Passwörter für Details zu diesem Mechanismus.
Realm-Admin — eingeschränkte Verwaltung¶
Nach der Anmeldung als admin@acme.com sieht der Realm-Admin dieselben Admin-Kacheln wie ein normaler
Administrator (Users, Roles, Resources, Clients, Appearance) — jede Liste und jede Bearbeitungsseite ist
jedoch transparent auf diesen Realm gefiltert:
Users zeigt bzw. erstellt nur Konten, deren E-Mail zu den Domains des Realms gehört.
Roles, Resources und Clients, die der Realm-Admin anlegt, erhalten automatisch den Namespace
{name}@acme— der Admin muss den Suffix nie selbst eingeben, er wird beim Schreiben angehängt und für die Anzeige wieder entfernt.Der Versuch, ein Objekt eines anderen Realms (oder ein globales Objekt) über eine erratene ID zu laden, wird abgelehnt — dieselbe Ownership-Prüfung greift sowohl beim Lesen als auch beim Schreiben.
Einen bestehenden Realm verwalten¶
Über die Realm-Liste („Realms…“) gelangt man zu den Verwaltungsseiten des jeweiligen Realms:
- General
NameundPrimary domaindes Realms stehen nach dem Anlegen fest. Nur derDisplay name(eine menschenlesbare Bezeichnung) kann hier geändert werden.- Domains
Ein Textfeld mit allen E-Mail-Domains des Realms, eine pro Zeile. Die Primärdomain ist immer automatisch enthalten und kann nicht entfernt werden. Weitere Domains hier hinzufügen, um den Kreis der Realm-Mitglieder zu erweitern — etwa wenn der Mandant später eine zusätzliche Firmendomain erwirbt.
- Users
Eine schreibgeschützte Liste aller Benutzerkonten, deren E-Mail-Domain zu einer der Realm-Domains passt, mit Verlinkung zur regulären
Edit User-Seite.- Delete
Deprovisioniert den Realm dauerhaft. Dabei werden entfernt:
Alle Realm-gebundenen Clients
Alle Realm-gebundenen Rollen
Alle Realm-gebundenen Ressourcen
Das Realm-Admin-Konto
Bemerkung
Die Endanwender-Konten in den Domains des Realms bleiben erhalten — das Löschen eines Realms löscht nicht dessen Mitglieder, sondern nur das administrative Gerüst des Mandanten (Clients/Rollen/Ressourcen/Admin-Konto).
Als Sicherheitsabfrage muss der Realm-Name zur Bestätigung erneut eingegeben werden.
Referenz: Namenskonvention¶
Die Realm-Namespace-Konvention wird konsequent auf jede Realm-gebundene ID angewendet:
Bezeichner |
Beispiel |
|---|---|
Globaler Client/Rolle/Ressource |
|
Realm-gebundener Client/Rolle/Ressource |
|
Realm-Admin-Konto |
|
Bemerkung
Standard-OIDC-Scopes und Identity-Ressourcen (openid, profile, email, address,
phone, offline_access, roles) sind per Definition global und werden nie mit einem
Namespace versehen, auch nicht innerhalb der Client-Konfiguration eines Realms.