Öffentliche Seite

Sicherheit des Connectors

Der Pareo Connector ist eine eigenständige Software, die Sie in Ihrem Netz betreiben. Er liest Daten aus Teamcenter und SAP und sendet sie an Pareo. Die Verbindung geht immer vom Connector aus, Pareo baut keine Verbindung in Ihr Netz auf. Mit dieser Seite prüfen Ihre IT und Informationssicherheit den Connector vor der Installation. Die Installation selbst beschreibt Installation des Connectors.

Aufbau

OrtKomponenteAufgabe
Ihr NetzDer Connector, ein Container auf einer virtuellen Maschine (VM)Liest Teamcenter und SAP, legt die Daten in einem Zwischenspeicher auf der Festplatte ab und sendet sie an Pareo
Ihr NetzTeamcenter und SAPWerden nicht verändert. Die Zugangsdaten bleiben auf der VM.
Pareoingest.pareo.aiNimmt signierte Anfragen entgegen, prüft sie und speichert die Datensätze

Der Connector baut ausschließlich ausgehende HTTPS-Verbindungen zu einem einzigen Host auf. Eingehende Verbindungen gibt es nicht. Sie brauchen also weder offene Ports noch ein VPN.

Übertragene Daten

Verlässt Ihr NetzVerlässt Ihr Netz nie
  • Material- und Produktnummern mit Bezeichnung
  • Die Eigenschaften, die Pareo für die Compliance-Bewertung braucht
  • Stücklistenpositionen
  • Aus Teamcenter nur freigegebene Revisionen, mit Freigabestatus und Freigabedatum
  • Zugangsdaten, Passwörter und Secrets für Teamcenter, SAP und den Proxy
  • Der private Schlüssel des Connectors
  • Dateien, Zeichnungen und CAD-Daten
  • Felder, die keinem Pareo-Feld zugeordnet sind
  • Statusangaben: Version, Hostname, Adresse, Prüfergebnisse, Belegung von Festplatte und Zwischenspeicher, aktuelle Einstellungen ohne Zugangsdaten
  • Eigenschaftswerte in Logs. Die Logs enthalten nur Datensatz-Kennungen, Anzahlen und Fehler.

Der Connector liest nur Felder, die einem Pareo-Feld zugeordnet sind. Die Zuordnung zeigt der Reiter Feldzuordnung am Connector in Pareo, und dry-run zählt die Werte je Feld, ohne Daten zu senden (siehe Feldzuordnung prüfen).

Pareo nimmt nur Daten aus den Systemen an, die beim Anlegen des Connectors erlaubt wurden, unabhängig davon, was der Connector sendet. Teamcenter liest der Connector nur über die Services Core und Query. Für jeden Lauf öffnet er eine Sitzung und meldet sich danach immer ab.

Signaturen und Schlüssel

  • Beim ersten Start erzeugt der Connector ein eigenes Ed25519-Schlüsselpaar. Der private Schlüssel verlässt die VM nie.
  • Jede Anfrage enthält die Connector-Kennung, einen Zeitstempel, einen Einmalwert (Nonce) und eine Signatur über Methode, Pfad, Zeitstempel, Nonce und einen Hash des Inhalts.
  • Pareo lehnt Anfragen ab, deren Zeitstempel um mehr als 5 Minuten abweicht, und ebenso jede Nonce, die in den letzten 10 Minuten schon verwendet wurde. Eine abgefangene Anfrage lässt sich deshalb nicht erneut senden (Replay-Schutz).
  • Der Schlüssel ist an die Organisation und die erlaubten Systeme gebunden. Mit dem Schlüssel einer Organisation lassen sich keine Daten in eine andere schreiben.
  • Pareo signiert das Extraktionsprofil mit einem eigenen Schlüssel, und der Connector akzeptiert nur signierte Profile. Mit profile_pinned: true in der Konfigurationsdatei frieren Sie das aktuelle Profil ein. Der Connector lehnt dann jede Profiländerung von Pareo ab, auch den Versuch, das Einfrieren aufzuheben; das geht nur über die Konfigurationsdatei. Alternativ verweisen Sie mit profile_file auf eine lokale Profildatei, die Sie selbst pflegen.
  • Der Connector folgt keinen HTTP-Weiterleitungen. teamcenter.url, sap.url und sap.token_url müssen https verwenden, unverschlüsseltes http ist nur für localhost zulässig.

