Шифрование секретов ConnectorConfig (password/token) в БД
- EncryptedCharField (core/models/fields.py): прозрачное Fernet-шифрование на границе с БД, читатели и админка не меняются - ConnectorConfig.password/token переведены на EncryptedCharField, колонки расширены под шифртекст - Миграция 0004: расширение колонок -> шифрование существующих значений -> смена типа - FIELD_ENCRYPTION_KEY в settings (default = SECRET_KEY); на проде задавать отдельно ДО migrate Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,12 @@ environ.Env.read_env(BASE_DIR / '.env')
|
||||
SECRET_KEY = env('SECRET_KEY')
|
||||
ALLOWED_HOSTS = env.list('ALLOWED_HOSTS', default=[])
|
||||
|
||||
# Ключ для шифрования секретных полей в БД (EncryptedCharField: пароли/токены
|
||||
# коннекторов, access-токены Mattermost). Задавайте ОТДЕЛЬНО от SECRET_KEY —
|
||||
# тогда утечка SECRET_KEY не раскрывает секреты at-rest. При отсутствии
|
||||
# core.utils.crypto делает fallback на SECRET_KEY (см. предупреждение ниже).
|
||||
FIELD_ENCRYPTION_KEY = env('FIELD_ENCRYPTION_KEY', default=env('SECRET_KEY'))
|
||||
|
||||
# Базовый URL портала — используется для абсолютных ссылок в уведомлениях
|
||||
# (например, Mattermost-бот шлёт ссылку на задачу)
|
||||
PORTAL_BASE_URL = env('PORTAL_BASE_URL', default='http://localhost:8000')
|
||||
|
||||
Reference in New Issue
Block a user