
Boundary permite la gestión de acceso basada en identidad para infraestructura dinámica.
Boundary es un proxy consciente de la identidad que proporciona una forma simple y segura de acceder a hosts y sistemas críticos en tu red.
Con Boundary puedes:
Boundary está diseñado para ser sencillo de entender, altamente escalable y resistente. Puede ejecutarse en la nube, on-prem, en enclaves seguros y más, y no requiere que se instale un agente en cada host final, lo que lo hace adecuado para el acceso a servicios gestionados/en la nube y flujos de trabajo basados en contenedores, además de los sistemas y servicios host tradicionales.
Para más información, consulta "¿Qué es Boundary?" en el sitio web de Boundary.
Boundary consta de dos componentes de servidor:
Una instalación real de Boundary probablemente consistirá en uno o más controllers emparejados con uno o más workers. Un único binario de Boundary puede actuar en cualquiera de estos dos modos, o en ambos.
Además, Boundary proporciona un cliente de escritorio y una CLI para que los usuarios finales soliciten y establezcan sesiones autorizadas a recursos a través de una red.
Boundary no requiere que se instale software en tus hosts y servicios.
Boundary tiene dos dependencias externas:
La base de datos contiene la configuración de Boundary y la información de las sesiones. Los nodos controller deben poder acceder a la base de datos.
Los valores que son secretos (por ejemplo, credenciales) se cifran en la base de datos. Actualmente, PostgreSQL es compatible como base de datos y se ha probado con Postgres 12 y superior.
Boundary utiliza solo extensiones comunes y se admiten tanto instancias alojadas como autogestionadas. En la mayoría de los casos, todo lo que necesitas es un endpoint de base de datos y las credenciales adecuadas.
Boundary utiliza claves KMS para diversos fines, como proteger secretos, autenticar workers, recuperar datos, cifrar valores en la configuración de Boundary y más. Boundary utiliza ampliamente la derivación de claves para evitar la proliferación de estas claves de alto valor.
Puedes usar cualquier KMS en la nube o el Vault's Transit Secrets Engine para cumplir con el requisito de KMS.
Ejecutar Boundary en un contexto más permanente requiere algunos pasos adicionales, como escribir algunos archivos de configuración simples para indicar a los nodos cómo alcanzar su base de datos y KMS. Los pasos siguientes, junto con la información adicional necesaria para instalaciones permanentes, se detallan en nuestra Guía de instalación.
⚠️ No uses la rama
mainexcepto para casos de desarrollo o prueba. Boundary 0.10 introdujo ramas de lanzamiento que deberían ser seguras de seguir; sin embargo, las migraciones enmainpueden renumerarse si es necesario. El equipo de Boundary no podrá brindar asistencia si ejecutarmaina largo plazo resulta en fallos de migración u otros errores.
Descarga la última versión del binario del servidor y los clientes de escritorio apropiados desde nuestra página de descargas
Boundary tiene un modo dev que puedes usar para probar. En el modo dev, puedes iniciar tanto un
controller como un worker con un solo comando, y tienen las
siguientes propiedades:
Si cumples con los siguientes requisitos locales, puedes poner Boundary en marcha rápidamente:
Simplemente ejecuta:
make install
Esto compilará Boundary. (La primera vez que se ejecute, obtendrá y compilará
los activos de la interfaz de usuario; lo que tomará unos minutos adicionales). Una vez completado, ejecuta Boundary en
modo dev:
$GOPATH/bin/boundary dev
Ten en cuenta que el desarrollo puede requerir otras herramientas; para instalar el conjunto de herramientas en las versiones utilizadas por el equipo de Boundary, ejecuta:
make tools
Si no lo haces, puedes encontrar errores al ejecutar make install. También es importante
tener en cuenta que usar make tools instalará varias herramientas utilizadas para el desarrollo
de Boundary en el directorio normal de binarios de Go; esto puede sobrescribir o tener prioridad
sobre herramientas que ya podrían estar instaladas en el sistema.
Inicia el binario del servidor con:
boundary dev
Esto iniciará un servicio Controller escuchando en http://127.0.0.1:9200 para
solicitudes API entrantes y un servicio Worker escuchando en http://127.0.0.1:9202
para solicitudes de sesión entrantes. También creará varios recursos predeterminados y
mostrará varios datos útiles, como un nombre de usuario y una contraseña
que se pueden usar para autenticarse.
Para una prueba simple de Boundary en modo dev, por lo general no necesitas
configurar ningún recurso en absoluto. Pero es útil entender qué hizo el modo dev
por ti para que puedas dar pasos adicionales. Por defecto, el modo dev creará:
global para la autenticación inicial, que contiene un método de
autenticación de tipo Password, junto con una cuenta para iniciar sesión.global, y un Scope de proyecto dentro de la
organización.127.0.0.1)22 (por ejemplo, SSH)Puedes ingresar a la interfaz web de Boundary o usar su API para cambiar estos valores predeterminados, por ejemplo, si quieres conectarte a un host diferente o necesitas modificar el puerto al que conectarte.
A continuación, hagamos una conexión real a tu daemon SSH local a través de Boundary:
dev predeterminados, esto sería boundary authenticate password -auth-method-id ampw_1234567890 -login-name admin -password password. (Ten en cuenta que si no incluyes la bandera password
se te pedirá que la ingreses).boundary connect ssh -target-id ttcp_1234567890. Si deseas ajustar
el nombre de usuario, pasa -username <name> al comando.Explora las posibilidades de configuración de targets para probar la limitación (o el aumento) del
número de conexiones por sesión o establecer un límite de tiempo máximo; intenta cancelar
una sesión activa desde la página de sesiones o mediante boundary sessions, crea tus
propios comandos con boundary connect -exec, y así sucesivamente.
Este ejemplo es una forma sencilla de comenzar, pero omite varios pasos clave que podrían tomarse en un contexto de producción:
Ten en cuenta: Nos tomamos muy en serio la seguridad de Boundary y la confianza de nuestros usuarios. Si crees que has encontrado un problema de seguridad en Boundary, comunícalo de forma responsable poniéndote en contacto con nosotros en [email protected].
¡Gracias por tu interés en contribuir! Consulta CONTRIBUTING.md para obtener orientación.