Единый вход вместо девяти паролей
ArgoCD, Grafana, Hubble, внутренние сервисы — каждый со своей формой входа. Единая точка входа нужна не для удобства, а чтобы отзыв доступа был одной операцией.
В кластере со стандартным набором инфраструктурных сервисов быстро оказывается полдесятка веб-интерфейсов: ArgoCD, Grafana, средства сетевой видимости, панель доступа, внутренние сервисы.
У каждого своя форма входа. У большинства — своя база пользователей. У некоторых по умолчанию единственный администратор с паролем из документации.
Почему это проблема не про удобство
Удобство здесь второстепенно. Основная проблема — отзыв доступа.
Человек уходит из проекта. Сколько мест надо посетить, чтобы он потерял доступ? В схеме с отдельными базами пользователей ответ — столько, сколько сервисов, и держится он в чьей-то памяти.
Пропущенный сервис обнаруживается либо никогда, либо неприятно. Причём вероятность пропустить растёт с каждым новым сервисом, а сервисы добавляются постоянно.
Единая точка входа
Все интерфейсы за одним входом с одной базой личностей. Отзыв доступа — одна операция в одном месте.
Побочные приобретения: одна политика паролей и второго фактора вместо разных, единый журнал входов вместо пяти, и отсутствие сервисов с паролем по умолчанию — потому что своей формы входа у них больше нет.
Что здесь легко сделать неправильно
Поставить единый вход перед сервисами и оставить у сервисов их собственные формы. Тогда появляется второй путь: кто знает прямой адрес, входит мимо.
Правильная конфигурация означает, что прямой доступ к сервису закрыт сетевым уровнем, а не только не афишируется. Иначе единый вход — это удобная дверь рядом с открытым окном.
Вторая частая ошибка — единый вход без ролей. Тогда все, кто вошёл, видят всё, включая интерфейс, который может менять инфраструктуру. Наблюдение и управление должны различаться по правам, даже если вход общий.
Как это связано с наблюдаемостью
Напрямую: панели с метриками — один из тех интерфейсов, которые надо открывать людям, и самый частый по числу пользователей.
Доступ к панелям обычно нужен шире, чем доступ к управлению: разработчикам, продуктовым специалистам, иногда заказчику. Ровно поэтому здесь важно, чтобы «дать посмотреть графики» не означало «дать доступ в кластер» — а без разделения ролей часто означает именно это.
Отдельно про нулевое доверие
В более строгих конфигурациях к этому добавляется взаимная проверка личности самих нагрузок, а не только людей: сервис доказывает, кто он, прежде чем с ним начинают говорить.
Это другой уровень зрелости и другая стоимость внедрения. Упоминаем, чтобы не создавать впечатления, что единый вход для людей решает вопрос доступа целиком — он решает половину, и это заметная половина.
С чего начинать
С инвентаризации. Список интерфейсов, у каждого — как в него входят и кто в нём администратор. Этот список почти всегда оказывается длиннее ожидаемого, и в нём почти всегда есть один сервис с паролем из документации.