Registrierung und Freigabe

  1. Der Pareo-Support legt den Connector in Ihrer Organisation an und übergibt Ihrer IT das Installationspaket auf vertraulichem Weg.
  2. Das Paket enthält einen Einrichtungsschlüssel. Er ist 30 Tage gültig, lässt sich nur einmal verwenden und erlaubt nur die Registrierung dieses einen Connectors. Pareo speichert nur seinen Hash.
  3. Der Connector erzeugt sein Schlüsselpaar und registriert sich mit dem Einrichtungsschlüssel. Bis zur Freigabe sendet er keine Daten und meldet sich nur einmal pro Minute.
  4. Ihre IT schickt den Fingerabdruck des Schlüssels auf einem zweiten Weg an den Pareo-Support, nicht auf dem, auf dem das Paket kam. Der Pareo-Support gibt den Connector nur frei, wenn er mit dem Fingerabdruck in Pareo übereinstimmt.
  5. Wird ein Einrichtungsschlüssel ein zweites Mal oder von einem anderen Host verwendet, lehnt Pareo ihn ab und benachrichtigt den Pareo-Support und Ihre Benachrichtigungsadresse. Pareo nimmt Daten nur vom freigegebenen Host an. Als Hostname gilt der Name der VM, den die Compose-Datei schreibgeschützt einbindet, sodass auch ein neu erstellter Container ihn trägt.

Der Ablauf im Einzelnen steht unter Schritt 3: Freigabe.

Der Pareo-Support oder ein Administrator Ihrer Organisation kann einen Connector jederzeit pausieren: Er sendet dann keine Daten mehr, meldet sich aber weiterhin. Widerrufen beendet die Datenübertragung sofort und endgültig. Bereits synchronisierte Daten bleiben mit dem Zeitpunkt ihrer letzten Synchronisation in Pareo.

Solange ein Connector nicht widerrufen ist, lässt sich sein Schlüssel ersetzen. Der alte Schlüssel ist sofort ungültig, und der Connector registriert sich mit einem neuen Einrichtungsschlüssel und einem neuen Schlüsselpaar erneut. Die synchronisierten Daten bleiben erhalten (siehe Schlüssel des Connectors ersetzen).

Aktualisierung und Prüfung des Images

Pareo-Mitarbeitende starten nie ein Update. Wie Updates starten, legt Ihre IT in der .env fest:

ZeileBedeutung
PAREO_UPDATE_MODE=automaticNeue signierte Versionen installieren sich im Wartungsfenster selbst. Standard in einem neuen Installationspaket.
PAREO_UPDATE_MODE=on_clickNur der Klick eines Admins Ihrer Organisation auf der Connector-Seite startet ein Update. Gilt auch, wenn die Zeile fehlt.
PAREO_UPDATE_WINDOW=Mon,Sat 02:00-05:00Wann automatische Updates laufen dürfen, in UTC. Leer heißt jederzeit.

