Integration Enrollment API

Zweck

Der Endpunkt richtet eine neue, auf genau eine Anwendung begrenzte MES-Inside-Integration ein. Er ist für lokale Setup-Wizards vorgesehen, die bereits vorhandene Administrator-Zugangsdaten einmalig gegen einen anwendungsspezifischen API-Key austauschen.

POST /api/v1/integrations/enroll
Content-Type: application/json

Der Aufruf ist ausschließlich über HTTPS zulässig. Loopback-HTTP wird nur für lokale Entwicklung akzeptiert. Pro Quelladresse sind höchstens fünf Versuche in 15 Minuten erlaubt. Zusätzlich greift das bestehende Identity-Lockout.

Anfrage

{
  "userName": "administrator@example.com",
  "password": "nur-fuer-diesen-aufruf",
  "name": "MESBackup host1",
  "tenant": "MES",
  "project": "MES.Platform.Backup",
  "application": "MESBackup.Manager",
  "environment": "Production",
  "expiresUtc": null
}

Der Benutzer muss der Rolle Administrator angehören. Benutzername und Kennwort werden weder gespeichert noch in Logs oder Auditdetails übernommen. Fehlgeschlagene und erfolgreiche Enrollment-Versuche werden auditiert.

Erfolgsantwort

HTTP/1.1 201 Created
{
  "credentialId": "00000000-0000-0000-0000-000000000000",
  "apiKey": "wird-genau-einmal-zurueckgegeben",
  "scope": "events:write",
  "expiresUtc": null
}

MES Inside speichert nur den SHA-256-Hash des API-Keys. Der Client muss den Klartext unmittelbar in seinem geschützten Credential-Store sichern und alle temporären Eingabefelder verwerfen. Der Key darf nicht in Konfiguration, URL, Log, Screenshot oder Browser-Speicher gelangen.

Fehler

Status Bedeutung
400 Anfrage ungültig oder produktiver Aufruf nicht über HTTPS
401 Anmeldung fehlgeschlagen oder Benutzer nicht Administrator
429 Versuchslimit überschritten
500 serverseitiger Fehler; es darf nicht automatisch erneut enrolled werden

Der Client darf Enrollment nicht automatisch wiederholen: Wenn die Antwort nach dem Erzeugen des Keys verloren geht, kann der Klartext nicht rekonstruiert werden. Ein Administrator deaktiviert den verwaisten Zugang und startet den Vorgang bewusst erneut.

Sicherheitsgrenzen

  • Der Endpunkt vergibt ausschließlich events:write.
  • Die übermittelte Identität wird bei der Ingestion weiterhin verbindlich aus dem Credential übernommen.
  • Fehlerantworten unterscheiden nicht zwischen unbekanntem Benutzer, falschem Kennwort und fehlender Administratorrolle.
  • API-Key und Kennwort erscheinen niemals im Audit-Log.
  • Reverse Proxy und IIS müssen HTTPS erzwingen und die tatsächliche Clientadresse vertrauenswürdig weiterreichen.