Политики Zero-Trust
В mesh нахождение внутри не равнозначно доверию. Доступ предоставляется идентичностью, позицией и явной политикой, — одно лишь сетевое расположение не даёт ничего.
Сначала идентичность, расположение — никогда
Каждый агент владеет сертификатами, выпущенными MeshCA, и идентичностью узла, привязанной к mesh. Когда пир запрашивает доступ, координатор проверяет, кто он, какова его позиция, что он сообщает, и что разрешает политика , — а не то, в какой подсети он оказался. Тракт пакета обеспечивает это на каждом шаге: принимающий агент проверяет идентичность источника, расшифровывает и контролирует состояние защиты от повторов, прежде чем внедрить хоть один байт.
Наименьшие привилегии — изнутри наружу
Пишите политики от наименьших привилегий наружу. Прорабатывайте роли вашего окружения по одной:
- Операторы — узкий набор вызовов control plane, действительно необходимых для их работы.
- Сервисы — только те пиры и методы, которые необходимы рабочей нагрузке для функционирования.
- Сборочные системы и Git-раннеры — читают то, что собирают, пишут только то, что публикуют.
- Маршрутизаторы и публичный ingress — ровно те поверхности, которые они терминируют, и ничего более.
Каждая роль получает доступ только к необходимым ей ресурсам, — и каждое разрешение — это строка политики, которую можно прочитать, проверить и отозвать.
Поверхности авторизации
Координатор обеспечивает соблюдение авторизации в RBAC, setup-ключах,, токенах узлов и разрешениях уровня методов. Setup-ключи определяют, кто вообще может присоединиться к mesh; токены узлов идентифицируют подключённых агентов; RBAC и разрешения уровня методов определяют, что каждая идентичность вправе делать внутри.
teams:
operations: [op-1, op-2]
builders: [runner-a, runner-b]
grants:
- team: operations
access: coordinator /v1/nodes read, /v1/acls write
- team: builders
access: git node read, publish artifact to registry
- node: runner-b
access: git node write (branch: main only)
firewall:
- source: operations
destination: control plane
allow: [management, telemetry]Жизненный цикл политик
Координатор компилирует ACL, команды, группы и правила межсетевого экрана в позицию, фактически применяемую агентами, и синхронизирует её через heartbeat подключения. Изменения политик распространяются так же — без ручного редактирования правил на узлах и без расхождения между «тем, что мы решили» и «тем, что обеспечивает mesh».
