VMware Policy
Haftungsausschluss: Dies ist ein von der Community gepflegtes Open-Source-Projekt und nicht verbunden mit, unterstützt oder gesponsert von VMware, Inc. oder Broadcom Inc. „VMware“ und „vSphere“ sind Marken von Broadcom. Der Quellcode ist unter github.com/zw008/VMware-Policy unter der MIT-Lizenz öffentlich einsehbar.
Vereinheitlichtes Audit-Logging, Richtliniendurchsetzung und Eingabebereinigung – die Infrastrukturschicht für die gesamte VMware MCP-Skill-Familie.
Infrastrukturabhängigkeit: Alle 8 VMware-Skills sind von vmware-policy abhängig. Es wird automatisch installiert und stellt den
@vmware_tool-Dekorator,sanitize()und die gemeinsame Audit-Datenbank bereit. Familie: vmware-aiops (VM-Lebenszyklus), vmware-monitor (schreibgeschützte Überwachung), vmware-storage (iSCSI/vSAN), vmware-vks (Tanzu Kubernetes), vmware-nsx (NSX-Netzwerk), vmware-nsx-security (DFW/Firewall), vmware-aria (Metriken/Alarme/Kapazität), vmware-avi (AVI/ALB/AKO). | vmware-pilot (Workflow-Orchestrierung)
Was dieses Skill tut
| Kategorie | Komponenten | Anzahl |
|---|---|---|
| Audit-Logging | AuditEngine (SQLite WAL), Log-Rotation, Agentenerkennung | 3 |
| Richtlinien-Engine | Deny-Regeln, Wartungsfenster, Hot-Reload | 3 |
| Eingabebereinigung | sanitize() – Prompt-Injection-Abwehr, Entfernung von Steuerzeichen | 1 |
| Dekorator | @vmware_tool – Vorprüfung + Ausführung + Nachprotokollierung + Metadaten | 1 |
| CLI | vmware-audit log, vmware-audit export, vmware-audit stats | 3 |
Schnellinstallation
uv tool install vmware-policy
vmware-audit stats # Installation überprüfen
vmware-policy wird automatisch als Abhängigkeit aller VMware-Skills installiert. Eine manuelle Installation ist nur für die eigenständige Audit-Abfrage erforderlich.
Wann dieses Skill verwendet werden sollte
- Abfrage des einheitlichen Audit-Pfads über alle VMware-Skills hinweg
- Anzeige abgelehnter Vorgänge und Richtlinienverstöße
- Überprüfung von Audit-Statistiken (nach Skill, Status, Zeitraum)
- Export von Audit-Protokollen als JSON für externe Analysen
- Konfiguration von Deny-Regeln oder Wartungsfenstern
- Integration des
@vmware_tool-Dekorators in einen neuen VMware-Skill
Dieses Skill wird automatisch als Abhängigkeit geladen – es muss nicht direkt aufgerufen werden. Es wird aktiviert, wenn:
- Eine Tool-Funktion eines VMware-Skills aufgerufen wird (über den
@vmware_tool-Dekorator) - Der Benutzer nach Audit-Protokollen, abgelehnten Vorgängen oder Richtlinienregeln fragt
- Der Benutzer
vmware-auditCLI-Befehle ausführt
Verwandte Skills – Skill-Routing
| Benutzerabsicht | Empfohlenes Skill |
|---|---|
| VM-Lebenszyklus, Bereitstellung, Gastoperationen | vmware-aiops (uv tool install vmware-aiops) |
| Schreibgeschützte Überwachung, kein Risiko | vmware-monitor (uv tool install vmware-monitor) |
| Speicher: iSCSI, vSAN, Datastores | vmware-storage (uv tool install vmware-storage) |
| Tanzu Kubernetes (vSphere 8.x+) | vmware-vks (uv tool install vmware-vks) |
| NSX-Netzwerk: Segmente, Gateways, NAT | vmware-nsx (uv tool install vmware-nsx-mgmt) |
| NSX-Sicherheit: DFW-Regeln, Sicherheitsgruppen | vmware-nsx-security (uv tool install vmware-nsx-security) |
| Aria Ops: Metriken, Alarme, Kapazität | vmware-aria (uv tool install vmware-aria) |
| Load Balancer, AVI, ALB, AKO, Ingress | vmware-avi (uv tool install vmware-avi) |
| Mehrstufige Workflows mit Genehmigung | vmware-pilot |
| Audit-Protokoll-Abfrage, Richtlinienregeln | vmware-policy – dieses Skill |
Häufige Workflows
Letzte Audit-Aktivitäten abfragen
- Die letzten 20 Audit-Einträge anzeigen:
vmware-audit log --last 20 - Nach Skill filtern:
vmware-audit log --skill vmware-nsx --last 50 - Abgelehnte Vorgänge überprüfen:
vmware-audit log --status denied --since 2026-03-28 - Aggregierte Statistiken anzeigen:
vmware-audit stats --days 7
Richtlinienregeln für die Produktion einrichten
- Standardregeln kopieren:
cp $(python -c "import vmware_policy; print(vmware_policy.__file__.replace('__init__.py','rules_default.yaml'))") ~/.vmware/rules.yaml ~/.vmware/rules.yamlbearbeiten – Deny-Regeln für die Produktion hinzufügen:deny: - name: no-delete-in-prod operations: ["delete_*", "cluster_delete"] environments: ["production"] reason: "Zerstörerische Operationen in der Produktion blockiert" maintenance_window: start: "22:00" end: "06:00"- Regeln laden automatisch neu – kein Neustart erforderlich
- Überprüfen:
vmware-audit log --status denied– blockierte Operationen anzeigen
Audit-Protokolle für Compliance exportieren
- Alle Protokolle als JSON exportieren:
vmware-audit export --format json > audit-export.json - Nach Skill filtern:
vmware-audit export --skill vmware-aiops --since 2026-01-01 - In Ihr SIEM- oder Compliance-Tool importieren
Nutzungsmodus
| Szenario | Empfohlen | Begründung |
|---|---|---|
| Audit-Protokolle abfragen | CLI | vmware-audit bietet reichhaltige Tabellenausgabe |
| In einen Skill integrieren | Python-API | from vmware_policy import vmware_tool, sanitize |
| Automatisierter Compliance-Export | CLI | vmware-audit export --format json leitet an jedes Tool weiter |
CLI-Kurzreferenz
# Aktuelle Audit-Einträge anzeigen
vmware-audit log --last 20
vmware-audit log --skill vmware-nsx --status denied
vmware-audit log --since 2026-03-28 --tool delete_segment
# Für Compliance exportieren
vmware-audit export --format json > audit.json
vmware-audit export --skill vmware-aiops --since 2026-01-01
# Aggregierte Statistiken
vmware-audit stats --days 7
vmware-audit stats --days 30
Vollständige CLI-Referenz: siehe
references/cli-reference.md
Python-API
from vmware_policy import vmware_tool, sanitize
# Jede MCP-Tool-Funktion umschließen
@vmware_tool(risk_level="high", sensitive_params=["password"])
def delete_segment(name: str, env: str = "") -> dict:
...
# Nicht vertrauenswürdige API-Antworten bereinigen, bevor sie an das LLM zurückgegeben werden
clean_text = sanitize(api_response_text, max_len=500)
MCP-Tools (0)
vmware-policy stellt keine MCP-Tools bereit. Es ist eine Python-Bibliothek und ein CLI, das von anderen VMware-Skills verwendet wird.
| Komponente | Typ | Beschreibung |
|---|---|---|
@vmware_tool | Dekorator | Umschließt alle 156+ MCP-Tools in 8 Skills |
sanitize() | Funktion | Prompt-Injection-Abwehr für API-Antworten |
AuditEngine | Klasse | SQLite-WAL-Audit-Logger mit Rotation |
PolicyEngine | Klasse | YAML-Regelauswertung mit Hot-Reload |
vmware-audit | CLI | Typer-CLI zur Abfrage des Audit-Pfads |
detect_agent() | Funktion | Ermittelt den aufrufenden KI-Agenten aus Umgebungsvariablen (siehe unten) |
Agentenerkennung (Transparenzhinweis)
Die Funktion detect_agent() in audit.py prüft die folgenden Umgebungsvariablen, um zu identifizieren, welcher KI-Agent die Tools aufruft. Dies ist eine schreibgeschützte Inspektion zu Audit-Logging-Zwecken – es werden keine Anmeldedaten extrahiert oder gespeichert:
| Umgebungsvariable | Erkannter Agent | Zweck |
|---|---|---|
CLAUDE_SESSION_ID oder CLAUDE_CODE | claude | Claude Code-Sitzung |
OPENAI_API_KEY oder CODEX_SESSION | codex | OpenAI Codex-Sitzung |
OLLAMA_HOST | local | Lokales Ollama-Modell |
DEERFLOW_SESSION | deerflow | DeerFlow-Sitzung |
| (keine Übereinstimmung) | unknown | Nicht erkannter Agent |
Der erkannte Agentenname wird in der Spalte agent der Datenbank ~/.vmware/audit.db nur zu Audit-Zwecken gespeichert. Es werden keine API-Schlüssel oder Token protokolliert.
Fehlerbehebung
Warnung „Cannot initialize audit DB“
Das Audit-Datenbankverzeichnis ~/.vmware/ muss beschreibbar sein. Manuell erstellen: mkdir -p ~/.vmware && chmod 700 ~/.vmware.
Richtlinienregeln werden nicht wirksam
Regeln werden aus ~/.vmware/rules.yaml geladen. Überprüfen, ob die Datei vorhanden ist und gültiges YAML enthält. Die PolicyEngine lädt bei Dateiänderung automatisch neu – kein Neustart erforderlich.
Audit-Protokoll wird zu groß
Die AuditEngine rotiert automatisch bei 100 MB und behält die 5 neuesten Archive. Zur manuellen Bereinigung: ls ~/.vmware/audit.*.db – Archive anzeigen.
Ausnahme „PolicyDenied“ im Skill
Dies bedeutet, dass eine Deny-Regel in ~/.vmware/rules.yaml auf die Operation zutrifft. Überprüfen mit vmware-audit log --status denied, um den Regelnamen und den Grund anzuzeigen. Zur temporären Umgehung: VMWARE_POLICY_DISABLED=1 (wird trotzdem als umgangen protokolliert).
Dekorator erkennt Skill-Namen nicht
Der @vmware_tool-Dekorator leitet den Skill-Namen aus dem Modulpfad ab (z. B. vmware_aiops.ops.vm_lifecycle -> aiops). Wenn das Modul nicht der Konvention vmware_<skill> folgt, wird der Skill als „unknown“ protokolliert.
SQLite-Fehler „database is locked“
Mehrere gleichzeitige Skill-Prozesse können über den WAL-Modus in dieselbe audit.db schreiben. Wenn Sperren länger als 5 Sekunden anhalten, nach Zombie-Prozessen suchen, die die Datenbankdatei halten.
Einrichtung
uv tool install vmware-policy
mkdir -p ~/.vmware
vmware-policy wird automatisch als Abhängigkeit aller VMware-Skills installiert. Das Verzeichnis
~/.vmware/wird beim ersten Audit-Schreibvorgang automatisch erstellt.
Vollständige Einrichtungsanleitung, Sicherheitsdetails und Integrationsanweisungen: siehe
references/setup-guide.md
Sicherheit
- Quellcode: github.com/zw008/VMware-Policy
- Konfigurationsdatei-Inhalt:
~/.vmware/rules.yamlenthält nur Regeldefinitionen, keine Anmeldedaten - Webhook-Datenumfang: Nicht zutreffend – vmware-policy sendet keine Daten nach außen
- TLS-Überprüfung: Nicht zutreffend – vmware-policy stellt keine Netzwerkverbindungen her
- Prompt-Injection-Schutz:
sanitize()kürzt auf 500 Zeichen und entfernt C0/C1-Steuerzeichen - Prinzip der geringsten Privilegien: Audit-Datenbank ist nur lokal verfügbar (
~/.vmware/audit.db), keine Netzwerkexposition