---
metadata:
  - name: generator
    content: Diplodoc Platform v5.63.0
alternate:
  - ru/concepts/secrets-instance/obligation
  - href: ru/concepts/secrets-instance/obligation.md
    type: text/markdown
    title: Markdown version
csp:
  - script-src:
      - https://mc.yandex.ru
    img-src:
      - https://mc.yandex.ru
    connect-src:
      - https://mc.yandex.ru
      - wss://mc.yandex.ru
    child-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-ancestors:
      - 'blob:'
      - https://mc.yandex.ru
canonical: ru/concepts/secrets-instance/obligation.html
title: Обязательность секретов DataLens On-premises
description: >-
  В этом разделе приведена классификация секретов по обязательности
  использования при развертывании DataLens On-premises.
vcsPath: ru/concepts/secrets-instance/obligation.md
---

# Обязательность секретов DataLens On-premises

Классификация секретов по обязательности:

* [🔴 Обязательные секреты (RSA-ключи аутентификации)](#required)
* [🟡 Условно обязательные секреты](#cond-required)
* [🟢 Автогенерируемые секреты](#secret-auto-generated)
* [⚪ Опциональные секреты](#secret-optional)


## 🔴 Обязательные секреты (RSA-ключи аутентификации) {#required}

Эти секреты обязательны при включенной аутентификации (`features.auth.enabled: true` — включена по умолчанию).

| Секрет                   | Автогенерация              | Формат           | Описание |
| ------------------------ | -------------------------- | ---------------- |--------- |
| `AUTH_TOKEN_PRIVATE_KEY` | ✅ При первом развертывании | RSA 4096-bit PEM | Приватный ключ для подписи JWT-токенов аутентификации |
| `AUTH_TOKEN_PUBLIC_KEY`  | ✅ При первом развертывании | RSA 4096-bit PEM | Публичный ключ для верификации JWT-токенов |

{% note info %}

При использовании `./init.sh` эти ключи генерируются автоматически. Для повторной генерации используйте флаг `--auth-rsa-gen`.

{% endnote %}


## 🟡 Условно обязательные секреты {#cond-required}

### Секреты для Temporal (импорт или экспорт воркбуков) {#secret-temporal}

Эти секреты обязательны при включении одной из функций:

* `features.meta_manager.enabled: true`
* `features.export.enabled: true`
* `features.usage_tracking.enabled: true`

| Секрет                      | Автогенерация              | Формат           | Описание |
| --------------------------- | -------------------------- | ---------------- | -------- |
| `TEMPORAL_AUTH_PRIVATE_KEY` | ✅ При первом развертывании | RSA 4096-bit PEM | Приватный ключ для аутентификации в Temporal |
| `TEMPORAL_AUTH_PUBLIC_KEY`  | ✅ При первом развертывании | RSA 4096-bit PEM | Публичный ключ для аутентификации в Temporal |

{% note info %}

Для повторной генерации используйте флаг `--temporal-rsa-gen`.

{% endnote %}


### Секрет для приватного реестра docker-образов {#secret-docker}

| Секрет               | Автогенерация | Формат              | Когда обязателен |
| -------------------- | ------------- | ------------------- | --------------- |
| `DOCKER_CONFIG_JSON` | ❌            | JSON (docker config) | При `registry.private: true` и если не указан `registry.docker_config.secret.ref` |


## 🟢 Автогенерируемые секреты {#secret-auto-generated}

Эти секреты автоматически генерируются при первом развертывании, если не указаны явно. Значения сохраняются в секретах Kubernetes и переиспользуются при последующих развертываниях.


### Секреты аутентификации и безопасности {#secret-auth-security}

| Секрет                        | Длина        | Формат       | Описание |
| ----------------------------- | ------------ | ------------ | -------- |
| `AUTH_ADMIN_PASSWORD`         | 32 символа   | alphanumeric | Пароль администратора системы (пользователь `admin`) |
| `AUTH_CALLBACK_COOKIE_SECRET` | 32 символа   | alphanumeric | Ключ шифрования Cookie для callback-ов аутентификации |
| `CSRF_SECRET`                 | 16 символов  | alphanumeric | Ключ генерации CSRF-токенов для защиты от CSRF-атак |


### Мастер-токены межсервисного взаимодействия {#secret-token}

| Секрет                       | Длина       | Формат       | Описание |
| ---------------------------- | ----------- | ------------ | -------- |
| `AUTH_MASTER_TOKEN`          | 32 символа  | alphanumeric | Токен авторизации запросов к сервису аутентификации |
| `US_MASTER_TOKEN`            | 32 символа  | alphanumeric | Токен авторизации запросов к сервису United Storage |
| `FILE_UPLOADER_MASTER_TOKEN` | 32 символа  | alphanumeric | Токен авторизации запросов к сервису загрузки файлов |


### Ключи шифрования {#encryption-keys}

| Секрет                          | Длина       | Формат               | Описание |
| ------------------------------- | ----------- | -------------------- | -------- |
| `CONTROL_API_CRYPTO_KEY`        | 32 символа  | base64(alphanumeric) | Ключ шифрования конфиденциальных данных подключений (пароли, токены) |
| `EXPORT_DATA_VERIFICATION_KEY` | 32 символа  | alphanumeric          | Ключ верификации целостности данных при импорте и экспорте воркбуков |


### Пароли PostgreSQL {#postgres-passwords}

| Секрет                        | Длина       | Описание |
| ----------------------------- | ----------- | -------- |
| `POSTGRES_PASSWORD_ROOT`      | 32 символа  | Пароль суперпользователя PostgreSQL |
| `POSTGRES_PASSWORD_US`        | 32 символа  | Пароль для БД сервиса United Storage (метаинформация) |
| `POSTGRES_PASSWORD_COMPENG`   | 32 символа  | Пароль для БД движка вычислений |
| `POSTGRES_PASSWORD_AUTH`      | 32 символа  | Пароль для БД сервиса аутентификации |
| `POSTGRES_PASSWORD_TEMPORAL`  | 32 символа  | Пароль для БД Temporal |
| `POSTGRES_PASSWORD_META_MANAGER` | 32 символа | Пароль для БД сервиса Meta Manager |
| `POSTGRES_PASSWORD_DEMO`      | 32 символа  | Пароль для БД демо-данных |


### Пароли инфраструктурных компонентов {#mdb-passwords}

| Секрет                | Длина                      | Когда используется                                                                 | Описание |
| --------------------- | -------------------------- | --------------------------------------------------------------------------------- | -------- |
| `CLICKHOUSE_PASSWORD` | по умолчанию 32 символа   | При `features.files.enabled` или `features.usage_tracking.enabled`                | Пароль пользователя ClickHouse® |
| `REDIS_PASSWORD`       | по умолчанию 64 символа   | При `features.files.enabled`, `features.cache.enabled` или `features.background_exports.enabled` | Пароль для Redis |
| `S3_ACCESS_KEY_ID`     | строго 32 символа         | При `features.files.enabled` или `features.background_exports.enabled`            | Access Key ID для S3 (MinIO) |
| `S3_SECRET_ACCESS_KEY` | строго 64 символа         | При `features.files.enabled` или `features.background_exports.enabled`            | Secret Access Key для S3 (MinIO) |


## ⚪ Опциональные секреты {#secret-optional}

| Секрет                  | Формат     | Описание |
| ----------------------- | ---------- | -------- |
| `AUTH_PROVIDERS_CONFIG` | JSON array | Конфигурация внешних провайдеров аутентификации (LDAP, OIDC). По умолчанию — пустой массив `[]` |
| `secrets.ref`           | string     | Ссылка на существующий Kubernetes секрет для использования вместо создания нового |

<!-- source: ru/_includes/clickhouse-disclaimer.md -->
_ClickHouse® является зарегистрированным товарным знаком [ClickHouse, Inc](https://clickhouse.com)._
<!-- endsource: ru/_includes/clickhouse-disclaimer.md -->