Skip to content

Commit be9d5e6

Browse files
author
Nikita Velgin
committed
add rotate credentials description
1 parent 14f91bc commit be9d5e6

5 files changed

Lines changed: 67 additions & 2 deletions

File tree

content/documentation/admin/security/credentials.ru.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ weight: 30
4444
Зашифрованные значения сохраняются в базе данных с префиксом `GCM:`, что позволяет системе определить метод шифрования при расшифровке.
4545

4646
{{< alert level="warning" >}}
47-
При изменении ключа шифрования (`security.secretKey`) в конфигурации все текущие учётные данные станут невалидными и не смогут быть расшифрованы.
47+
При изменении ключа шифрования (`security.secretKey`) в конфигурации без предварительного перешифрования все текущие учётные данные станут недоступны. Используйте [ротацию ключа шифрования](../encryption-key-rotation/) в веб-интерфейсе.
4848
{{< /alert >}}
4949

5050
### Хранение в HashiCorp Vault
@@ -80,7 +80,7 @@ weight: 30
8080
- Поддерживается только KV Secrets Engine v2. Путь в настройках должен включать `/data/` (например, `mount/data/подкаталог`).
8181
- Одна конфигурация Vault на инстанс DDP: один URL, одна AppRole, один базовый путь. Все типы учётных данных с хранилищем Vault используют этот путь (подкаталоги формируются автоматически по UUID типа).
8282
- Очистить все сохранённые значения типа из текущего хранилища (база данных или Vault) в любой момент можно через действие «Очистить хранилище» в таблице типов учётных данных.
83-
- Смена ключа шифрования DDP (`security.secretKey`) делает нечитаемыми и учётные данные в Vault, так как значения в Vault хранятся в зашифрованном виде.
83+
- Смена ключа шифрования DDP (`security.secretKey`) без предварительного перешифрования делает нечитаемыми и учётные данные в Vault, так как значения в Vault хранятся в зашифрованном виде. Используйте [ротацию ключа шифрования](../encryption-key-rotation/).
8484

8585
### Использование учётных данных
8686

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
title: Ротация ключа шифрования
3+
weight: 35
4+
---
5+
6+
DDP позволяет безопасно сменить ключ шифрования (`security.secretKey`) без потери учётных данных и других зашифрованных значений. Операция выполняется из веб-интерфейса и перешифровывает все данные, которые хранятся с использованием текущего ключа.
7+
8+
## Когда использовать
9+
10+
Ротацию ключа шифрования выполняйте, если необходимо заменить `security.secretKey` в конфигурации DDP Backend — например, по политике безопасности или после компрометации ключа.
11+
12+
{{< alert level="warning" >}}
13+
Не меняйте `security.secretKey` в конфигурации и не перезапускайте backend до завершения перешифрования в веб-интерфейсе. Иначе сохранённые значения станут недоступны.
14+
{{< /alert >}}
15+
16+
## Права доступа
17+
18+
Для запуска ротации требуется глобальное разрешение `rotate:encryption-key`.
19+
20+
## Что перешифровывается
21+
22+
Операция затрагивает следующие категории данных:
23+
24+
- «Учётные данные пользователей» — значения в PostgreSQL для типов с хранилищем «База данных».
25+
- «Учётные данные AI-провайдеров» — персональные реквизиты для AI-интеграций.
26+
- «Временные ответы действий» — зашифрованные временные ответы в записях выполнения действий.
27+
- «Секреты Vault» — значения учётных данных, хранящихся в HashiCorp Vault или Deckhouse Stronghold.
28+
- «Конфигурация Vault» — AppRole Role ID и AppRole Secret ID в настройках интеграции с Vault.
29+
30+
## Порядок выполнения
31+
32+
1. Перейдите в раздел «Администрирование» → «Учётные данные».
33+
1. Нажмите «Ротация ключа шифрования».
34+
1. В поле «Старый ключ шифрования» введите текущий ключ из конфигурации DDP (`security.secretKey`).
35+
1. В поле «Новый ключ шифрования» введите новый ключ. Требования к ключу те же, что при первоначальной настройке: длина 16, 24 или 32 байта; только печатаемые ASCII-символы; ключ не должен состоять из одного повторяющегося символа.
36+
1. Нажмите «Перешифровать».
37+
1. Дождитесь завершения операции и проверьте таблицу результатов: для каждой категории отображаются количество успешно перешифрованных, пропущенных и неуспешных записей.
38+
1. Обновите `security.secretKey` в конфигурации DDP Backend на новый ключ.
39+
1. Перезапустите DDP Backend.
40+
41+
{{< alert level="info" >}}
42+
После перешифрования учётные данные остаются недоступны для использования, пока в конфигурации backend не указан новый ключ и сервис не перезапущен.
43+
{{< /alert >}}
44+
45+
## Результаты операции
46+
47+
В таблице результатов для каждой категории данных указываются три счётчика:
48+
49+
- «Успешно» — записи перешифрованы новым ключом.
50+
- «Пропущено» — запись уже доступна с новым ключом (например, была перешифрована ранее).
51+
- «Неуспешно» — запись не удалось перешифровать (чаще всего из-за неверного старого ключа или повреждённых данных).
52+
53+
Строка «Итого» содержит суммарные значения по всем категориям.
54+
55+
Если в столбце «Неуспешно» есть ненулевые значения, не обновляйте конфигурацию backend до устранения причины ошибок. Проверьте корректность старого ключа и повторите операцию.

