Zum Hauptinhalt springen
Version: 1.89.x (Q2 26)

Domänenzugriff einschränken

Der Zugriff auf Anwendungen und Dienste kann auf Domänen- oder auf Anwendungs- und Dienstebene eingeschränkt werden. Dieser Leitfaden beschreibt die verfügbaren Methoden, um den öffentlichen Zugriff auf Workloads in Codesphere zu begrenzen.

Verwendung der integrierten Plattform-Einschränkungen

Codesphere bietet integrierte Plattformfunktionen zur Zugriffssteuerung auf Infrastrukturebene, darunter teambasierte Authentifizierung, Datenschutz für Dev-Domains und Zugriffskontrolle auf Portebene.

Benutzerdefinierte Domänen auf Team beschränken

Die Funktion Auf Team beschränken erzwingt die Authentifizierung auf Domänenebene. Bei Aktivierung können nur Benutzer, die bei Codesphere angemeldet und Mitglieder des zugehörigen Teams sind, auf die Anwendungs-URL zugreifen.

So beschränkt man eine benutzerdefinierte Domäne auf Teammitglieder:

  1. Zum Tab Domains im Team Dashboard navigieren
  2. Die zu konfigurierende Domäne oder Subdomäne suchen
  3. Auf Settings (Zahnrad-Symbol) neben der Domäne klicken
  4. Zum Tab Routing wechseln
  5. Den Schalter Domain Access auf Private umschalten
  6. Auf Save changes klicken

Einstellungen für Domänenzugriff

Funktionsweise

Bei Aktivierung werden alle HTTP-Anfragen an die Domäne abgefangen. Nicht authentifizierte Besucher werden zur Codesphere-Login-Seite weitergeleitet. Der Zugriff wird nur nach erfolgreicher Authentifizierung mit einem gültigen Team-Mitgliedskonto gewährt.

tipp

Weitere Informationen zum Hinzufügen und Konfigurieren benutzerdefinierter Domänen finden sich im Leitfaden Benutzerdefinierte Domäne verbinden.

Dev-Domains einschränken

Dev-Domains sind automatisch generierte URLs, die Codesphere jedem Workspace zuweist. Diese folgen dem Format <workspace-id>.<data-center>.<your-codesphere-instance-domain> (z. B. 4220.1.codesphere.corp42.net).

So beschränkt man den Zugriff auf eine Dev-Domain:

  1. Zu den Workspace-Einstellungen navigieren
  2. Den Dialog Edit Workspace öffnen
  3. Die Sichtbarkeit des Workspace auf Private setzen

Sobald die Dev-Domain privat ist, ist sie nur noch für Teammitglieder zugänglich, die bei ihrem Codesphere-Konto angemeldet sind.

Zugriff auf eingeschränkte Domänen

Wenn eine Domäne als eingeschränkt (privat) festgelegt ist, können nur Mitglieder des eigenen Teams auf die dort gehosteten Inhalte zugreifen. Benutzern stehen zwei Authentifizierungsoptionen zur Verfügung:

Option 1: Anmeldung über den Browser

Teammitglieder können auf eingeschränkte Domänen zugreifen, indem sie sich im Browser bei ihrem Codesphere-Konto anmelden. Nach der Authentifizierung haben sie Zugriff auf alle eingeschränkten Domänen, die ihrem Team zugeordnet sind.

Option 2: Authentifizierung über API-Key

Für den programmatischen Zugriff oder Aufrufe der API einer Anwendung können sich Benutzer mit ihrem API-Key authentifizieren.

So verwendet man die API-Key-Authentifizierung:

Den API-Key im Anfrage-Header angeben:

X-CS-Authorization: Bearer [YOUR-API-KEY]

Beispiel mit curl:

curl -H "X-CS-Authorization: Bearer YOUR-API-KEY" https://your-restricted-domain.com

API-Key erhalten

API-Keys können in den Codesphere-Benutzereinstellungen im Bereich API Keys erstellt und verwaltet werden.

Zugriffssteuerung auf Portebene konfigurieren

Standardmäßig sind Dienste nicht öffentlich über Ports erreichbar. Dienste, die keinen öffentlichen Internetzugriff benötigen (z. B. Datenbanken, Worker-Knoten), können ausschließlich Internal Ports für die sichere Kommunikation innerhalb der Landscape nutzen. Der bevorzugte Weg, um Dienste öffentlich zugänglich zu machen, besteht darin, einen internen Port mit dem Path Router zu verknüpfen. Die Möglichkeit, öffentliche Workspace-Subdomains für Ports direkt freizugeben, dient der Kompatibilität mit eher traditionellen Frameworks.

So konfiguriert man den Portzugriff:

  1. Den Landscape Config Editor über die Seitenleiste öffnen
  2. Auf Settings (Zahnrad-Symbol) für den jeweiligen Dienst klicken
  3. Zum Abschnitt Ports & Routes navigieren
  4. Die Einstellung der Portverfügbarkeit von Internal auf Public ändern

Ansicht der Ports-und-Routen-Einstellungen mit Optionen für Routenfreigabe und Netzwerkzugriff.

Service Discovery

Interne Ports verzichten auf eine öffentliche URL. Der Dienst bleibt für andere Dienste innerhalb desselben Workspace über den internen Hostnamen erreichbar: http://ws-server-<ws-id>-<service-name>:<port>.

Einschränkungen auf Anwendungsebene

Für Anforderungen an die Zugriffssteuerung, die nicht durch Plattformeinstellungen abgedeckt sind – etwa IP-Whitelisting oder benutzerdefinierte Authentifizierung für Nicht-Codesphere-Benutzer – müssen Einschränkungen über Anwendungs-Middleware implementiert werden.

Gängige Muster auf Anwendungsebene

  • IP-Whitelisting: Middleware implementieren (z. B. express-ipfilter für Node.js), um den Header X-Forwarded-For zu prüfen und Anfragen von nicht autorisierten IP-Adressen abzulehnen
  • Basic Auth: Eine Bibliothek verwenden (z. B. express-basic-auth für Node.js), um einen in der Anwendungsumgebung definierten Benutzernamen und ein Passwort zu verlangen
  • Benutzerdefiniertes OAuth/SSO: Authentifizierungsanbieter von Drittanbietern für den Zugriff externer Benutzer integrieren

Granulare Steuerung

Die Implementierung der Sicherheit auf Code-Ebene ermöglicht granulare Einschränkungen, etwa den Schutz bestimmter API-Routen, während statische Assets öffentlich bleiben.

Anwendungsfälle

Zugriffseinschränkungen sind besonders nützlich für:

  • Staging-Umgebungen – Verhindern des öffentlichen Zugriffs auf Test- und QA-Umgebungen
  • Interne Tools – Einschränkung des Zugriffs auf Admin-Panels und interne Dashboards
  • Entwicklungs-Workspaces – Anwendungen in Entwicklung privat halten
  • Datenbankdienste – Verwendung interner Ports, um direkten externen Zugriff zu verhindern
  • Compliance-Anforderungen – Erfüllung von Sicherheitsrichtlinien, die eine Zugriffssteuerung vorschreiben