Каждое имя туннеля выглядит как строка инвентаризации, пока вы не спросите, кому оно принадлежит. Имя говорит, что что-то подключено прямо сейчас; оно не может сказать, кому принадлежит услуга, что им разрешено достигать и та ли это конфигурация, которая породила туннель, что вы утвердили. В масштабе парка именно эти три вопроса и есть инвентаризация, а туннель — лишь последнее наблюдение.

Одна услуга, три записи

Планируемая услуга — это то, на что арендатор имеет право: идентичности, префиксы, ресурсы и состояние жизненного цикла. Развёрнутая конфигурация — это сгенерированная политика, которая должна её реализовать. Наблюдаемый сеанс — это доказательство времени выполнения, что что-то подключилось. Если считать их одной таблицей, три разных вида правды сжимаются в строку, которая неверна сразу тремя способами.

RecordAnswersGoes stale when
Intended serviceWho may reach whatA contract changes and nobody edits the record
Deployed configurationWhat the gateway was toldA device is edited by hand
Observed sessionWhat is running nowTelemetry stops or a session ends

Практическая проверка — это вопрос, на который каждая запись может ответить самостоятельно. Спросите, кому принадлежит этот префикс, и запись планируемой услуги ответит. Спросите, какая политика у шлюза, и развёрнутая запись ответит. Спросите, пользовался ли кто-то этим на неделе, и запись сеанса ответит. Столбец, который не может ответить на собственный вопрос, нужно исправлять первым.

Записывайте арендатора, а не интерфейс

Дайте каждой услуге идентификатор, который переживает переподключение. Временный интерфейс туннеля или номер сеанса меняются по причинам, не имеющим отношения к клиенту, и инвентаризация, построенная на одном из них, получает новую строку каждый раз, когда соединение дрогнет. Стройте её на арендаторе и услуге, а затем прикрепляйте наблюдения к этому ключу.

Записи нужны ответственные арендатор и оператор, принятая идентичность партнёра или пользователя, ссылка на учётные данные, а не их копия, защищённые префиксы, контекст маршрутизации, разрешённые ресурсы и планируемое состояние жизненного цикла. Материал учётных данных принадлежит поддерживаемому хранилищу секретов; инвентаризация, носящая закрытые ключи, стала второй, хуже защищённой копией среды.

У сгенерированной конфигурации есть владелец и версия

Автоматизация делает это проще и лучше скрывает. Успешно отработавший генератор доказывает, что шаблон отрендерен, а не что каждое устройство соответствует выводу. Кто-то в конце концов изменит шлюз вручную во время инцидента, и это изменение — самое ценное, что нужно зафиксировать, потому что его не воспроизведёт ни один последующий запуск.

Зафиксируйте, какая ревизия создала развёрнутую политику, и сохраняйте прямые правки как расхождение, которое нужно согласовать вместо того чтобы молча их перезаписывать. Согласование здесь и есть продукт: успех генератора и фактическое состояние устройства — два факта, которые нужно сравнивать, а не считать равными.

Сеансы — это доказательство, а не разрешение

Там, где развёртывание использует учёт RADIUS, RFC 2866 даёт конкретные поля для работы. Acct-Status-Type отличает начало от остановки, а записи одного сеанса разделяют Acct-Session-Id. Эти поля позволяют восстановить, когда сеанс начался и закончился, не доверяя сводке панели.

Идентификатор учёта — это доказательство времени выполнения. Он не определяет, какому арендатору принадлежит подсеть, и не даёт доступа ни к чему. Сопоставьте его со шлюзом и идентичностью услуги, а затем держите время сбора рядом с наблюдением. Отсутствующий отчёт может быть сбоем телеметрии, а не отсутствием использования, и старая запись не доказывает, что доступ действует прямо сейчас.

Вывод из эксплуатации использует то же соединение

Удалить услугу значит удалить планируемый доступ, учётные данные и активные сеансы, именно в этом порядке, через владельцев каждого из них. Затем проверьте, что устаревшая конфигурация ушла с устройств и что её разрешённые пути больше не разрешаются. Клиент, ушедший в прошлом квартале, не должен оставаться в списке префиксов из-за того, что имя туннеля удалили, а маршрут нет.

Ничто из этого не требует одного устройства на функцию или конкретного продукта автоматизации. Операционное требование уже и труднее: клиент, его планируемый доступ, развёрнутая политика и текущие доказательства времени выполнения должны соединяться, не полагаясь на чью-то память об имени туннеля. Сначала постройте три записи, затем выбирайте инструменты, которые их поддерживают.

Похожие статьи