Wie spiele ich eine Lizenz ein?
Kurzantwort
Abschnitt betitelt „Kurzantwort“Die Produktlizenz wird nicht hochgeladen, sondern als Umgebungsvariable
LICENSE_KEY in der Server-Konfiguration (.env) hinterlegt; nach einem Neustart des
Backends gilt der neue Tarif. Den Status prüfst du unter Verwaltung → Lizenz: Dort
findest du auch die Instanz-ID, die der Anbieter für eine instanzgebundene Lizenz
benötigt. Unabhängig davon setzt du den Tarif einzelner Mandanten bequem in der
Mandantenverwaltung (Feld Lizenzstufe).
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“Du brauchst einen vom Anbieter ausgestellten Lizenzschlüssel. Für eine instanzgebundene Lizenz übermittelst du vorab die Instanz-ID („Diese ID dem Anbieter für eine instanzgebundene Lizenz geben. Die Lizenz läuft dann nur auf dieser Installation.”).
Anleitung
Abschnitt betitelt „Anleitung“-
Lizenz-Status öffnen. Verwaltung → Lizenz („Produkt-Lizenzstatus dieser Installation: Stufe, Limits und aktive Module.”). Ohne Schlüssel zeigt die Seite „Community (keine Lizenz)”.
Screenshot ausstehendadmin-module-lizenz-02Lizenz-Bereich mit Stufe, Limits, aktiven Modulen, Instanz-ID und GültigkeitDer Lizenz-Status: Stufe, 'Lizenziert für', 'Gültig bis', Limits und die Instanz-ID. -
Instanz-ID übermitteln (bei gebundener Lizenz). Kopiere die Instanz-ID aus dem Lizenz-Bereich und gib sie bei der Bestellung an. Der ausgestellte Schlüssel läuft dann ausschließlich auf dieser Installation („An diese Instanz gebunden”).
-
Schlüssel hinterlegen. Trage den Schlüssel in der Server-Konfiguration ein und starte das Backend neu:
Terminal-Fenster # .env der Notory-InstallationLICENSE_KEY="eyJwYXlsb2FkIjogIi…" # kompletter Schlüssel in einer Zeile -
Prüfen. Nach dem Neustart zeigt Verwaltung → Lizenz die neue Stufe, „Lizenziert für”, „Gültig bis”, die Limits und die aktiven Module.
-
Tarif je Mandant setzen (optional, Multi-Tenant). In der Mandantenverwaltung → Mandant bearbeiten wählst du die Lizenzstufe des Mandanten, z. B. ein Basic-Mandant auf einer Elite-Installation.
Einen API-Endpunkt zum Einspielen gibt es bewusst nicht (der Schlüssel ist Server-Konfiguration). Lesen und Mandanten-Tarife setzen geht per API:
curl -H "Authorization: Bearer inv_dein_token" \ https://demo.notory.io/api/v1/license{ "valid": true, "tier": "elite", "licensee": "ACME GmbH", "max_assets": 5000, "max_tenants": 50, "features": ["core", "assets", "network", "software", "licenses", "certificates", "compliance", "operations", "sso", "multi_tenant", "discovery", "provisioning", "webhooks", "custom_fields"], "expires_at": "2027-07-01T00:00:00+00:00", "reason": "License active", "in_grace": false, "instance_id": "1f0c9a7e3b5d48d2a6c4e8f0b2d4a6c8", "bound": true, "asset_count": 1873, "asset_limit_reached": false}curl -H "Authorization: Bearer inv_dein_token" \ https://demo.notory.io/api/v1/entitlementscurl -X PUT https://demo.notory.io/api/v1/tenants/{tenant_id} \ -H "Authorization: Bearer inv_dein_token" \ -H "Content-Type: application/json" \ -d '{ "license_tier": "professional" }'Mögliche Fehler: 403 (Mandanten-Tarif höher als der Installations-Tarif, „does not
permit creating a tenant on the higher ’…’ plan”), 422 (unbekannte Stufe).
Was passiert dabei?
Abschnitt betitelt „Was passiert dabei?“- Offline-Verifikation mit Signatur. Der Schlüssel ist ein RSA-signiertes Paket (Tier, Limits, Features, „Lizenziert für”, Ablauf, optionale Instanz-Bindung). Das Backend prüft die Signatur offline gegen den mitgelieferten öffentlichen Schlüssel. Es telefoniert nicht nach Hause. Manipulierte oder unlesbare Schlüssel fallen auf Community zurück („Invalid or unverifiable license”).
- Instanz-Bindung. Trägt die Lizenz eine
instance_id, gilt sie nur auf der Installation mit genau dieser ID („License is bound to a different installation” → Community). Die ID erzeugt Notory beim ersten Start und zeigt sie im Lizenz-Bereich. - Kulanzfenster nach Ablauf. Nach dem Ablaufdatum bleibt der Tarif für eine
Grace-Periode aktiv (
in_grace: true); die Oberfläche mahnt die Verlängerung an. Erst danach fällt die Installation auf Community zurück. Daten werden nie gelöscht, nur Module gesperrt und Limits gesenkt. - Community als Fallback. Ohne (gültigen) Schlüssel gilt: Kern + Assets + Netzwerk, 30 Assets, 1 Mandant.
- Mandanten-Tarif = Schnittmenge. Der Tarif eines Mandanten wirkt immer nur bis zur Höhe der Installations-Lizenz (Features und Limits), Details unter Limits verstehen.