Документация / Security

Политики Zero-Trust

В mesh нахождение внутри не равнозначно доверию. Доступ предоставляется идентичностью, позицией и явной политикой, — одно лишь сетевое расположение не даёт ничего.

Сначала идентичность, расположение — никогда

Каждый агент владеет сертификатами, выпущенными MeshCA, и идентичностью узла, привязанной к mesh. Когда пир запрашивает доступ, координатор проверяет, кто он, какова его позиция, что он сообщает, и что разрешает политика , — а не то, в какой подсети он оказался. Тракт пакета обеспечивает это на каждом шаге: принимающий агент проверяет идентичность источника, расшифровывает и контролирует состояние защиты от повторов, прежде чем внедрить хоть один байт.

Наименьшие привилегии — изнутри наружу

Пишите политики от наименьших привилегий наружу. Прорабатывайте роли вашего окружения по одной:

  • Операторы — узкий набор вызовов control plane, действительно необходимых для их работы.
  • Сервисы — только те пиры и методы, которые необходимы рабочей нагрузке для функционирования.
  • Сборочные системы и Git-раннеры — читают то, что собирают, пишут только то, что публикуют.
  • Маршрутизаторы и публичный ingress — ровно те поверхности, которые они терминируют, и ничего более.

Каждая роль получает доступ только к необходимым ей ресурсам, — и каждое разрешение — это строка политики, которую можно прочитать, проверить и отозвать.

Поверхности авторизации

Координатор обеспечивает соблюдение авторизации в RBAC, setup-ключах,, токенах узлов и разрешениях уровня методов. Setup-ключи определяют, кто вообще может присоединиться к mesh; токены узлов идентифицируют подключённых агентов; RBAC и разрешения уровня методов определяют, что каждая идентичность вправе делать внутри.

Типовая форма ACL
  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».

Политика — тоже свидетельство. Каждое изменение политики — событие, подлежащее аудиту. Кто изменил политику, какой узел или сервис затронут и исходит ли изменение от оператора-человека или токена автоматизации, — фиксирует модель аудита .