
Boundary enables identity-based access management for dynamic infrastructure.
Boundary ist ein identitätsbewusster Proxy, der einen einfachen und sicheren Zugriff auf Hosts und kritische Systeme in Ihrem Netzwerk ermöglicht.
Mit Boundary können Sie:
Boundary ist darauf ausgelegt, einfach verständlich, hoch skalierbar und widerstandsfähig zu sein. Es kann in Clouds, on-premises, in sicheren Enklaven und mehr ausgeführt werden und erfordert keine Installation eines Agents auf jedem Endhost. Dadurch eignet es sich für den Zugriff auf verwaltete/Cloud-Dienste und containerbasierte Workflows sowie auf herkömmliche Host-Systeme und -Dienste.
Weitere Informationen finden Sie unter „Was ist Boundary?" auf der Boundary-Website.
Boundary besteht aus zwei Serverkomponenten:
Eine reale Boundary-Installation besteht wahrscheinlich aus einem oder mehreren Controllern, die mit einem oder mehreren Workern gekoppelt sind. Eine einzelne Boundary-Binärdatei kann in einem der beiden Modi oder in beiden zugleich fungieren.
Darüber hinaus bietet Boundary einen Desktop-Client und eine CLI, mit denen Endbenutzer autorisierte Sitzungen zu Ressourcen in einem Netzwerk anfordern und herstellen können.
Boundary erfordert keine Installation von Software auf Ihren Hosts und Diensten.
Boundary hat zwei externe Abhängigkeiten:
Die Datenbank enthält die Konfigurations- und Sitzungsinformationen von Boundary. Die Controller-Knoten müssen auf die Datenbank zugreifen können.
Werte, die Geheimnisse sind (z. B. Anmeldedaten), werden in der Datenbank verschlüsselt. Derzeit wird PostgreSQL als Datenbank unterstützt und mit Postgres 12 und höher getestet.
Boundary verwendet nur gängige Erweiterungen; sowohl gehostete als auch selbstverwaltete Instanzen werden unterstützt. In den meisten Fällen benötigen Sie lediglich einen Datenbank-Endpunkt und die entsprechenden Anmeldedaten.
Boundary verwendet KMS-Schlüssel für verschiedene Zwecke, z. B. zum Schutz von Geheimnissen, zur Authentifizierung von Workern, zur Datenwiederherstellung, zur Verschlüsselung von Werten in der Boundary-Konfiguration und mehr. Boundary verwendet in großem Umfang Schlüsselableitung, um die Schlüsselvermehrung dieser hochwertigen Schlüssel zu vermeiden.
Sie können jedes Cloud-KMS oder Vaults Transit Secrets Engine verwenden, um die KMS-Anforderung zu erfüllen.
Die Ausführung von Boundary in einem dauerhafteren Kontext erfordert einige weitere Schritte, z. B. das Schreiben einfacher Konfigurationsdateien, um den Knoten mitzuteilen, wie sie ihre Datenbank und ihr KMS erreichen. Die folgenden Schritte sowie die zusätzlichen Informationen, die für permanente Installationen erforderlich sind, sind in unserem Installationsleitfaden detailliert beschrieben.
⚠️ Verwenden Sie den
main-Zweig nicht außer für Entwicklungs- oder Testfälle. Boundary 0.10 führte Release-Zweige ein, die sicher zu verfolgen sein sollten; Migrationen inmainkönnen jedoch bei Bedarf neu nummeriert werden. Das Boundary-Team kann keine Unterstützung leisten, wenn die langfristige Ausführung vonmainzu Migrationsfehlern oder anderen Bugs führt.
Laden Sie die neueste Version der Server-Binärdatei und die entsprechenden Desktop- Client(s) von unserer Download-Seite herunter.
Boundary verfügt über einen dev-Modus, den Sie zum Testen verwenden können. Im dev-Modus können Sie sowohl einen
Controller als auch einen Worker mit einem einzigen Befehl starten. Diese haben die
folgenden Eigenschaften:
Wenn Sie die folgenden lokalen Anforderungen erfüllen, können Sie Boundary schnell zum Laufen bringen:
Führen Sie einfach Folgendes aus:
make install
Dadurch wird Boundary erstellt. (Beim ersten Ausführen werden die UI-Assets
abgerufen und kompiliert; das dauert ein paar Minuten länger.) Wenn Sie fertig sind, führen Sie Boundary im
dev-Modus aus:
$GOPATH/bin/boundary dev
Bitte beachten Sie, dass für die Entwicklung möglicherweise andere Tools erforderlich sind. Um die Tools in den vom Boundary-Team verwendeten Versionen zu installieren, führen Sie Folgendes aus:
make tools
Wenn Sie dies nicht tun, können beim Ausführen von make install Fehler auftreten. Es ist wichtig,
auch zu beachten, dass die Verwendung von make tools verschiedene Tools, die für die Boundary-Entwicklung
verwendet werden, im normalen Go-Binärverzeichnis installiert; dies kann Tools überschreiben oder ihnen Vorrang einräumen,
die möglicherweise bereits auf dem System installiert sind.
Starten Sie die Server-Binärdatei mit:
boundary dev
Dadurch wird ein Controller-Dienst gestartet, der unter http://127.0.0.1:9200 auf
eingehende API-Anfragen lauscht, und ein Worker-Dienst, der unter http://127.0.0.1:9202
auf eingehende Sitzungsanfragen lauscht. Es werden auch verschiedene Standardressourcen erstellt und
verschiedene nützliche Informationen angezeigt, z. B. ein Login-Name und ein Passwort,
die zur Authentifizierung verwendet werden können.
Für einen einfachen Test von Boundary im dev-Modus müssen Sie im Allgemeinen
überhaupt keine Ressourcen konfigurieren! Es ist jedoch nützlich zu verstehen, was der dev-Modus
für Sie getan hat, damit Sie dann weitere Schritte unternehmen können. Standardmäßig erstellt der dev-Modus:
global-Scope für die anfängliche Authentifizierung, der eine Authentifizierungsmethode vom Typ Passwort
sowie ein Konto für den Login enthält.global und einen Projekt-Scope innerhalb der
Organisation.127.0.0.1) enthält.22 (z. B. SSH).Sie können in der Web-UI von Boundary oder über deren API diese Standardwerte ändern, z. B. wenn Sie eine Verbindung zu einem anderen Host herstellen möchten oder den Port ändern müssen, über den die Verbindung hergestellt werden soll.
Als Nächstes stellen wir tatsächlich eine Verbindung zu Ihrem lokalen SSH-Daemon über Boundary her:
dev-Werten wäre das boundary authenticate password -auth-method-id ampw_1234567890 -login-name admin -password password. (Beachten Sie, dass Sie zur Eingabe aufgefordert werden, wenn Sie das Flag password nicht angeben.)boundary connect ssh -target-id ttcp_1234567890 aus. Wenn Sie den Benutzernamen
anpassen möchten, übergeben Sie -username <name> an den Befehl.Entdecken Sie die Möglichkeiten der Target-Konfiguration, um die Begrenzung (oder Erhöhung) der
Anzahl der Verbindungen pro Sitzung zu testen oder ein maximales Zeitlimit festzulegen; versuchen Sie,
eine aktive Sitzung über die Sitzungsseite oder über boundary sessions abzubrechen, erstellen Sie
eigene Befehle mit boundary connect -exec usw.
Dieses Beispiel ist ein einfacher Einstieg, lässt jedoch mehrere wichtige Schritte aus, die in einem Produktionskontext unternommen werden könnten:
Bitte beachten Sie: Wir nehmen die Sicherheit von Boundary und das Vertrauen unserer Benutzer sehr ernst. Wenn Sie glauben, ein Sicherheitsproblem in Boundary gefunden zu haben, offenlegen Sie es bitte verantwortungsvoll, indem Sie uns unter [email protected] kontaktieren.
Vielen Dank für Ihr Interesse an einer Mitarbeit! Bitte beachten Sie CONTRIBUTING.md für Anleitungen.