Описание и основные возможности API
API Пассворка предоставляет программный интерфейс для взаимодействия с Пассворком. API позволяет автоматизировать операции с записями, хранилищами, пользователями и другими объектами системы, обеспечивая полный программный контроль над всеми аспектами работы с Пассворком.
Наше API предоставляет следующие возможности:
- Управление записями: создание, получение, обновление, удаление записей;
- Управление хранилищами (Vaults): создание новых хранилищ, управление доступом;
- Управление папками: создание структуры папок внутри хранилищ;
- Управление пользователями: создание пользователей, настройка прав доступа;
- Управление группами пользователей: объединение пользователей в группы для упрощения управления доступом;
- Общий доступ к записям: предоставление другим пользователям доступа к записям через механизм Inbox;
- Создание публичных ссылок: временный доступ к записям через ссылки;
- Поддержка вложений: работа с файлами, прикрепленными к записям;
- Поиск и фильтрация: поиск записей по различным критериям;
- Управление ярлыками: создание ссылок на записи в других хранилищах;
- Работа с корзиной: восстановление удаленных объектов;
- Журналирование активности: получение информации о действиях пользователей.
Подробное описание всех доступных API-эндпоинтов — в интерактивном просмотрщике схемы API: операции, параметры, схемы запросов и ответов, сравнение версий и примеры для cURL, Python и passwork-cli.
Клиентское шифрование
Одной из ключевых особенностей API Пассворка является поддержка клиентского шифрования. При использовании клиентского шифрования все критически важные данные (пароли, конфиденциальные поля, вложения) шифруются на стороне клиента перед отправкой на сервер.
Принцип работы криптографии
- Мастер-пароль: Для шифрования используется мастер-пароль, который знает только пользователь. Мастер-пароль никогда не передается на сервер;
- Мастер-ключ: На основе мастер-пароля с использованием PBKDF2 (Password-Based Key Derivation Function 2) генерируется мастер-ключ;
- Хеш мастер-ключа: Рассчитывается хеш мастер-ключа с использованием SHA-256. Этот хеш передается на сервер для подтверждения подлинности клиента;
- Ключи сейфов: Для каждого хранилища генерируется уникальный ключ, который используется для шифрования записей и других данных в этом хранилище;
- Асимметричное шифрование: Для обмена ключами между пользователями используется асимметричное шифрование (RSA). У каждого пользователя есть пара ключей - публичный и приватный;
- Шифрование данных: Для шифрования значения пароля и других конфиденциальных данных используется симметричное шифрование AES в режиме CBC с PKCS7-паддингом.