Updater. Das Update installiert ein zweiter Container aus demselben signierten Image. Er läuft nur, wenn das Compose-Profil updates aktiv ist (COMPOSE_PROFILES=updates in der .env). Ohne ihn zeigt die Connector-Seite statt der Schaltfläche die Schritte für ein Update von Hand.

  • Modus und Wartungsfenster prüft der Updater selbst auf der VM. Pareo kann kein automatisches Update außerhalb Ihres Fensters oder im Modus on_click auslösen.
  • Eine fehlgeschlagene oder zurückgerollte Version versucht Pareo nie von selbst erneut. Ein Admin kann sie per Klick erneut anstoßen.
  • Der Updater hat Zugriff auf den Container-Socket (/var/run/docker.sock oder den Podman-Socket), weil er den Connector neu anlegen muss. Er lädt nur das Pareo-Connector-Image per Digest, prüft die cosign-Signatur gegen den eingebauten Pareo-Schlüssel und lehnt jedes andere Image ab.
  • Der Updater läuft als Root, weil der Socket Root gehört. Er gibt alle Capabilities ab außer CHOWN und DAC_OVERRIDE. Die braucht er, um die .env und das gemeinsame State-Volume zu schreiben. Er läuft ohne SELinux-Label (label=disable), weil SELinux einem Container das Schreiben auf den Socket nicht erlaubt. Der Zugriff auf den Socket reicht weiter als alle drei. Behandeln Sie den Updater deshalb wie jeden Prozess mit diesem Zugriff.
  • Meldet sich die neue Version nicht innerhalb von 5 Minuten mit bestandenen Prüfungen, startet der Updater die vorige wieder.
  • Der Connector selbst führt keine Befehle von Pareo aus. Er schreibt nur die Zielversion in sein State-Volume, wo der Updater sie liest.

Mindestversion. Ein Connector unter der Mindestversion meldet weiter seinen Status, und die Connector-Seite zeigt ihn als Nicht mehr unterstützt. Pareo nimmt keine Daten mehr von ihm an und schickt ihm keine Aufträge; im Log steht unsupported_version. Nach dem Update synchronisiert er wieder von selbst.

Image. Das Image ist über seinen Digest eindeutig festgelegt und baut auf einem minimalen Basis-Image ohne Shell auf. Es läuft ohne Root-Rechte, mit schreibgeschütztem Dateisystem, ohne zusätzliche Capabilities und mit no-new-privileges. Pareo signiert jedes Image mit einem eigenen Schlüssel und hängt eine Software-Stückliste (SBOM) im SPDX-Format an. Prüfen Sie beides, bevor Sie das Image starten. Die Image-Referenz steht in der .env unter PAREO_CONNECTOR_IMAGE.

cosign verify --key pareo-connector.pub <image>@sha256:<digest>
cosign verify-attestation --key pareo-connector.pub --type spdxjson <image>@sha256:<digest>

Speichern Sie diesen öffentlichen Schlüssel als pareo-connector.pub:

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEr7Fj0KSVaqd5lZvOxYIA9h4XLD31
+TkqizG9KrSd4df2IJIC3RBViHU/wP+KO9XC7g1LkZIT6DkRHasJAWSbyA==
-----END PUBLIC KEY-----
Achtung:

Pareo veröffentlicht diesen Schlüssel nur in seiner öffentlichen Dokumentation. Verwenden Sie keinen Schlüssel aus einer anderen Quelle.

Protokolle ohne Datenwerte

  • Auf der Konsole erscheint je Ereignis eine lesbare Zeile, zum Beispiel ok approved by Pareo oder fix sap login refused (401), check /run/secrets/sap_client. Die Log-Datei im State-Volume und die Zeilen, die der Connector an Pareo sendet, sind im JSON-Format. Mit log: { format: json } in der Konfigurationsdatei schreibt auch die Konsole JSON.
  • In keinem der Formate gelangen Werte aus Teamcenter oder SAP ins Log.
  • Das Log-Level debug ist standardmäßig ausgeschaltet. Der Pareo-Support kann es für kurze Zeit anfordern, aber auch dann enthalten die Zeilen nur Datensatz-Kennungen.
  • Eine Diagnoseanfrage liefert Anzahlen und Fehler, nie Inhalte von Datensätzen.

