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.
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ürhost: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.
- 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.- 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).
- 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. - 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.
- 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.
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.
config.yaml des Gateways über ipv4-Regeln; das generierte Snippet enthält diese bereits.
Konnektivitätsmodi
- Reverse-Tunnel
- AWS PrivateLink
Ausschließlich ausgehende Konnektivität vom Gateway in Ihrem Netzwerk zu Ihrer dedizierten Devin-VPC
<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:- Devin stellt Ihnen auf der Settings-Seite “Devin Connect” ein Enrollment-Token für das Tunnel-Gateway aus.
- Sie installieren das Token auf dem Gateway-Host unter dem Pfad, auf den
tunnel.auth_token_fileverweist. - Das Gateway verbindet sich mit
<customer>.gateway.devinenterprise.com:443, prüft das Serverzertifikat des Devin-Edge und übermittelt das Token. - 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.
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:443und 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 wirdFROM 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.
admin_listen:
/healthzfür Prozess-Liveness./readyzfür Readiness./metricsfür Prometheus-Metriken.
- Betreiben Sie das Gateway in einem privaten Subnetz.
- Binden Sie
/healthzund/readyzin 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_openundconn_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).

