BizTalk Checkmk Pulse - ACC Berechtigung und Architektur Stand: 30.07.2026 BEFUND ====== Host: AV23AGPWBIO1 Checkmk-Identität: NT AUTHORITY\SYSTEM Alte Netzwerkidentität: BEW\AV23AGPWBIO1$ Fehler: COMException HRESULT=0x80131904 Innerer Fehler: Login failed for user 'BEW\AV23AGPWBIO1$' Der lokale BizTalk-WMI-Namespace war erreichbar. Datenbankgestützte BizTalk-WMI-Abfragen scheiterten am SQL-Login des Maschinenkontos. NEUE VERBINDLICHE ARCHITEKTUR ============================= Das Maschinenkonto erhält keine BizTalk-Berechtigung. 1. Ein normales dediziertes Servicekonto läuft minütlich als Scheduled Task "BizTalk Checkmk Pulse Provider". 2. Dieses Konto führt BizTalkCheckmkPulse.exe --collect aus. 3. Es schreibt atomar einen SHA-256-geschützten Snapshot nach: %ProgramData%\BizTalkCheckmkPulse\data\biztalk-checkmk-pulse.snapshot 4. Der Checkmk-Agent bleibt LocalSystem und startet nur den Consumer. 5. Der Consumer liest und validiert den Snapshot. Er führt kein WMI und keinen SQL-Zugriff aus. BERECHTIGUNG DES PROVIDER-KONTOS ================================ Bevorzugte Rolle für BizTalk Server 2020: BizTalk Server Read Only Users SQL-Datenbankrolle: BTS_READONLY_USERS Die exakt konfigurierte Gruppe in den Eigenschaften der BizTalk-Gruppe in der BizTalk Administration Console ablesen. Das Provider-Konto durch AD-Administration in BizTalkReadOnlyUserGroup aufnehmen. Nicht vom Standardnamen ausgehen. Die Operator-Gruppe ist nur eine begründungspflichtige Eskalation, falls eine konkret benötigte WMI-Klasse trotz bestätigter Read-Only-Zuordnung und neuem Anmeldetoken verweigert wird. NICHT DURCHFÜHREN ================== - keinen SQL-Einzellogin für Provider- oder Maschinenkonto - keine ad-hoc BizTalk-Datenbankrollen - kein db_owner oder sysadmin - keine pauschalen DCOM-/WMI-ACL-Erweiterungen - Checkmk-Agentdienst nicht auf das Provider-Konto umstellen - Maschinenkonto BEW\AV23AGPWBIO1$ nicht für diese Lösung berechtigen INSTALLATION ============ BizTalkCheckmkPulse-Setup.zip vollständig entpacken und Setup.exe als Administrator starten. Konto im Format DOMAIN\Benutzer (zum Beispiel BEW\t231bizmon), Kennwort und Umgebung eingeben. PowerShell wird nicht benötigt. VERIFIKATION ============ schtasks.exe /query /tn "BizTalk Checkmk Pulse Provider" /v /fo list dir "%ProgramData%\BizTalkCheckmkPulse\data\biztalk-checkmk-pulse.snapshot" type "%ProgramData%\BizTalkCheckmkPulse\logs\biztalk-checkmk-pulse-*.log" "%ProgramFiles%\BizTalkCheckmkPulse\BizTalkCheckmkPulse.exe" --consume "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" dump ERWARTET ======== - LastTaskResult = 0 - Snapshot wird minütlich aktualisiert - Provider-Log nennt das dedizierte Konto - BizTalk Platform zeigt read_only_group= - BizTalk SQL Access zeigt targets=2 und available=2 - Suspensionsmetriken enthalten resumable, non-resumable und Routing Failure Reports - Receive Locations und Send Ports trennen expected von unexpected inactive - keine berechtigungsbedingten UNKNOWN-Services - LocalSystem besitzt auf data nur Lesezugriff QUELLEN ======= https://learn.microsoft.com/en-us/biztalk/core/managing-biztalk-server-security https://learn.microsoft.com/en-us/biztalk/core/windows-groups-and-user-accounts-in-biztalk-server https://learn.microsoft.com/en-us/biztalk/core/technical-reference/msbts-groupsetting-biztalkreadonlyusergroup-property-wmi https://docs.checkmk.com/latest/en/agent_windows.html https://docs.checkmk.com/latest/en/localchecks.html