content/documentation/admin/security/overview.ru.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ DDP обеспечивает централизованное и безопас
3232
Перед сохранением в базе данных учетные данные шифруются с применением алгоритма AES-GCM. Расшифровка выполняется DDP Backend только в момент использования учетных данных в действиях, источниках данных или виджетах.
3333
Подробнее — [в документации по учетным данным](../credentials/).
3434

35+
## Ротация ключа шифрования
36+
37+
При смене ключа шифрования (`security.secretKey`) DDP позволяет перешифровать все связанные данные из веб-интерфейса, не теряя учётные данные пользователей, секреты Vault и другие зашифрованные значения. Операция доступна пользователям с разрешением `rotate:encryption-key`.
38+
Подробнее — [в документации по ротации ключа шифрования](../encryption-key-rotation/).
39+
3540
## Доверенные сертификаты
3641

3742
DDP позволяет добавлять в хранилище корневые и промежуточные сертификаты (CA) или сертификаты серверов. Они используются при проверке TLS в исходящих HTTPS-запросах к внешним сервисам (в действиях, виджетах, источниках данных и др.).

content/documentation/admin/security/rbac.ru.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ weight: 20
116116

117117
Типы учётных данных:
118118
- `edit:user-access-credentials-types` — создание, редактирование и удаление типов учётных данных; настройка интеграции с Vault (просмотр и изменение конфигурации, проверка подключения).
119+
- `rotate:encryption-key` — ротация ключа шифрования. Подробнее — [в документации по ротации ключа шифрования](../encryption-key-rotation/).
119120

120121
Пользователи:
121122
- `edit:users` — создание, блокировка, разблокировка и удаление пользователей.

content/documentation/release-notes/v1.6.0.ru.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ description: Заметки о выпуске v1.6.0 — выгрузка ауд
1515
- Добавлена имперсонация пользователей. Подробнее — в разделе [«Имперсонация»](../../admin/security/impersonation/).
1616
- Добавлена возможность создания [«сервисных пользователей»](../../user/teams-users/#сервисные-пользователи).
1717

18+
### Безопасность
19+
20+
- Добавлен механизм ротации ключа шифрования для безопасной смены `security.secretKey` без потери учётных данных. Подробнее — в разделе [«Ротация ключа шифрования»](../../admin/security/encryption-key-rotation/).
21+
1822
### Аудит-логи
1923

2024
Добавлена выгрузка аудит-логов в CSV. Подробнее — в разделе [«Аудит-логи»](../../admin/security/audit-logs/#выгрузка-в-csv).

0 commit comments

Comments
 (0)