Skip to main content
Devin Connect befindet sich derzeit im Early Access. Funktionen und Konfiguration können sich ändern. Wenden Sie sich an Ihr Cognition Account Team, wenn Sie an einem frühen Zugang interessiert sind.
Devin Connect ermöglicht Devin-Sitzungen den Zugriff auf interne Systeme (Versionsverwaltung, Artefakt-Registries, interne APIs), ohne für jede Ressource einen eigenen Netzwerkpfad einrichten zu müssen. Sie stellen ein schlankes Gateway in Ihrem eigenen Netzwerk bereit, das Devin über eine private Verbindung erreicht. Aktuelles Gateway-Release: v0.0.2

Was Devin Connect leistet

Devin Connect besteht aus zwei Teilen, die unabhängig voneinander konfiguriert werden. Ein Richtlinien-Proxy innerhalb Ihres Netzwerks. Das Gateway ist ein HTTP-CONNECT-Proxy mit einer Default-Deny-Allowlist. Es nimmt eine Verbindungsanfrage für host:port an, prüft sie gegen Ihre Routen, löst den Namen über Ihr eigenes DNS auf, baut die Verbindung zum Ziel auf und leitet die Bytes unverändert weiter. Weder das Gateway noch die Devin-Infrastruktur terminiert oder inspiziert das TLS zwischen der Devin-VM und Ihrem Service, und jede Verbindung wird im Audit Log erfasst. Ein privater Pfad von Devin zu diesem Proxy. Devin muss den Proxy erreichen, ohne dass eine der beiden Seiten etwas im öffentlichen Internet exponiert. Dafür gibt es zwei Wege, und der Proxy verhält sich in beiden Fällen identisch:
  • Reverse-Tunnel: Das Gateway baut eine ausgehende TLS-Verbindung zu einem Devin-seitigen Endpunkt auf, und Devin sendet Verbindungsanfragen über diesen Tunnel zurück. Es wird nichts eingehend in Ihr Netzwerk geöffnet, und es ist keine Integration mit einem Cloud-Anbieter erforderlich.
  • AWS PrivateLink: Sie stellen dem Gateway einen Network Load Balancer und einen VPC Endpoint Service voran, und Cognition nutzt diesen über einen Interface VPC Endpoint in Ihrer dedizierten Tenant-VPC. Der Traffic bleibt im AWS-Backbone, und Devin verbindet sich direkt über private IPs mit dem Gateway.
Wählen Sie unten in den Tabs Konnektivitätsmodi eine Variante aus; alles Weitere auf dieser Seite gilt für beide. Eigenschaften, die in beiden Fällen gelten:
  • Dedizierte Single-Tenant-VPC. Ihr Devin-Deployment läuft in einer eigenen VPC (siehe Customer Dedicated Deployment-Modell). Devin-VMs senden Traffic für Ihre gerouteten Ziele über die von Cognition konfigurierte Egress-Kontrolle an das Gateway.
  • Default-Deny, doppelt durchgesetzt. Routen werden sowohl auf dem Gateway als auch auf der Devin-Seite durchgesetzt, sodass eine reine Konfigurationsänderung auf einer Seite den Zugriff nicht ausweiten kann. Das Routing eines Ziels erweitert niemals die Permissions einer Sitzung: Das Security Profile der Sitzung muss den Zugriff weiterhin erlauben.
  • Ihr Anwendungs-TLS ist Ende-zu-Ende. Das Gateway leitet Byteströme unverändert weiter.
  • DNS bleibt innerhalb Ihres Netzwerks. Route-Ziele werden von Ihren Resolvern aufgelöst (standardmäßig durch den System Resolver des Gateway-Hosts oder durch von Ihnen konfigurierte Nameserver).
  • Ein Deployment deckt alle gerouteten Ziele ab. Sie fügen Hostnames und IPv4-Bereiche in den Devin-Settings hinzu, statt für jeden Service eigene Verbindungen zu bauen.

Auswahl eines Konnektivitätsmodus

Devin Connect konfigurieren

