Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dev Tunnels ist ein sicherheitsorientierter Entwicklertunneldienst. In diesem Artikel erfahren Sie, wie Entwicklertunnel gesichert sind.
Überblick
Standardmäßig erfordert das Hosten und Herstellen einer Verbindung mit einem Tunnel eine Authentifizierung mit demselben Microsoft-, Microsoft Entra-ID- oder GitHub-Konto, das den Tunnel erstellt hat. Für Tunneling müssen ausgehende Verbindungen mit dem in Azure gehosteten Dienst hergestellt werden. Für die Verwendung des Diensts sind keine eingehenden Verbindungen erforderlich.
Domänen
Der Zugriff auf Dev-Tunnel kann gesteuert werden, indem ausgehender Zugriff auf die folgenden Domänen zugelassen oder verweigert wird:
Authentifizierung
github.com
login.microsoftonline.com
Dev Tunnels
global.rel.tunnels.api.visualstudio.com
[clusterId].rel.tunnels.api.visualstudio.com
[clusterId]-data.rel.tunnels.api.visualstudio.com
*.[clusterId].devtunnels.ms
*.devtunnels.ms
Die Liste der aktuellen [clusterId]
Werte ist unter https://global.rel.tunnels.api.visualstudio.com/api/v1/clusters.
Webweiterleitung
Tunnelports mit den HTTP(S)/WS(S)-Protokollen können direkt über die bereitgestellte Webweiterleitungs-URL (z. B.: ) aufgerufen werden. https://tunnelid-3000.devtunnels.ms
- Unsichere Clientverbindungen werden immer automatisch auf HTTPS/WSS aktualisiert.
- HTTP Strict Transport Security (HSTS) ist mit einer maximalen Dauer von einem Jahr aktiviert.
- Die minimale TLS-Version, die der Dienst unterstützt, ist 1.2, wobei TLS 1.3 die bevorzugte Version ist.
- TLS-Terminierung erfolgt beim Dienstzugang mithilfe von Dienstzertifikaten, die von einer Microsoft-Zertifizierungsstelle (CA) ausgestellt wurden.
- Nach der Beendigung von TLS erfolgt die Kopfzeilenumschreibung. Dies ist für viele Webanwendungsentwicklungsszenarien erforderlich.
Antiphishingschutz
Beim erstmaligen Herstellen einer Verbindung mit einer Webweiterleitungs-URL werden Benutzern eine Interstitial-Antiphishingseite angezeigt. Die Seite wird unter den folgenden Umständen übersprungen:
- Die Anforderung verwendet eine andere Methode als
GET
- Der Header der Anfrage
Accept
enthält nichttext/html
- Die Anforderung enthält den
X-Tunnel-Skip-AntiPhishing-Page
Header. - Die Anforderung enthält den
X-Tunnel-Authorization
Header. - Der Benutzer hat die Seite bereits besucht und auf "Weiter" geklickt.
Tunnelzugriff
Tunnel und Tunnelports sind standardmäßig privat und nur für den Benutzer zugänglich, der den Tunnel erstellt hat.
Wenn auf einen Tunnel oder Port ohne Authentifizierung zugegriffen werden muss, kann ein anonymer Zugriffssteuerungseintrag (ACE) hinzugefügt werden (verwenden Sie --allow-anonymous
).
Der Tunnelzugriff kann auch auf Ihren aktuellen Microsoft Entra-Mandanten (Verwendung --tenant
) oder bestimmte GitHub-Organisationen (Verwendung --organization
) erweitert werden. Letzteres finden Sie unten unter GitHub Organization Access .
Die CLI kann auch verwendet werden, um Zugriffstoken anzufordern, die eingeschränkten Zugriff auf alle Personen gewähren, die das Token halten (Verwenden devtunnel token
). Dies ist ein erweitertes Feature, kann aber in bestimmten Situationen nützlich sein.
Derzeit sind vier Arten von Tunnelzugriffstoken verfügbar:
- Ein "Clientzugriffstoken" ermöglicht dem Bearer, eine Verbindung mit allen Ports des Tunnels herzustellen.
- Ein "Hostzugriffstoken" ermöglicht dem Bearer das Hosten des Tunnels und akzeptiert Verbindungen, nimmt jedoch keine weiteren Änderungen daran vor.
- Ein „Zugriffstoken für die Verwaltung von Ports“ bietet dem Inhaber die Möglichkeit, Ports zu einem Tunnel hinzuzufügen und zu löschen.
- Ein "Verwaltungszugriffstoken" ermöglicht es dem Bearer, alle Vorgänge in diesem Tunnel auszuführen, einschließlich festlegen von Zugriffssteuerungen, Hosting, Verbinden und Löschen des Tunnels.
Alle Token sind auf den aktuellen Tunnel beschränkt; sie gewähren keinen Zugriff auf die anderen Tunnel des aktuellen Benutzers, falls vorhanden. Die Token laufen nach einiger Zeit ab (derzeit 24 Stunden). Token können nur mithilfe einer tatsächlichen Benutzeridentität aktualisiert werden, die über Verwaltungsbereichszugriffsrechte auf den Tunnel verfügt (und nicht nur über ein Verwaltungszugriffstoken).
Die meisten CLI-Befehle können ein --access-token
Argument mit einem geeigneten Token als Alternative zur Anmeldung akzeptieren.
Webclients können ein Token in einem Header übergeben, um Anforderungen an einen Tunnel-URI zu autorisieren:
X-Tunnel-Authorization: tunnel <TOKEN>
Tipp
Dies ist nützlich für nicht interaktive Clients, da sie auf Tunnel zugreifen können, ohne dass anonymer Zugriff aktiviert werden muss. Wir verwenden den X-Tunnel-Authorization
Header anstelle des Standardheaders Authorization
, um potenziell einen Eingriff in die anwendungsspezifische Autorisierung zu verhindern.
Weitere Informationen zum Verwalten des Tunnelzugriffs über die CLI finden Sie im Abschnitt " Verwalten des Dev-Tunnelzugriffs ".
GitHub-Organisationszugriff
Um Tunnel zu unterstützen, die Zugriff auf alle Mitglieder einer GitHub-Organisation gewähren, installieren Sie die GitHub-App Dev Tunnels in der Organisation. Dadurch erhält der Dev Tunnels-Dienst die Berechtigung, den Mitgliedschaftsstatus der Benutzer in dieser Organisation zu überprüfen. (Dev Tunnels erfordert keine Repositoryberechtigungen für die Organisation.) Möglicherweise müssen Sie ein Administrator in der GitHub-Organisation sein, um diesen Vorgang auszuführen.
Weitere Fragen
Wenn Sie nach der Überprüfung dieser Seite weitere Fragen haben, lesen Sie Feedback und Support.If after reviewing this page, you have further questions, see Feedback and support.