Агенты Airlock — это экземпляры Airlock, настроенные на проксирование трафика к ресурсам инфраструктуры: серверам, базам данных, кластерам Kubernetes, рабочим столам Windows и веб-приложениям.

Обзор архитектуры

Сервисы

Каждый процесс Airlock может запускать один или несколько сервисов. Сервис включается в конфигурационном файле экземпляра.

Пулы агентов

Агенты обычно работают в тех же частных сетях, что и проксируемые ресурсы. Они должны быть единственными клиентами, имеющими прямой доступ к ресурсу без Airlock.

Агенты устанавливают обратные SSH-туннели к Proxy Service. Proxy Service доступен из интернета по HTTPS, а агентам не нужны открытые порты или публичный адрес.

Proxy Service использует обратные туннели для пересылки трафика по поддерживаемым протоколам на доступного агента. Агент применяет правила RBAC и передаёт трафик ресурсам.

Подключение агентов

Первоначальное подключение к кластеру

Агентам нужно установить доверие с Auth Service. Доступны несколько способов подключения для автоматизации в вашей среде — см. подключение по join-токену.

При первом запуске процесс Airlock читает конфигурацию и определяет включённые сервисы. Каждый сервис отдельно подключается к Auth Service, который проверяет наличие join-токена для этого сервиса. При успехе Auth Service выдаёт учётные данные, подписанные для конкретного сервиса.

Добавление нового сервиса на существующий агент

Учётные данные агентов подписаны для конкретных сервисов. Чтобы запустить новые сервисы, повторите процедуру подключения:

  1. Сгенерируйте новый join-токен для всех сервисов агента, включая новые.
  2. Обновите токен в конфигурации (airlock.join_params или airlock.auth_token).
  3. Удалите каталог состояния агента (по умолчанию /var/lib/airlock, поле airlock.data_dir).
  4. Перезапустите агент.

Рекомендуется развёртывать агентов через инфраструктуру как код и обновлять конфигурацию сервисов в проекте IaC с последующим передеплоем.

Регистрация инфраструктуры

Два способа зарегистрировать ресурсы через агентов:

  • Статический — указать ресурс в конфигурационном файле агента.
  • Динамический — применить ресурс конфигурации (YAML через airctl), чтобы Airlock управлял проксированием.

Подробные инструкции по типам ресурсов:

Руководства в этом разделе

ДокументОписание
join-tokenПодключение агента по одноразовому токену
ssh-nodeРегистрация Linux-сервера с SSH Service
opensshДоступ к серверам OpenSSH без агента
kubernetes-agentПодключение Kubernetes-кластера
rdp-windowsДоступ к рабочим столам Windows по RDP
databasesОбзор Database Service
database-postgresqlPostgreSQL
database-mysqlMySQL / MariaDB
database-opensearchOpenSearch / Elasticsearch
applicationsВнутренние веб-приложения