feat(clickhouse): приложения переключены на роли

- Зачем:
  - DDL, Airflow и Superset не должны работать с правами default.
- Что:
  - DDL и Airflow переведены на etl, включая явный доступ remote().
  - Superset переведён на bi с паролем из окружения.
  - etl получил право KAFKA, которое ClickHouse 26.3 требует для движка.
- Проверка:
  - make config-test, make lint, make up, make smoke, make check-services.
This commit is contained in:
2026-08-13 10:19:38 +03:00
parent 790f7c1bb7
commit 62dc618252
8 changed files with 60 additions and 14 deletions
+2 -1
View File
@@ -26,6 +26,7 @@ runuser -u airflow -- airflow connections add clickhouse_default \
--conn-type generic \
--conn-host clickhouse-01 \
--conn-port 8123 \
--conn-login default \
--conn-login etl \
--conn-password "$CLICKHOUSE_ETL_PASSWORD" \
--conn-schema default \
--conn-description "ClickHouse, нода 1; типизированный провайдер появится на этапе ETL"
+2
View File
@@ -14,6 +14,8 @@
<query>GRANT SELECT ON system.*</query>
<query>GRANT CLUSTER ON *.*</query>
<query>GRANT REMOTE ON *.*</query>
<!-- В 26.3 движок Kafka требует право на внешний источник. -->
<query>GRANT KAFKA ON *.*</query>
</grants>
</etl_writer>
<bi_reader>
@@ -1,5 +1,5 @@
database_name: ClickHouse
sqlalchemy_uri: clickhousedb://default@clickhouse-02:8123/default
sqlalchemy_uri: clickhousedb://bi@clickhouse-02:8123/default
uuid: 4b8f2c6e-1d3a-4f5b-9c7d-2e8a1f0b3c5d
cache_timeout: null
expose_in_sqllab: true
+9
View File
@@ -5,6 +5,15 @@ import os
SQLALCHEMY_DATABASE_URI = os.environ["SUPERSET__SQLALCHEMY_DATABASE_URI"]
SECRET_KEY = os.environ["SUPERSET_SECRET_KEY"]
# Источник данных пока один, поэтому штатному хранилищу паролей Superset
# достаточно вернуть один секрет из окружения.
def clickhouse_password(_url):
return os.environ["CLICKHOUSE_BI_PASSWORD"]
SQLALCHEMY_CUSTOM_PASSWORD_STORE = clickhouse_password
SESSION_COOKIE_NAME = "superset_session"
SESSION_COOKIE_SECURE = False
SESSION_COOKIE_HTTPONLY = True