Die Konfiguration erfolgt in beiden Modi in der Devin-Web-App auf der Seite „Devin Connect“ in den Enterprise Settings. Diese Seite steht Nutzern mit der entsprechenden Admin-Rolle zur Verfügung. Ein Konto kann mehrere Gateways haben, die jeweils ihre eigene Gruppe von Zielen routen: höchstens ein Reverse-Tunnel-Gateway sowie beliebig viele PrivateLink-Gateways.
  1. Wählen Sie „Add gateway“, vergeben Sie einen Namen und wählen Sie eine Verbindungsart: „Tunnel“ für den Reverse-Tunnel oder „Direct“ für AWS PrivateLink. Geben Sie bei „Direct“ zusätzlich den DNS-Namen und den Port des Interface Endpoints ein (siehe Tab AWS PrivateLink).
  2. Wählen Sie auf der Karte des Gateways für jedes Ziel, das Devin darüber erreichen soll, „Add destination“: einen exakten Hostnamen oder eine IPv4-Adresse bzw. einen CIDR-Bereich wie 10.20.0.0/16. Wildcards werden nicht unterstützt. Jedes Ziel kann nur einem Gateway zugeordnet sein.
  3. Wählen Sie bei einem Tunnel-Gateway „Generate token“, um es zu registrieren. Das Enrollment-Token wird nur einmal angezeigt, von Devin nie gespeichert und kann jederzeit über „Regenerate token“ rotiert oder widerrufen werden. Direct-Gateways haben keinen Tunnel, der authentifiziert werden muss – dieser Schritt entfällt daher.
  4. Kopieren Sie bei einem Tunnel-Gateway das Bereitstellungs-Snippet für Ihre Plattform (Docker, Kubernetes, AWS ECS, Terraform auf ECS oder EC2 oder ein Linux-Host). Das Snippet enthält eine sofort ausführbare config.yaml, die aus den Zielen des Gateways generiert wird. Kopieren Sie es daher erneut, wenn Sie die Ziele ändern.
Die Karte jedes Tunnel-Gateways zeigt außerdem an, ob das Gateway aktuell verbunden ist und wann es zuletzt aktiv war.

Hostname- und IPv4-Ziele

  • Hostnames werden anhand des Namens abgeglichen, zu dem die Sitzung eine Verbindung herstellt. Dieser wird aus der TLS-SNI oder dem HTTP-Host-Header ausgelesen. Daher leiten sie ausschließlich TLS- und unverschlüsselten HTTP-Datenverkehr weiter. Das Gateway löst den Namen über Ihren DNS auf.
  • IPv4-Adressen und CIDRs werden anhand der Ziel-IP der Verbindung abgeglichen und leiten daher jedes TCP-Protokoll weiter, einschließlich SSH- und Datenbankverbindungen. Für diese Routen löst Devin Ihre internen Namen nicht auf: Sitzungen verbinden sich direkt per IP-Adresse, oder Sie stellen die Namensauflösung in der Umgebung bereit, zum Beispiel über /etc/hosts-Einträge, die Sie in Ihrem Blueprint einrichten.
Erlauben Sie IPv4-Ziele in der config.yaml des Gateways über ipv4-Regeln; das generierte Snippet enthält diese bereits.

Konnektivitätsmodi

Devin Connect reverse tunnel architecture

Ausschließlich ausgehende Konnektivität vom Gateway in Ihrem Netzwerk zu Ihrer dedizierten Devin-VPC

Das Gateway baut N ausgehende TLS-Tunnel zu Ihrem Tenant-Endpunkt <customer>.gateway.devinenterprise.com:443 auf. Sie öffnen dabei niemals einen eingehenden Port. Ein registrierter Tunnel überträgt ausschließlich Streams, die die Devin-Seite in Richtung Ihres Gateways öffnet; er stellt keinen eingehenden Pfad zu Devin dar.Die Registrierung läuft folgendermaßen ab:
  1. Devin stellt Ihnen auf der Settings-Seite “Devin Connect” ein Enrollment-Token für das Tunnel-Gateway aus.
  2. Sie installieren das Token auf dem Gateway-Host unter dem Pfad, auf den tunnel.auth_token_file verweist.
  3. Das Gateway verbindet sich mit <customer>.gateway.devinenterprise.com:443, prüft das Serverzertifikat des Devin-Edge und übermittelt das Token.
  4. Der Edge validiert das Token (Vergleich in konstanter Zeit mit einem gespeicherten Digest; das Roh-Token wird auf der Devin-Seite nie gespeichert) und registriert den Tunnel. Verbindungen von der Devin-Seite zu den Zielen des Gateways laufen anschließend darüber.
