Enterprise-Deployment
Für IT-Administration: FrontTailor in Chrome und Edge zwangsinstallieren – aus dem Store oder selbst gehostet – und über Richtlinien festlegen, auf welchen Hosts es läuft, welche Systeme PROD sind und welche Module aktiv sind.
- Edition
- ab Enterprise
- Installation
ExtensionSettingsoderExtensionInstallForcelist- Konfiguration
- Managed Storage (
chrome.storage.managed) - Werkzeuge
- GPO, Registry, Intune, macOS-Profil, Linux-JSON
- Wirkung
- ohne Neustart
Drei Verteilwege
| Weg | Extension-ID | Updates |
|---|---|---|
| Chrome Web Store | vom Chrome Web Store vergeben | automatisch über den Store |
| Edge Add-ons | von Edge Add-ons vergeben – eine andere ID als im Chrome Web Store | automatisch über Edge Add-ons |
| Sideload (selbst gehostet) | aus dem festen Schlüssel des signierten CRX abgeleitet | über dein eigenes update.xml |
Jede Richtlinie bezieht sich auf die ID des Verteilwegs, den du tatsächlich nutzt. Eine Richtlinie für die Chrome-Web-Store-ID wirkt nicht auf die Edge-ID und nicht auf die Sideload-ID. In den Beispielen steht <extension-id> als Platzhalter.
Voraussetzungen
- Chrome oder Edge ab Version 137.
- Selbst gehostete Extensions lassen sich nur auf verwalteten Geräten erzwingen: unter Windows in einer Active-Directory-Domäne, mit Microsoft-Entra-ID-Beitritt oder in Chrome Enterprise Core; unter macOS per MDM, MCX oder Chrome Enterprise Core. Unter Linux sind sie generell installierbar. Für Edge unter Windows ohne Domänenbeitritt gilt die erzwungene Installation nur für Extensions aus Edge Add-ons.
- Für den Sideload ein HTTPS-Webserver für
update.xmlund den CRX.
Installation erzwingen
Für den Sideload empfohlen: die Richtlinie ExtensionSettings mit override_update_url. Dann installiert und aktualisiert der Browser ausschließlich über dein update.xml; das Manifest von FrontTailor enthält selbst keine Update-URL.
{
"<extension-id>": {
"installation_mode": "force_installed",
"update_url": "https://<update-host>/fioritailor/update.xml",
"override_update_url": true,
"toolbar_pin": "force_pinned"
}
}
installation_mode:force_installed(nicht deinstallierbar) odernormal_installed(deaktivierbar).toolbar_pinist optional;minimum_version_requirederzwingt eine Mindestversion.- Für die Store-Variante entfallen
update_urlundoverride_update_url; die ID ist dann die Store-ID.
Alternativ ExtensionInstallForcelist mit je einem Eintrag <extension-id>;<update-url>:
| Browser und Weg | Update-URL |
|---|---|
| Chrome, Chrome Web Store | https://clients2.google.com/service/update2/crx |
| Edge, Edge Add-ons | https://edge.microsoft.com/extensionwebstorebase/v1/crx |
| Chrome oder Edge, Sideload | https://<update-host>/fioritailor/update.xml (für spätere Updates zusätzlich ExtensionSettings) |
Das update.xml nennt ID, CRX-Adresse und Version. Den CRX lieferst du mit Content-Type: application/x-chrome-extension aus, das update.xml ohne lange Cache-Zeit. Der Browser lädt nur, wenn die Version höher ist als die installierte.
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='<extension-id>'>
<updatecheck codebase='https://<update-host>/fioritailor/fioritailor-0.1.0.crx'
version='0.1.0' prodversionmin='137' />
</app>
</gupdate>
FrontTailor konfigurieren
FrontTailor liest seine eigene Richtlinie aus dem Managed Storage des Browsers. Das Schema liegt der Extension bei (managed-schema.json). Änderungen wirken ohne Neustart: Badge, PROD-Status und Tabs aktualisieren sich sofort.
| Schlüssel | Typ | Wirkung |
|---|---|---|
allowedHosts | Liste | FrontTailor lässt sich nur auf passenden Hosts aktivieren; anderswo zeigt das Popup einen Sperrhinweis statt der Freigabefrage. Eine leere Liste sperrt alle Hosts. |
prodHosts | Liste | Passende Hosts gelten als PROD: Badge rot, Laufzeitänderungen gesperrt, im Popup nicht abschaltbar (Host-Profile und PROD). |
modules | Objekt | Schaltet Module mit false ab, z. B. odata, ai, teamsync, backend. Der Tab verschwindet, und der Hintergrund lehnt die Nachrichten des Moduls ab. Übersicht, Steckbrief und Badge lassen sich nicht abschalten. |
licenseKey | Text | Lizenzschlüssel für alle Nutzer; Vorrang vor einem selbst eingetragenen (Lizenz und Editionen). |
trial | Boolean | false schaltet die 7-tägige Testphase neuer Installationen ab. |
teamSync | Objekt | Vorgegebene Team-Pakete, vertrauenswürdige Schlüssel, Signaturpflicht, Abrufintervall (Team-Pakete). |
issueReporter | Objekt | Erlaubte Ziele und verpflichtende Maskierungsregeln für „Problem melden“. |
ticketTargets, allowedTicketHosts | Liste | Vorgegebene Ticketziele (Jira, GitHub, GitLab, Azure DevOps, ServiceNow) und erlaubte Ticket-Hosts. Keine Tokens oder Passwörter hineinschreiben. |
aiEndpoint, aiProvider, aiAllowedProviders | Text, Liste | Fester Endpunkt und Anbieter des KI-Assistenten; ein leerer aiEndpoint schaltet ihn ab. |
aiRequirePiiMasking | Boolean | Maskiert E-Mail, Telefon, IBAN und lange Ziffernfolgen vor jedem KI-Versand, nicht abschaltbar. |
ai.persistKeys | Boolean | false: KI-Schlüssel bleiben nur im Arbeitsspeicher; gespeicherte werden gelöscht. |
bookRecommendations | Boolean | false blendet die Buchempfehlungen für alle aus. |
telemetry | Boolean | Wird gelesen, aber nicht verwendet: FrontTailor sendet keine Telemetrie. |
Muster für allowedHosts und prodHosts: fiori.example.com passt auf den Host mit jedem Port, *.example.com auf die Domain und alle Subdomains, https://*.example.com nur auf HTTPS, fiori.example.com:44300 nur auf diesen Port, * auf alle Hosts. Groß- und Kleinschreibung spielt keine Rolle, ein Pfad im Muster wird ignoriert.
{
"allowedHosts": ["*.fiori.example.com", "https://s4dev.example.com"],
"prodHosts": ["*.prod.fiori.example.com"],
"modules": { "odata": true, "tools": false },
"bookRecommendations": false
}
Wo die Richtlinie hingehört
| System | Ort |
|---|---|
| Chrome unter Windows | HKLM\Software\Policies\Google\Chrome\3rdparty\extensions\<extension-id>\policy; Listen als Unterschlüssel mit nummerierten Werten, Booleans als REG_DWORD |
| Edge unter Windows | derselbe Pfad unter Microsoft\Edge (von Microsoft nicht offiziell dokumentiert) |
| Chrome unter macOS | Konfigurationsprofil mit der Präferenzdomäne com.google.Chrome.extensions.<extension-id> |
| Chrome unter Linux | /etc/opt/chrome/policies/managed/, JSON unter 3rdparty.extensions.<extension-id> |
| Chrome Enterprise Core | Admin-Konsole › Apps und Erweiterungen, JSON mit Value je Schlüssel |
| Intune | Installation über den Settings Catalog; die Extension-Richtlinie unter Windows per Custom-Profil oder Skript, das die Registry-Werte setzt |
Ein ADMX für FrontTailor gibt es nicht; per GPO verteilst du die Registry-Struktur mit Gruppenrichtlinien-Einstellungen. Die Registry-Form für Listen und Objekte ist noch nicht an einem echten Windows-Client verifiziert – prüfe sie vor dem Rollout mit chrome://policy.
Profiler Companion
Das CPU-Tiefenprofil des Performance-Profilers (ab Pro) läuft über die separate, kostenlose Erweiterung FrontTailor Profiler Companion; nur sie hat die Berechtigung debugger. Wer das Tiefenprofil will, erzwingt beide Erweiterungen mit je eigener ID. Wer es nicht will, installiert den Companion nicht oder sperrt ihn mit "installation_mode": "blocked". Auf PROD-Hosts startet FrontTailor das Tiefenprofil ohnehin nie.
Rollout prüfen
chrome://policybzw.edge://policyöffnen und Richtlinien neu laden.ExtensionInstallForcelistundExtensionSettingsmüssen ohne Fehler erscheinen; Chrome zeigt die Richtlinie von FrontTailor in einem eigenen Abschnitt mit der Extension-ID.chrome://extensionsöffnen: FrontTailor ist installiert, als von der Organisation verwaltet gekennzeichnet und lässt sich nicht entfernen.- Einen Host aus
prodHostsöffnen: Das Badge ist rot, im Popup ist PROD gesetzt und gesperrt. - Einen Host außerhalb von
allowedHostsöffnen: Das Popup zeigt den Sperrhinweis statt der Freigabefrage. - Einen erlaubten Host öffnen: Die Freigabefrage erscheint wie gewohnt (Freigabe).
Siehe auch
- Doku Team-Pakete
- Doku Berechtigungen und Datenschutz
- Doku Host-Profile und PROD
- Belege ADR-0131 · ADR-0092 · Manifest3