
Boundary enables identity-based access management for dynamic infrastructure.
Boundary est un proxy conscient de l'identité qui offre un moyen simple et sécurisé d'accéder aux hôtes et aux systèmes critiques de votre réseau.
Avec Boundary, vous pouvez :
Boundary est conçu pour être simple à comprendre, hautement évolutif et résilient. Il peut fonctionner dans le cloud, sur site, dans des enclaves sécurisées, etc., et ne nécessite pas l'installation d'un agent sur chaque hôte final, ce qui le rend adapté à l'accès aux services managés/cloud et aux flux de travail basés sur des conteneurs, en plus des systèmes hôtes et services traditionnels.
Pour plus d'informations, reportez-vous à « Qu'est-ce que Boundary ? » sur le site web de Boundary.
Boundary se compose de deux composants serveur :
Une installation réelle de Boundary comprendra probablement un ou plusieurs controllers associés à un ou plusieurs workers. Un seul binaire Boundary peut agir dans l'un ou l'autre de ces deux modes, ou dans les deux.
De plus, Boundary fournit un client Desktop et un CLI permettant aux utilisateurs finaux de demander et d'établir des sessions autorisées vers des ressources à travers un réseau.
Boundary ne nécessite pas l'installation de logiciel sur vos hôtes et services.
Boundary a deux dépendances externes :
La base de données contient la configuration et les informations de session de Boundary. Les nœuds controller doivent pouvoir accéder à la base de données.
Les valeurs qui sont des secrets (par exemple les identifiants) sont chiffrées dans la base de données. Actuellement, PostgreSQL est pris en charge comme base de données et a été testé avec Postgres 12 et supérieur.
Boundary n'utilise que des extensions courantes et prend en charge aussi bien les instances hébergées que les instances auto-gérées. Dans la plupart des cas, tout ce dont vous avez besoin est un point de terminaison de base de données et les identifiants appropriés.
Boundary utilise des clés KMS à diverses fins, telles que la protection des secrets, l'authentification des workers, la récupération de données, le chiffrement des valeurs dans la configuration de Boundary, etc. Boundary utilise massivement la dérivation de clé pour éviter la prolifération de ces clés de grande valeur.
Vous pouvez utiliser n'importe quel KMS cloud ou le moteur Transit Secrets de Vault pour satisfaire l'exigence KMS.
Exécuter Boundary dans un contexte plus permanent nécessite quelques étapes supplémentaires, telles que l'écriture de fichiers de configuration simples pour indiquer aux nœuds comment atteindre leur base de données et leur KMS. Les étapes ci-dessous, ainsi que les informations supplémentaires nécessaires pour les installations permanentes, sont détaillées dans notre Guide d'installation.
⚠️ N'utilisez pas la branche
mainsauf pour les cas de développement ou de test. Boundary 0.10 a introduit des branches de release qui devraient pouvoir être suivies en toute sécurité ; cependant, les migrations dansmainpeuvent être renumérotées si nécessaire. L'équipe Boundary ne pourra pas fournir d'assistance si l'exécution demainà long terme entraîne des ruptures de migration ou d'autres bogues.
Téléchargez la dernière release du binaire serveur et le(s) client(s) Desktop approprié(s) depuis notre page de téléchargement
Boundary dispose d'un mode dev que vous pouvez utiliser pour les tests. En mode dev, vous pouvez démarrer à la fois un
controller et un worker avec une seule commande, et ils ont les
propriétés suivantes :
Si vous répondez aux prérequis locaux suivants, vous pouvez rapidement démarrer avec Boundary :
Exécutez simplement :
make install
Cela compilera Boundary. (La première fois que cette commande est exécutée, elle récupérera et compilera
les ressources de l'interface utilisateur ; cela prendra quelques minutes supplémentaires.) Une fois terminé, exécutez Boundary en
mode dev :
$GOPATH/bin/boundary dev
Veuillez noter que le développement peut nécessiter d'autres outils ; pour installer l'ensemble des outils aux versions utilisées par l'équipe Boundary, exécutez :
make tools
Sans cela, vous pouvez rencontrer des erreurs lors de l'exécution de make install. Il est important
de noter également que l'utilisation de make tools installera divers outils utilisés pour le développement
de Boundary dans le répertoire normal des binaires Go ; cela peut écraser ou prendre le pas
sur des outils qui pourraient déjà être installés sur le système.
Démarrez le binaire serveur avec :
boundary dev
Cela démarrera un service Controller écoutant sur http://127.0.0.1:9200 pour
les requêtes API entrantes et un service Worker écoutant sur http://127.0.0.1:9202
pour les requêtes de session entrantes. Cela créera également diverses ressources par défaut et
affichera diverses informations utiles, telles qu'un nom d'utilisateur et un mot de passe
qui peuvent être utilisés pour s'authentifier.
Pour un simple test de Boundary en mode dev, vous n'avez généralement pas besoin de
configurer de ressources du tout ! Mais il est utile de comprendre ce que le mode dev
a fait pour vous afin de pouvoir ensuite franchir d'autres étapes. Par défaut, le mode dev créera :
global pour l'authentification initiale, contenant une méthode d'authentification
de type Password, ainsi qu'un compte pour la connexion.global, et un scope de projet à l'intérieur de
l'organisation.127.0.0.1)22 (par exemple SSH)Vous pouvez accéder à l'interface web de Boundary ou utiliser son API pour modifier ces valeurs par défaut, par exemple si vous souhaitez vous connecter à un hôte différent ou si vous avez besoin de modifier le port sur lequel vous connecter.
Ensuite, établissons réellement une connexion à votre démon SSH local via Boundary :
dev par défaut, cela serait boundary authenticate password -auth-method-id ampw_1234567890 -login-name admin -password password. (Notez que si vous n'incluez pas le flag password, il vous
sera demandé de le saisir.)boundary connect ssh -target-id ttcp_1234567890. Si vous souhaitez ajuster
le nom d'utilisateur, passez -username <name> à la commande.Explorez les possibilités de configuration de cible pour tester la limitation (ou l'augmentation) du
nombre de connexions par session ou la définition d'une limite de temps maximale ; essayez d'annuler
une session active depuis la page des sessions ou via boundary sessions, créez vos
propres commandes avec boundary connect -exec, et ainsi de suite.
Cet exemple est un moyen simple de démarrer mais omet plusieurs étapes clés qui pourraient être réalisées dans un contexte de production :
Veuillez noter : Nous prenons la sécurité de Boundary et la confiance de nos utilisateurs très au sérieux. Si vous pensez avoir trouvé un problème de sécurité dans Boundary, veuillez le divulguer de manière responsable en nous contactant à [email protected].
Merci pour votre intérêt à contribuer ! Veuillez vous référer à CONTRIBUTING.md pour les directives.