- Зачем: - документация и конфигурация доступа должны говорить только подтверждённое. - Что: - ADR приведён к результату межшардового замера. - объяснены служебный грант и учебный компромисс remote(). - удалены избыточные профили, README связан с ADR. - Проверка: - make config-test, make lint, make smoke, make check-clickhouse, make check-services.
67 lines
2.8 KiB
XML
67 lines
2.8 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>
|
||
<!-- В 26.3 движок Kafka требует право на внешний источник. -->
|
||
<query>GRANT KAFKA ON *.*</query>
|
||
</grants>
|
||
</etl_writer>
|
||
<!-- Оба читателя: clickhouse-connect читает system.settings при подключении. -->
|
||
<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>
|
||
<default>
|
||
<password from_env="CLICKHOUSE_DEFAULT_PASSWORD"/>
|
||
</default>
|
||
<etl>
|
||
<password from_env="CLICKHOUSE_ETL_PASSWORD"/>
|
||
<quota>default</quota>
|
||
<grants>
|
||
<query>GRANT etl_writer</query>
|
||
</grants>
|
||
</etl>
|
||
<bi>
|
||
<password from_env="CLICKHOUSE_BI_PASSWORD"/>
|
||
<quota>default</quota>
|
||
<grants>
|
||
<query>GRANT bi_reader</query>
|
||
</grants>
|
||
</bi>
|
||
<analyst>
|
||
<password from_env="CLICKHOUSE_ANALYST_PASSWORD"/>
|
||
<quota>default</quota>
|
||
<grants>
|
||
<query>GRANT analyst_reader</query>
|
||
</grants>
|
||
</analyst>
|
||
</users>
|
||
</clickhouse>
|