docs(clickhouse): описана учебная модель доступа
- Зачем: - читателю нужна честная граница между учебными ролями и боевой защитой. - Что: - README описывает пользователей, роли и место хранения паролей. - мастер-спека явно откладывает эксплуатационные меры защиты. - устаревшие комментарии Compose и пробника приведены к реализации. - Проверка: - make config-test, make lint.
This commit is contained in:
@@ -242,16 +242,26 @@ uv run --project generator python -m clickstream_generator batch \
|
||||
- Prometheus — `http://127.0.0.1:29090`;
|
||||
- Grafana — `http://127.0.0.1:23000`, пользователь `admin`, пароль `admin`.
|
||||
|
||||
У локального учебного кластера нет пароля: ноды используют общего пользователя
|
||||
`default` для запросов `Distributed`. Порты поэтому привязаны к `127.0.0.1` и
|
||||
не открыты во внешнюю сеть.
|
||||
В ClickHouse четыре пользователя:
|
||||
|
||||
Пароли интерфейсов, пароли Postgres, ключи Airflow и Superset, отсутствие
|
||||
пароля ClickHouse и отсутствие проверки доступа у Kafka и Prometheus —
|
||||
намеренно простые и явно ненастоящие настройки локального учебного стенда. Это
|
||||
не пример настройки защиты: не копируйте значения из `.env.example` в рабочую
|
||||
среду. Все опубликованные порты привязаны только к `127.0.0.1`; Postgres наружу
|
||||
не опубликован.
|
||||
- `etl` применяет DDL и подключает Airflow; роль `etl_writer` читает и пишет
|
||||
слои хранилища;
|
||||
- `bi` подключает Superset; роль `bi_reader` читает будущие слои DDS и DM;
|
||||
- `analyst` предназначен для подключения человека и читает все слои;
|
||||
- `default` остаётся служебным: им ходят проверки здоровья и скрипты внутри
|
||||
контейнеров, но не приложения.
|
||||
|
||||
Пользователи и роли объявлены в `infra/clickhouse/users.d/access.xml`. Пароли
|
||||
и общий секрет нод живут в `.env` и передаются в конфигурацию через окружение;
|
||||
Superset получает пароль `bi` тем же путём через штатную функцию настройки.
|
||||
Значения для локального стенда есть в `.env.example`.
|
||||
|
||||
Пароли ClickHouse и интерфейсов, пароли Postgres, ключи Airflow и Superset,
|
||||
отсутствие проверки доступа у Kafka и Prometheus — намеренно простые и явно
|
||||
ненастоящие настройки локального учебного стенда. Это не пример настройки
|
||||
защиты: не копируйте значения из `.env.example` в рабочую среду. Все
|
||||
опубликованные порты привязаны только к `127.0.0.1`; Postgres наружу не
|
||||
опубликован.
|
||||
|
||||
В бою перед репликами ClickHouse обычно был бы балансировщик. Здесь в каждом
|
||||
шарде одна реплика, поэтому балансировать нечего. Балансировщик и топология
|
||||
|
||||
Reference in New Issue
Block a user