Der Tunnel wird mit einem tunnel-Block und ohne listen-Adresse konfiguriert, sodass der Gateway-Host überhaupt keinen Proxy-Port bereitstellt:
Zusätzliche Checklisten-Einträge für diesen Modus:
  • Erlauben Sie ausgehenden Datenverkehr vom Gateway zu <customer>.gateway.devinenterprise.com:443 und zu Ihren auf der Allowlist stehenden internen Diensten. Eingehende Regeln sind nicht erforderlich.
  • Speichern Sie das Enrollment Token in Ihrem Secret-Manager und binden Sie es als Datei ein. Legen Sie es niemals in Images, in versionskontrollierter Konfiguration oder in Logs ab; das Gateway protokolliert es zu keinem Zeitpunkt.
  • Stellen Sie Cognition optional Ihre ausgehenden CIDR-Ranges bereit, um den öffentlichen Endpunkt auf IP-Ebene einzuschränken (gestaffelte Absicherung; das Enrollment Token bleibt die maßgebliche Authentifizierungsinstanz).

Konfigurationsreferenz

Das Gateway wird über eine einzige YAML-Datei konfiguriert, die streng validiert wird und fail-closed arbeitet: Eine Konfiguration, die die Validierung nicht besteht, wird vollständig verworfen, und die vorherige Konfiguration bleibt aktiv. Die Datei wird alle 5 Sekunden gepollt und im laufenden Betrieb neu geladen.

Routes (allowlist)

Alles, was auf keine Route zutrifft, wird abgelehnt; eine leere Routenliste lehnt alles ab. Routen werden der Reihe nach ausgewertet, wobei die erste Übereinstimmung gilt. Hostnames werden so abgeglichen, wie sie angefragt werden – noch vor der DNS-Auflösung. Die Richtlinie gilt somit für den Namen und nicht für die IP-Adresse, zu der er gerade aufgelöst wird.

Listeners

DNS

Hostname-Routen werden abgelehnt, wenn Ihr DNS sie auf Loopback-, Link-Local- oder unspezifizierte Adressen auflöst. So kann ein per Allowlist zugelassener Name nicht auf den Gateway-Host selbst oder einen Metadaten-Endpunkt umgelenkt werden.

Gateway ausführen

Das Gateway wird als Container-Image ausgeliefert, das eine einzelne statische Binary enthält (das Image wird FROM scratch gebaut und läuft als Nicht-root-Nutzer). Mounten Sie die Config unter /etc/devin-gateway/config.yaml und im Tunnel-Modus die Token-Datei an dem Pfad, auf den tunnel.auth_token_file verweist.
Betriebs-Endpunkte auf admin_listen:
  • /healthz für Prozess-Liveness.
  • /readyz für Readiness.
  • /metrics für Prometheus-Metriken.
Deployment-Checkliste für beide Modi:
  • Betreiben Sie das Gateway in einem privaten Subnetz.
  • Binden Sie /healthz und /readyz in die Integritätsprüfungen Ihres Orchestrators ein.
  • Halten Sie die Ziele jedes Gateways in den Devin-Settings und die Routen in dessen Gateway-Config synchron; ein Ziel, das nur auf einer Seite erlaubt ist, ist nicht erreichbar.

Logging und SIEM-Integration

Das Gateway schreibt Logs nach stdout. Wenn stdout kein Terminal ist (der Normalfall in einem Container), werden die Logs als JSON-Zeilen ausgegeben und sind damit maschinell verarbeitbar. Um sie in Ihr SIEM zu übertragen, nutzen Sie die Standard-Log-Pipeline Ihrer Plattform: Der Container-Log-Treiber bzw. -Agent (CloudWatch Logs, Fluent Bit, Vector, Datadog Agent und so weiter) sammelt stdout ein und leitet die Logs wie die jeder anderen Arbeitslast weiter. Das Gateway benötigt keine SIEM-spezifische Konfiguration. Zu den Verbindungs-Audit-Events gehören:
  • conn_open und conn_close, mit Zielhost und Port, Name der zutreffenden Route, Client-Adresse, in beide Richtungen übertragenen Bytes und Dauer.
  • deny, mit Ziel und Grund (zum Beispiel keine passende Allowlist-Route).
Das Enrollment-Token wird niemals geloggt, ebenso wenig die Payload-Inhalte. Informationen zu privater Konnektivität pro Service ohne Gateway finden Sie unter Private Netzwerkanbindung für dedizierte Deployments. Einen Überblick über die Deployment-Modelle finden Sie in der Deployment-Übersicht.