Verhalten bei Störungen

  • Ist Pareo nicht erreichbar, liest der Connector weiter und legt die Daten im Zwischenspeicher ab. Sobald Pareo wieder antwortet, lädt er die Datenpakete in der richtigen Reihenfolge hoch. Der Zwischenspeicher fasst standardmäßig höchstens 5 GB beziehungsweise die Daten von 14 Tagen.
  • Ist die Festplatte voll, liest der Connector nicht weiter, lädt aber bereits Gelesenes weiter hoch.
  • Nach einem Neustart oder Absturz setzt der Connector dort fort, wo er aufgehört hat. Kommt ein Datenpaket doppelt an, speichert Pareo es nur einmal.
  • Antwortet eine Quelle nicht rechtzeitig, liest der Connector kleinere Blöcke und versucht es erneut. Meldet Pareo „zu viele Anfragen“, legt er die verlangte Pause ein.
  • Ein Lauf, der vorzeitig endet, gilt samt seiner Lücken als unvollständig oder fehlgeschlagen und löscht nie Zeilen in Pareo. Nur eine vollständige Synchronisation entfernt Zeilen, die in der Quelle fehlen, und auch das nur für Nummern, die diese Quelle früher geliefert hat. Zeilen aus Dateien, Dokumenten oder manueller Eingabe bleiben erhalten.
  • Meldet sich ein Connector nicht mehr, schlägt ein Lauf oder eine Prüfung fehl oder ist die Festplatte voll, benachrichtigt Pareo den Pareo-Support und Ihre Benachrichtigungsadresse. Administratoren sehen dieselben Meldungen zusätzlich in Pareo.

Was die IT einrichtet

PunktOrtHinweis
Proxyproxy in der KonfigurationsdateiNur wenn die VM das Internet über einen Proxy erreicht, siehe Proxy
Root-Zertifikat des Unternehmensca_bundle in der KonfigurationsdateiNur wenn eine Firewall HTTPS-Verbindungen aufbricht (TLS-Inspektion)
Secret-Dateien/run/secretsJe eine Datei für den Einrichtungsschlüssel, die Teamcenter-Anmeldung und die SAP-Anmeldung, nie in der Konfigurationsdatei
Zeitplanschedule in der KonfigurationsdateiStandard: täglich um 02:00 eine Delta-Synchronisation, sonntags um 03:00 eine vollständige
UhrzeitDie VMPer NTP synchronisieren, denn Pareo lehnt Anfragen mit mehr als 5 Minuten Abweichung ab

Zum Testen gibt es zwei Befehle, die keine Daten senden: check prüft Konfiguration, Secrets, Netz, TLS und Anmeldungen, dry-run zählt, was ein Lauf lesen würde. Die Compose-Datei legt einen Health-Check (/connector health), mem_limit 2g, pids_limit 256 und begrenzte json-file-Logs fest.

Netzwerk

RichtungZielPortZweck
Ausgehendingest.pareo.ai443Gesamte Kommunikation mit Pareo
Ausgehendeurope-west1-docker.pkg.dev443Nur zum Herunterladen von Image und cosign-Signatur
AusgehendIhre SAP- und Teamcenter-Hosts443, internDiese Verbindungen bleiben in Ihrem Netz.
EingehendKeinesKeinerEs ist kein Port geöffnet.

Geben Sie nach Möglichkeit die Hostnamen frei. ingest.pareo.ai verweist auf eine feste, reservierte Adresse; arbeitet Ihre Firewall nur mit IP-Adressen, geben Sie diese Adresse frei. Connectors für eine Staging-Umgebung verwenden ingest-staging.pareo.ai.

Proxy

  • Die Einstellung proxy gilt nur für Verbindungen zu Pareo. Verbindungen zu SAP und Teamcenter laufen direkt.
  • Der Connector unterstützt Proxys ohne Anmeldung und mit Basic-Authentifizierung, aber keine NTLM- oder Kerberos-Proxys. Benutzername und Passwort für Basic stehen in der proxy-URL, und der Connector entfernt sie aus jedem Statusbericht.
  • Verändert ein Proxy den Inhalt einer Anfrage, wird ihre Signatur ungültig, und Pareo lehnt die Anfrage ab. Nehmen Sie ingest.pareo.ai in diesem Fall vom Proxy aus.

Einrichtung, NTLM-Hilfsdienste und TLS-Inspektion beschreibt Proxy in der Installationsanleitung.

Image aus der eigenen Registry

