Перейти к содержанию

·Observability

Единый вход вместо девяти паролей

ArgoCD, Grafana, Hubble, внутренние сервисы — каждый со своей формой входа. Единая точка входа нужна не для удобства, а чтобы отзыв доступа был одной операцией.

В кластере со стандартным набором инфраструктурных сервисов быстро оказывается полдесятка веб-интерфейсов: ArgoCD, Grafana, средства сетевой видимости, панель доступа, внутренние сервисы.

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

Почему это проблема не про удобство

Удобство здесь второстепенно. Основная проблема — отзыв доступа.

Человек уходит из проекта. Сколько мест надо посетить, чтобы он потерял доступ? В схеме с отдельными базами пользователей ответ — столько, сколько сервисов, и держится он в чьей-то памяти.

Пропущенный сервис обнаруживается либо никогда, либо неприятно. Причём вероятность пропустить растёт с каждым новым сервисом, а сервисы добавляются постоянно.

Единая точка входа

Все интерфейсы за одним входом с одной базой личностей. Отзыв доступа — одна операция в одном месте.

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

Что здесь легко сделать неправильно

Поставить единый вход перед сервисами и оставить у сервисов их собственные формы. Тогда появляется второй путь: кто знает прямой адрес, входит мимо.

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

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

Как это связано с наблюдаемостью

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

Доступ к панелям обычно нужен шире, чем доступ к управлению: разработчикам, продуктовым специалистам, иногда заказчику. Ровно поэтому здесь важно, чтобы «дать посмотреть графики» не означало «дать доступ в кластер» — а без разделения ролей часто означает именно это.

Отдельно про нулевое доверие

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

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

С чего начинать

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