Was macht SAP-Erzwingungs-Skill?
Erzwingt SAP/1.0-Autorisierung bei jedem MCP-Toolaufruf. Kein SAFE-Manifest = keine Ausführung.
Funktionsweise
Vor dem Ausführen eines MCP-Toolaufrufs wird ausgeführt:
sap-gate verify <app_id>
Wobei app_id die Kennung der aufrufenden Anwendung ist. Wenn dieser Befehl einen Fehler (ungleich Null) zurückgibt, wird der Toolaufruf verweigert.
Bei erfolgreicher Autorisierung
Der Toolaufruf wird normal ausgeführt. Die Gewährung wird automatisch in ~/.sap/log/grants.jsonl protokolliert.
Bei verweigerter Autorisierung
- Den Toolaufruf NICHT ausführen
- Den Fehler dem Benutzer anzeigen:
"Toolaufruf verweigert:
<app_id>ist nicht autorisiert. Überprüfen Sie, ob der SAFE-Ordner existiert und das Manifest signiert ist." - Die Verweigerung wird automatisch in
~/.sap/log/gaps.jsonlprotokolliert - Nicht ohne ausdrückliche Benutzeranweisung wiederholen
Registrieren einer neuen Anwendung
Um eine neue app_id zu autorisieren:
# 1. SAFE-Ordner und Manifestvorlage erstellen
sap-gate init <app_id>
# 2. Manifest unter ~/.sap/Applications/<app_id>/safe-app-manifest.json bearbeiten
# 3. Mit GPG-Schlüssel signieren
gpg --detach-sign --armor ~/.sap/Applications/<app_id>/safe-app-manifest.json
mv ~/.sap/Applications/<app_id>/safe-app-manifest.json.asc \
~/.sap/Applications/<app_id>/safe-app-manifest.json.sig
# 4. Überprüfen
sap-gate verify <app_id>
Autorisierung widerrufen
Den SAFE-Ordner oder die .sig-Datei löschen:
# Widerruf durch Entfernen der Signatur (Manifest bleibt für erneute Autorisierung erhalten)
rm ~/.sap/Applications/<app_id>/safe-app-manifest.json.sig
# Vollständiger Widerruf
rm -rf ~/.sap/Applications/<app_id>/
Voraussetzungen
openclaw-sap-gateinstalliert:pip install openclaw-sap-gate- GPG-Schlüssel konfiguriert:
gpg --list-keys - Umgebungsvariable
SAP_SAFE_ROOTgesetzt (Standard:~/.sap/Applications)
Protokollreferenz
SAP/1.0 RFC: https://github.com/rudi193-cmd/sap-rfc