Rollen
| Rolle | Wer | Umfang |
|---|---|---|
| Owner | der eine Plattform-Owner, den die Installation anlegt (--owner-input) | alles; kann nicht gesperrt, gelöscht oder in seinen Rechten ersetzt werden |
| Administrator | weitere Administratoren (/native-users) mit einem Admin-Profil (security_admin, operations_admin, account_admin, support_admin, read_only_admin) | plattformweit, begrenzt durch ihre Capabilities |
| Reseller | ein Mandant, dem Kunden gehören | eigene Kunden, Vorlagen, Kundengruppen und Domain-Claims |
| Kunde (Client) | ein Mandant | eigene Websites, E-Mail, DNS, Datenbanken, Zugänge und Zeitpläne |
- Es gibt nur eine Ebene: Ein Reseller kann keinen übergeordneten Reseller haben.
- Wird ein Reseller suspendiert, enden die Sitzungen aller seiner Kunden. Das Sperren eines Kontos blockiert Anmeldungen und Schreibvorgänge, laufende Dienste bleiben aber aktiv.
- Eine verwaltete Domain zu besitzen, erlaubt für sich allein noch keine Schreibzugriffe auf DNS, E-Mail oder Web.
Capabilities
Jede Aktion wird gegen eine Capability geprüft (der Katalog umfasst 79 Einträge). Was nicht gewährt ist, wird verweigert; ein explizites Verbot gewinnt immer.
- Kunden und Reseller erhalten die Capabilities, die im Profil unter
native_tenants.role_grantsstehen. Der Installer lässt höchstens diese Obergrenze zu:core.read,help.read,content.read,operations.read,clients.read,sites|mail|dns|database|remote_users×read|create|update|delete,sites|mail|dns.effect; Reseller zusätzlichclients.create|update|delete. - Nie an Mandanten vergebbar: Plattform-Server, Firewall, Systemkonfiguration, Identitätsverwaltung, Erweiterungen, Direktiven,
operations.execute|approveund das Erstellen von Service-Blueprints. - Step-up (
native_capability_elevation): Die 23 administrativen Step-up-Capabilities brauchen unmittelbar vor der Aktion ein frisches Passwort plus einen TOTP-Code; das Panel fragt automatisch danach. Dazu gehören Firewall, Serverkonfiguration, Dienste, Adressen und PHP, das Aufgeben von Fleet-Knoten (platform.node.abandon), Systemkonfiguration, die Lizenzinstallation (system.license.manage), Identitätsverwaltung, Remote-Benutzer, Erweiterungen, Operations execute/approve und das Anzeigen von Blueprint-Zugangsdaten.
Hinweis: Eine Step-up-Freigabe gilt 5 Minuten und für genau einen akzeptierten Versuch. Voraussetzung ist eine eingerichtete MFA, siehe Sicherheit.
Pläne (Kundenvorlagen)
Ein Plan ist eine veröffentlichte Version einer Kundenvorlage (ctv_...). Er besteht aus:
- Dimensionen: Limits wie
web.sites,web.storage.bytes,mail.mailboxes,dns.primary-zones,dns.secondary-zones,database.instances,scheduling.cron-jobs,domains.claimsund Schalter wieweb.tls,web.automatic-tls,web.backup,mail.backup. Nicht aufgeführte Dimensionen sind deaktiviert. - Platzierungs-Selektoren: welche Knoten und Modi ein Kunde nutzen darf (
web.nodes,mail.nodes,database.nodes,dns.primary-nodes,dns.secondary-nodes,web.ip-addresses,web.php-modes,access.ssh-chroots,scheduling.cron-type).
Kunden und Reseller legst du per Mandanten-Onboarding an: zuerst eine Vorschau (ohne Wirkung, 15 Minuten gültig), dann die Anwendung mit dem Initialpasswort. Ein Planwechsel ist eine Kontoänderung mit {"plan":{"template_version_id":"ctv_..."}}.
Wichtig: Einen gekündigten Kunden oder Reseller kannst du frühestens 24 Stunden nach der Kündigung löschen und nur, wenn nichts mehr von ihm abhängt.
/clients/{id}/delete-previewlistet die Hindernisse auf.
Bereiche des Panels
Das Panel ist deutschsprachig. Ein Bereich wird ausgeblendet, wenn Rolle oder Capability-Prüfung nicht passen; die API setzt dieselben Regeln durch.
| Bereich | Route | Wer sieht ihn | Voraussetzung |
|---|---|---|---|
| Übersicht | #/overview | alle | keine |
| Websites (inkl. Sub-/Aliasdomains, Webordner, Dateien/Workspace) | #/websites | alle | sites.read; Uploads brauchen sites.update |
#/mail | alle | mail.read; Zugriffsregeln und globale Inhaltsfilter nur Admins | |
| Domains & DNS | #/dns | alle | dns.read |
| Datenbanken | #/databases | alle | sites.read |
| Zugänge & Zeitpläne (FTP/SFTP, SSH, WebDAV, geschützte Ordner, Cron) | #/access | alle | sites.read |
| Backups (Katalog, Download) | #/backups | mit Capability | operations.read |
| Kunden & Leistungen (Kunden, Reseller, Vorlagen, Kundengruppen, Domain-Claims, Nachrichtenvorlagen) | #/clients | Admin, Reseller | clients.read |
| Service-Pakete (Service-Blueprints) | #/blueprints | Admin, Reseller | service_blueprints.read |
| Aktivitäten & Hinweise | #/activity | alle | keine |
| Hilfe & Support (FAQ, Support-Nachrichten) | #/help | alle | help.read |
| Support-Referenzen | #/support | Admin, Reseller | operations.read |
| Status & Monitoring | #/monitoring | Admin | operations.read |
| Aufträge & Verlauf (Jobs) | #/jobs | Admin | operations.read |
| Identitäten & API (Administratoren, Gruppen, API-Clients) | #/identity | Admin | identity.admin.read |
| Server & Dienste (lesendes Dienste-Inventar) | #/core | Admin | core.read |
| Betrieb & Diagnose (Bereitschaft, Audit, Fleet mit Zertifikatsablauf und fail2ban-Sperren, Topologie, Zertifikate) | #/operations | Admin | operations.read |
| Systemverwaltung (Server, IPs, PHP-Versionen, Firewalls, DNS-Server & TSIG, Direktiven-Snippets, Systemkonfiguration) | #/infrastructure | Admin | platform.server.read; Firewalls security.firewall.read |
| Sicherheit | #/security | mit Capability | security.posture.read |
| Einstellungen (Profil, Darstellung, Benachrichtigungen, MFA, Wiederherstellungsadresse) | #/settings | alle | keine |
Eigene Seiten gibt es für die Anmeldung (/nova/login.html, mit MFA und erzwungenem Passwortwechsel), die Passwort-Wiederherstellung (/nova/recovery, /nova/reset) und die Postfach-Selbstverwaltung (/nova/mailbox-login.html).
Für Administratoren besonders nützlich:
- Systemverwaltung → DNS-Server & TSIG (
/nova/infrastructure/dns-fleet): DNS-Knoten, Endpunkte, TSIG-Paare, Schlüsselrotation. - Betrieb & Diagnose → Fleet & Agenten: Ablauf der Fabric-Zertifikate, fail2ban-Sperren und Entsperren.
Was Panel und API rund um Backups bieten, beschreibt das Kapitel Backups.