Files
biztalk-checkmk-pulse/docs/ACC-WMI-SQL-Berechtigung.txt
T

97 lines
3.5 KiB
Plaintext

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=<exakte Gruppe>
- 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