Statt das Image von Pareo zu beziehen, können Sie es auch aus Ihrer eigenen Registry (Harbor, Nexus, Artifactory) bereitstellen.

  1. Kopieren Sie das Image mit seinem Digest. --all übernimmt dabei alle Plattformen:

    skopeo copy --all docker://<image>@sha256:<digest> docker://your-registry.example/pareo/connector:<tag>

    Alternativ verwenden Sie crane copy <image>@sha256:<digest> your-registry.example/pareo/connector:<tag>.

  2. Kopieren Sie auch Signatur und Software-Stückliste. cosign copy <image>@sha256:<digest> your-registry.example/pareo/connector:<tag> kopiert Image, Signatur und Attestierungen in einem Schritt.

  3. Prüfen Sie die Kopie mit dem öffentlichen Schlüssel von dieser Seite. Der Digest muss übereinstimmen:

    cosign verify --key pareo-connector.pub your-registry.example/pareo/connector@sha256:<digest>
  4. Tragen Sie in der .env unter PAREO_CONNECTOR_IMAGE Ihre Registry ein und behalten Sie den Digest bei. PAREO_IMAGE_DIGEST bleibt unverändert.

Technischer Benutzer in SAP

Der Connector greift über OData ausschließlich lesend auf SAP zu. Geben Sie dem Benutzer nur Anzeigerechte (Berechtigungsaktivität 03). Das Zurückschreiben nach SAP ist ein eigener Schritt: Es braucht eine eigene Zugangsberechtigung, getrennt von diesem Benutzer.

OData-ServiceGelesene Entitätsmengen
API_CLFN_PRODUCT_SRVA_ClfnProduct, A_ProductCharcValue, A_ProductDescription
API_CLFN_CHARACTERISTIC_SRVA_ClfnCharacteristicForKeyDate, A_ClfnCharcValueForKeyDate
API_BILL_OF_MATERIAL_SRVA_BillOfMaterial, A_BillOfMaterialItem
ZPareoCharcValueText (optional, eigener Service)ZPareoCharcValueText

Den Langtext-Service liest der Connector nur, wenn das Profil ihn nennt und die Merkmalswerte eine Langtext-Kennung haben. Fehlt er, sendet der Connector die Werte ohne Langtexte und zählt die Langtexte, die er nicht lesen konnte.

sap.authAnmeldungKonfigurationsschlüssel
oauth (Standard)Client Credentials: Der Connector holt ein Token und verwendet es als Bearer-Token.sap.url, sap.client_file, optional sap.token_url
basicHTTP-Basic-Authentifizierung bei jeder Anfragesap.url, sap.client_file

In sap.client_file steht in Zeile 1 die Client-ID (oder der Benutzer), in Zeile 2 das Secret (oder Passwort). Ohne sap.token_url verwendet der Connector <sap.url>/oauth/token. Beide URLs müssen https verwenden.

Technischer Benutzer in Teamcenter

Der Connector ruft über die JSON-REST-Schnittstelle nur diese SOA-Operationen der Services Core und Query auf:

OperationZweck
Core-2011-06-Session/loginÖffnet pro Lauf eine Sitzung
Query-2006-03-SavedQuery/getSavedQueriesFindet die gespeicherte Abfrage über ihren Namen
Query-2008-06-SavedQuery/executeSavedQueriesFührt die gespeicherte Abfrage aus
Core-2006-03-DataManagement/getPropertiesLiest die erlaubten Eigenschaften
Core-2007-01-DataManagement/getItemFromIdFindet ein Item über seine Kennung
Core-2006-03-Session/logoutSchließt die Sitzung nach jedem Lesevorgang

Der Benutzer braucht Leserechte auf die gespeicherte Abfrage und die Item-Revisionen, die sie liefert, aber keine Schreibrechte. Die gespeicherte Abfrage muss weniger als 250.000 Objekte liefern (den Grund nennt Technischer Benutzer in Teamcenter).

Installation

Schritte, Checkliste vor der Installation, Updates und Fehlermeldungen beschreibt Installation des Connectors. Die Fragen, die Ihre IT vorab klärt, stehen dort unter Checkliste vor der Installation.

Fragen zu dieser Seite richten Sie an den Pareo-Support: .

integrationssecuritysetupadmin