Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions content/documentation/release-notes/v1.2.0.ru.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: v1.2.0
weight: 970
---

## Новые возможности

### Хранение учётных данных в Vault

Добавлена возможность выбора Vault в качестве места хранения учётных данных пользователей. При создании или редактировании типа учётных данных можно указать место хранения: база данных (по умолчанию) или Vault.

**Настройка Vault:**

Перед использованием Vault необходимо настроить подключение в разделе администрирования:

- URL сервера Vault
- Role ID и Secret ID для аутентификации через AppRole
- Base Path и Mount Path для KV2 хранилища (по умолчанию: `ddp` и `secret`)

После настройки и включения Vault опция выбора Vault становится доступной при создании типов учётных данных. При отключении Vault все типы учётных данных автоматически переключаются на хранение в базе данных.
62 changes: 58 additions & 4 deletions content/documentation/user/credentials.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,72 @@ moduleStatus: experimental
### Обязательные поля

- **Название**
- **Идентификатор**
- **Идентификатор**
- **Backend для хранения** (если доступен больше чем 1)

Поле **"Описание"** является опциональным. Его содержимое будет выводиться в профиле пользователя в качестве подсказки к конкретному типу учетных данных.
Поле **"Описание"** является опциональным. Его содержимое будет выводиться в профиле пользователя в качестве подсказки к конкретному типу учетных данных.

### Backend для хранения

При создании или редактировании типа учетных данных можно выбрать место хранения. В данный момент доступно:

- **База данных** (по умолчанию) — учетные данные хранятся в базе данных платформы
- **Vault** — учетные данные хранятся в HashiCorp Vault

Опция выбора Vault доступна только после настройки и включения Vault.

## Хранение учетных данных в Vault

Платформа поддерживает использование HashiCorp Vault в качестве хранилища для учетных данных пользователей. Это обеспечивает дополнительный уровень безопасности.

### Настройка Vault

Перед использованием Vault необходимо настроить подключение в разделе **`Администрирование / Учетные данные`** (кнопка "Настройки Vault"):

- **URL** — адрес сервера Vault
- **Role ID** — идентификатор роли для аутентификации через AppRole
- **Secret ID** — секретный идентификатор для аутентификации через AppRole
- **Base Path** — базовый путь в KV2 хранилище (по умолчанию: `ddp`)
- **Mount Path** — путь монтирования KV2 хранилища (по умолчанию: `secret`)

Доступна функция тестирования подключения без сохранения настроек.

`Role ID` и `Secret ID` шифруются перед сохранением в базе данных платформы.

{{< alert level="warning" >}}
При отключении Vault все типы учетных данных, использующие Vault, автоматически переключаются на хранение в базе данных.
{{< /alert >}}

### Структура хранения в Vault

Учетные данные хранятся в Vault KV2 (Key-Value версии 2) по следующему пути:

```text
{mountPath}/data/{basePath}/users/{user_uuid}/credentials/{credential_uuid}
```

Где:

- `mountPath` — путь монтирования KV2 хранилища (по умолчанию `secret`)
- `basePath` — базовый путь (по умолчанию `ddp`)
- `user_uuid` — UUID пользователя
- `credential_uuid` — UUID типа учетных данных

Каждая запись хранится как отдельный секрет в Vault.

## Учетные данные пользователя

Для каждого типа учетных данных пользователь может указать свои персональные реквизиты в разделе **`Профиль / Учетные данные`**.

Например, если администратор создал тип учетных данных **"Kubernetes token"**, то пользователь в своем профиле сможет добавить персональный токен для доступа в Kubernetes.

Все учетные данные шифруются перед сохранением в базе данных и расшифровываются непосредственно при запросе к конкретной инфраструктурной системе.
Ключ для шифрования задаётся в конфигурации DDP в поле **`security.secretKey`**.
### Шифрование учетных данных

Все учетные данные шифруются перед сохранением (в базе данных или Vault) и расшифровываются непосредственно при запросе к конкретной инфраструктурной системе.

Шифрование происходит с использованием алгоритма **AES-GCM** (Advanced Encryption Standard в режиме Galois/Counter Mode). Ключ для шифрования задаётся в конфигурации DDP в поле **`security.secretKey`**.

Место хранения (база данных или Vault) определяется администратором при создании типа учетных данных.

{{< alert level="warning" >}}
При изменении ключа шифрования в конфигурации все текущие учетные данные станут невалидными.
Expand Down