Files
clickstream-data-platform/infra/clickhouse/users.d/access.xml
T
ddadmin 790f7c1bb7 feat(clickhouse): добавлены роли и межнодовый секрет
- Зачем:
  - менти должен увидеть разделение доступа без состояния в томах.
- Что:
  - пользователи и роли объявлены файлом с паролями из окружения.
  - межшардовые запросы передают пользователя через общий секрет.
  - четыре допущения реализации подтверждены в ADR живыми замерами.
- Проверка:
  - make config-test, make smoke, make check-clickhouse, make check-services.
2026-08-13 10:04:58 +03:00

64 lines
2.6 KiB
XML

<clickhouse>
<!--
Пользователи и роли объявлены файлом: повторный подъём стенда не хранит
доступ в томах. Пароли приходят из .env через Compose.
-->
<roles>
<etl_writer>
<grants>
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW ON default.*</query>
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW, CREATE DATABASE ON stg.*</query>
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW, CREATE DATABASE ON ods.*</query>
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW, CREATE DATABASE ON dds.*</query>
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW, CREATE DATABASE ON dm.*</query>
<query>GRANT SELECT ON system.*</query>
<query>GRANT CLUSTER ON *.*</query>
<query>GRANT REMOTE ON *.*</query>
</grants>
</etl_writer>
<bi_reader>
<grants>
<query>GRANT SELECT ON dds.*</query>
<query>GRANT SELECT ON dm.*</query>
<query>GRANT SELECT ON system.settings</query>
</grants>
</bi_reader>
<analyst_reader>
<grants>
<query>GRANT SELECT ON stg.*</query>
<query>GRANT SELECT ON ods.*</query>
<query>GRANT SELECT ON dds.*</query>
<query>GRANT SELECT ON dm.*</query>
<query>GRANT SELECT ON system.settings</query>
</grants>
</analyst_reader>
</roles>
<users>
<etl>
<password from_env="CLICKHOUSE_ETL_PASSWORD"/>
<profile>default</profile>
<quota>default</quota>
<grants>
<query>GRANT etl_writer</query>
</grants>
</etl>
<bi>
<password from_env="CLICKHOUSE_BI_PASSWORD"/>
<profile>default</profile>
<quota>default</quota>
<grants>
<query>GRANT bi_reader</query>
</grants>
</bi>
<analyst>
<password from_env="CLICKHOUSE_ANALYST_PASSWORD"/>
<profile>default</profile>
<quota>default</quota>
<grants>
<query>GRANT analyst_reader</query>
</grants>
</analyst>
</users>
</clickhouse>